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
[1046] [답변] XGEN/ RAW 파일 display하기 어렵네요.../프포
xgen [ ] 4165 읽음    1999-02-02 18:55
forums.inprise.com 이 참 좋더군요... 심심해서 거기에 있는 글을 좀 읽었더니 8분만에 대답해 주시는 분도 있고요... 굉장한 사람들이 모여있더군요... 재밌는 곳이었음. 그중에 borland.public.cppbuilder.graphics 라는 보드가 있는데요... Chris Hill (Chris244@aol.com) 분이 대답해 주셨음니다.

#define ImgWidth  256                   //이미지의 크기 정하기
#define ImgHeight 256


//결국 중요한 것은 bitmap header부분을 만들어 넣어주는 것이다. 이건
//bitmap 포맷을 참조해야 한다.
void __fastcall TForm1::Button1Click(TObject *Sender)
{
    LPBITMAPINFO bitinfo;
    unsigned char image[ImgHeight][ImgWidth];
    FILE *fp;

    fp = fopen("hands.raw", "rb");
    if( fp == NULL ) return;

    bitinfo = (LPBITMAPINFO)new char[sizeof(BITMAPINFO) +
                                     255*sizeof(RGBQUAD)];
    bitinfo->bmiHeader.biSize = sizeof(BITMAPINFOHEADER);
    bitinfo->bmiHeader.biWidth = ImgWidth;
    bitinfo->bmiHeader.biHeight = ImgHeight;
    bitinfo->bmiHeader.biPlanes = 1;
    bitinfo->bmiHeader.biBitCount = 8;                 
    bitinfo->bmiHeader.biCompression = BI_RGB;
    bitinfo->bmiHeader.biSizeImage = 0;
    bitinfo->bmiHeader.biXPelsPerMeter = 0;
    bitinfo->bmiHeader.biYPelsPerMeter = 0;
    bitinfo->bmiHeader.biClrUsed = 256;
    bitinfo->bmiHeader.biClrImportant = 256;

    // gray palette를 만든다. 256 color 와 16, 24, 32 bit color일때
    // 당연히 다르다.
    for(int i = 0; i < 256; i++)
    {
      bitinfo->bmiColors[i].rgbRed = char(i);
      bitinfo->bmiColors[i].rgbBlue = char(i);
      bitinfo->bmiColors[i].rgbGreen = char(i);
      bitinfo->bmiColors[i].rgbReserved = 0;
    }

    for( int i=0; i<ImgHeight; i++)
    {
        fread( image[i], 1, ImgWidth, fp );
    }

    ::SetDIBitsToDevice( Canvas->Handle,0,0,ImgWidth,ImgHeight,0,0,
                         0,ImgHeight,image,bitinfo,
                         DIB_RGB_COLORS);

    fclose( fp );
    delete[] bitinfo;
}

정말 될듯될듯 하면서 안되니까 속터지더군요...
참고로 forums.inprise.com은 news group입니다.


+ -

관련 글 리스트
1043 [질문] RAW 파일 display하기 어렵네요.../프포 xgen 4586 1999/02/01
1046     [답변] XGEN/ RAW 파일 display하기 어렵네요.../프포 xgen 4165 1999/02/02
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.