C++Builder Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
C++빌더 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
메신저 프로젝트
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

C++빌더 Q&A
C++Builder Programming Q&A
[56036] Re:Re:TImage에 이미지 뿌리는 문제 해결 좀 해주세요
김정현 [] 1304 읽음    2009-02-06 14:37
답변 감사합니다.

8비트 4채널 이미지(즉 32비트)는 출력이 잘되네요.
그렇다면 가지고 있는 이미지가 24비트 버퍼라면
무조건 32비트 버퍼로 옮겨서 bmiHeader.biBitCount = 32 로 하여
StretchDIBits() 함수를 수행해야하는건가요?
아니면 24비트 버퍼 이미지를 정상적으로 뿌려주는 다른 방법은 없는건가요?

다시 한번 답변 부탁 드립니다.
감사합니다.




크레브 님이 쓰신 글 :
: 직접 해보지는 않았지만...
: 이미지 프로세싱에서 윈도우즈 OS가 32 bit 이기 때문에
: 버퍼의 가로 크기를 4바이트 단위로 잡아야 하는게 아닌가 합니다.
: 예를들어 이미지 버퍼의 크기가 10 * 6 (pixels) 라면
: 그대로 버퍼를 할당하지 말구  4의 배수인 12 * 6 (pixels) 로
: 할당해서 사용하면 괜찮을것 같습니다.
:
:
: 김정현 님이 쓰신 글 :
: : TImage에 buffer에 있는 이미지 데이터를 뿌려주려고 합니다.
: :
: : 그런데 이상한 점은 buffer의 width가 4의 배수인 경우에만 정상 출력되고
: : 아닌 경우에는 틀어져서 나옵니다.
: :
: : 이유를 모르겠네요. 꼭 좀 가르쳐주세요.
: :
: :
: : m_bmiHeader.biSize = sizeof(BITMAPINFOHEADER);
: : m_bmiHeader.biWidth = image_width;
: : m_bmiHeader.biHeight = image_height;
: : m_bmiHeader.biPlanes = 1;
: : m_bmiHeader.biBitCount = 24;
: : m_bmiHeader.biCompression = BI_RGB;
: : m_bmiHeader.biSizeImage = width * height * 3;
: : m_bmiHeader.biXPelsPerMeter = 0;
: : m_bmiHeader.biYPelsPerMeter = 0;
: : m_bmiHeader.biClrUsed = 0;
: : m_bmiHeader.biClrImportant = 0;
: :
: : Image->Width = image_width;
: : Image->Height = image_height;
: : Image->Picture->Bitmap->Width =  image_width;
: : Image->Picture->Bitmap->Height =  image_height;
: :
: : SetStretchBltMode(Image->Handle, COLORONCOLOR);
: : int nRtn = StretchDIBits( Image->Canvas->Handle,
: :              0, 0, Image->Width, Image->Height,
: :              0, 0, image_width, image_height,
: :              image_buffer, (LPBITMAPINFO)&m_bmiHeader,
: :              DIB_RGB_COLORS, SRCCOPY);

+ -

관련 글 리스트
56016 TImage에 이미지 뿌리는 문제 해결 좀 해주세요 김정현 1393 2009/02/05
56026     Re:TImage에 이미지 뿌리는 문제 해결 좀 해주세요 크레브 1306 2009/02/06
56036         Re:Re:TImage에 이미지 뿌리는 문제 해결 좀 해주세요 김정현 1304 2009/02/06
56042             Re:Re:Re:TImage에 이미지 뿌리는 문제 해결 좀 해주세요 크레브 1502 2009/02/06
56079                 Re:Re:Re:Re:TImage에 이미지 뿌리는 문제 해결 좀 해주세요 김정현 1873 2009/02/09
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.