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
[56026] Re:TImage에 이미지 뿌리는 문제 해결 좀 해주세요
크레브 [kkol] 1306 읽음    2009-02-06 08:26
직접 해보지는 않았지만...
이미지 프로세싱에서 윈도우즈 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에 이미지 뿌리는 문제 해결 좀 해주세요 김정현 1305 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.