|
jpg 포멧의 파일을 읽으면 메모리에 jpg 포멧 상태로 있게 됩니다. 그러므로
ScanLine을 통해 내용을 직접 읽을수 없게 됩니다.
당연히 Picture->Bitmap 클래스에 있는 정보는 Bitmap 을 로딩한 경우에 한정되므로
여기 값들은 jpg 파일의 상태를 나타내지 않습니다.
제가 이 부분을 작업해본지 몇 해지나 기억이 가물거리는데
jpg 파일의 정보값은 따로 추출가능하고
크기는 아마도 Picture->Width 등 에서 쉽게 얻는 방법이 있습니다. 한번 찾아 보세용.
ScanLine을 쓰려면 TBitmap *bmp를 선언하고 초기화한뒤
bmp->Assign(jpg); 를 대입하면
bitmap 포멧으로 바뀐 사본이 생기므로 이를 엑세스하면 됩니다.
그럼..
DoyongID 님이 쓰신 글 :
: TPicture *lpPicture = new TPicture();
:
: lpPicture->LoadFromFile("a.jpg");
:
: ShowMessage(lpPicture->Bitmap->Width);
:
: 이렇게 했는데, 0이 나오더군요..
:
: BMP파일을 불러올 때는 사이즈가 제대로 나오는데 왜 그런가요?
:
: 제가 ScanLine변수에서 직접 이미지 데이타를 받아서 편집을 해야할 일이 있는데, JPG같은 경우 ScanLine에 아예 들어가 있지도 않더군요..
:
: JPG로 불러오면 이미지 정보가 어디에 저장되는 건가요?
:
: 답변 부탁드립니다..
|