|
BMPImg->PixelFormat = pf24bit
은 단순한 대입문이 아니라 Property를 변경하는 겁니다.
내부에서 무슨일을 할 진 며느리도 모르죠! ^^
Graphics.PAS를 대~충 보니 PixelFormat에 값을 대입하면 SetPixelFormat()가 호출되며,
SetPixelFormat() -> CopyImage() -> GetDIBits(), SetDIBColorTable(), BitBlt(), ...
등의 처리를 하는 것을 보니
실제 Bitmap을 해당 Format으로 변환 하는 것으로 보입니다.
참고로 Bitmap의 Width, Height등을 변경하면 CopyImage()이 호출됩니다.
별 도움이 안되는 답변이라 미안합니다. --;
- heredity -
ilys4 님이 쓰신 글 :
: 진짜 그것만으로 되나요?
: 안에 데이타는 안바뀔꺼 같은데....
: 8비트는 인덱스 방식 아닌가요? 24비트로 바꿀려면 팔레트 찾아서 일일이 바꿔주면 될것 같은데,
: 진짜 그냥 BMPImg->PixelFormat = pf24bit;
: 이것 만으로 데이타를 바꿔주는지....
:
: 정재훈 님이 쓰신 글 :
: : mossmin 님이 쓰신 글 :
: : : [질문]8bit BMP파일을 24Bit BMP파일로 변환하는 방법을 알려주세요~
: : : 참고 자료 라도 알려 주시면 감사하겠습니다.
: :
: : 단순히 저장되는 포맷을 바꾸는 걸 원하시는 건가요?
: : 아니면 영상 정보가 보간을 통해서 24bit 칼라가 되기를 원하시는 건가요?
: :
: : 단지 저장포맷만 바꾸시길 원하시면 간단하게
: :
: : BMPImg->PixelFormat = pf24bit;
: :
: : 지정하시고 저장하시면 됩니다.
|