이것은 불가능할 수도 있고 오히려 인기가 없을 수도 있지만 이미지 용 데이터 파일을 만드는 방법이 궁금 해서요. 총 200MB의 이미지 파일이 있다고 가정 해 봅시다. 단일 파일에 저장할 수있는 시스템이 있습니까? 150MB의 전체 크기로 압축 할 수 있습니까? (단지 예제 번호, 비율은 중요하지 않음).압축이 가능한 저장 가능 이미지 라이브러리?
이미지를 Base64
으로 인코딩 한 다음 SQLite
데이터베이스에 저장할 수 있다는 것을 알고 있지만 인코딩 된 형식으로 이미지를 저장하면 원본 이미지 파일 자체보다 약간 큰 크기가됩니다.
나는 또한 ZIP
파일을 생각하고 있었지만 그 파일을 '라이브러리'로 사용할 수 있는지 확실하지 않았습니다.
이와 같은 것이 미리 정의 된 클래스로 존재하지 않으면 누군가 나를 올바른 방향으로 인도 할 수 있습니까? 나는 이것이 가능 희망
class ImageLibrary {
//this is where the code would go for the library?
}
class MyProgram{
public MyProgram()
{
ImageLibrary library = new ImageLibrary();
library.Add(<Image object here, with an ID of sorts>);
library.Add(<Another image object here, also with an ID>);
Load += new FormLoadEventHandler(MyProgram_Load);
}
void MyProgram_Load(object sender, EventArgs e)
{
PictureBox.Image = library.Get(<image id here>);
}
}
:
이
내가 종류의 무엇을 찾고 있어요의 실물 크기의 모형이다. 그렇지 않으면, 나는 약간 더 큰 파일 크기와 함께Base64
을 인코딩 할 것입니다. 그러나, 내가 지금 저장하고 싶은 약 500 개의 이미지가 있기 때문에 절약 된 kB는 벌린 KB입니다. :) 또한, 제 코드 예제의 품질을 판단하지 마십시오. 단지 모의예요. 나는 그것을 커프에서 썼습니다.
환호, 그리고 고맙습니다. 이 문서 밖으로
base64는 약 1.33 배가되지만 SQLite는 BLOB를 지원하므로 인코딩이 필요하지 않습니다. – Thomas
@ 토마스 알아두면 좋을지 모르겠다. 그래서, 적어도 그것이 이미지와 같은 크기가 될 것이고, 데이터베이스에 저장된 추가 세부 사항 때문에 각 이미지에 약 kb를 더한 것입니다. 저장되기 전에 이러한 이미지를 압축 할 수있는 방법이 있습니까? –
@Spiritfire : 일반적으로 최적화 된 jpg/png 등을 압축하면 크기가 줄어들지 않습니다 (때로는 증가합니다!). 저장하기 전에 최적화되어 있는지 확인하십시오. –