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
[39369] Re:비트맵 출력(버퍼에 저장한 데이터)
[] 1583 읽음    2005-03-04 16:52
@ㅏ^ㅏ달 님이 쓰신 글 :
: pImageBuffer는 비트맵 데이터가 들어 있는 곳입니다. RAW데이터만 있습니다.
: if(pImageBuffer) {
:                 //TMemoryStream *pMyStream = new TMemoryStream();
:                 //pMyStream->WriteBuffer(pImageBuffer, sizeof(pImageBuffer));
:                 //Graphics::TBitmap *Bitmap1 = new Graphics::TBitmap();
:                 //Bitmap1->LoadFromStream(pMyStream);
:                 ::SetDIBitsToDevice(this->Image1->Canvas->Handle, 300, 400, WIDTH, HEIGHT,
:                 0, 0, 0, HEIGHT, pImageBuffer,  &BmInfo, DIB_RGB_COLORS);
: }
:
: 이걸 하면 하얗게 나오네요.
: 첨엔 메모리 스트림을 이용해서 해볼려고 했는데 잘 안되서 바꿨습니다.
: 어떤 방법이라도 출력만 가능하면 됩니다. 난감합니다. 부탁합니다....ㅠㅠ

주어진 정보로는 원인을 알 수 없으나 주의할 점을 말씀드리겠습니다.
1. 비트맵의 BitCount가 8인 경우 BITMAPINFO의 bmiColors에 팔레트 정보를 제공해야 합니다.
2. 비트맵의 각 스캔라인은 32bit 경계를 유지해야 합니다.
  즉, biSizeImage = ((((biWidth * biBitCount) + 31) & ~31) >> 3) * biHeight;의 관계가 성립해야 합니다.

http://support.microsoft.com/default.aspx?scid=kb;en-us;81498

+ -

관련 글 리스트
39359 비트맵 출력(버퍼에 저장한 데이터) @ㅏ^ㅏ달 1730 2005/03/04
39369     Re:비트맵 출력(버퍼에 저장한 데이터) 1583 2005/03/04
39379         Re:Re:비트맵 출력(버퍼에 저장한 데이터) @ㅏ^ㅏ달 1215 2005/03/04
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.