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
[65664] Re:bmp RAW데이터를 화면에 표출해줄려고 하는데 잘 안되네요 도와주세요
왕초보와빌더 [phinix] 1217 읽음    2011-12-12 07:55
테스트에 사용한 bmp파일 (raw니까 헤더가 없는 거겠죠?)

과 bmp파일의 형식 - 컬러깊이 또는 흑백깊이 (256단계등) 와 가로세로 크기 등의

정보를 올려주셔야 답변이 가능할겁니다.


암흑사제 님이 쓰신 글 :
: RAW 데이터를 읽어와서
: 화면에 표출해줄려고 하는데
: 영상이 이상하게 나타나고 있습니다.
: 도와주세요
: //---------------------------------------------------------------------------
:
: #include <vcl.h>
: #pragma hdrstop
:
: #include "frmMainFTP.h"
: //---------------------------------------------------------------------------
: #pragma package(smart_init)
: #pragma resource "*.dfm"
: TForm1 *Form1;
: //---------------------------------------------------------------------------
: __fastcall TForm1::TForm1(TComponent* Owner)
:     : TForm(Owner)
: {
: }
: //---------------------------------------------------------------------------
: void __fastcall TForm1::FormCreate(TObject *Sender)
: {
: //   
: }
: //---------------------------------------------------------------------------
: void __fastcall TForm1::FormShow(TObject *Sender)
: {
: //
: }
: //---------------------------------------------------------------------------
: void __fastcall TForm1::Button1Click(TObject *Sender)
: {
:     AnsiString              szFileNamePath;
:     BITMAPFILEHEADER        bmfh;
:     BITMAPINFOHEADER        bmih;
:     int                     nBitmapHeaderSize;
:     long                     nLength = 0;
:     long                    nWidth      = 1624;
:     long                    nHeight     = 1232;
:     PBYTE                   pRawImageTemp = NULL;
:     int   nFileHandle, nFileCreHandle;
:
:     long  lBytesRead;
:     long  lDataSize;
:
:
:
:     if(OpenDialog1->Execute())
:     {
:         szFileNamePath = OpenDialog1->FileName;
:
:         TMemoryStream   *m_pBitmapStream = new TMemoryStream();
:
:         nBitmapHeaderSize = sizeof(BITMAPFILEHEADER) + sizeof(BITMAPINFOHEADER);
:         nLength = (long)nWidth * (long)nHeight;
:
:         pRawImageTemp = new BYTE[nWidth * nHeight];
:
:         if( (nFileHandle = FileOpen(szFileNamePath, fmOpenRead)) != -1)
:         {
:             lBytesRead = FileRead(nFileHandle, pRawImageTemp, nLength);
:             if (nLength == lBytesRead)
:             {
:                 bmih.biSize=sizeof(BITMAPINFOHEADER);
:                 bmih.biWidth                =(unsigned long)nWidth;
:                 bmih.biHeight               =(unsigned long)nHeight;
:                 bmih.biPlanes               =(UINT)1;
:                 bmih.biBitCount             = (UINT)8;
:                 bmih.biCompression          = (UINT)BI_RGB;
:                 bmih.biSizeImage            =(long)nLength;
:                 bmih.biXPelsPerMeter        =0;
:                 bmih.biYPelsPerMeter        =0;
:                 bmih.biClrUsed              =0;
:                 bmih.biClrImportant         =0;
:
:                 bmfh.bfType =  0x4d42;    // 'BM'
:                 bmfh.bfSize = nBitmapHeaderSize + nLength;
:                 bmfh.bfReserved1 = 0;
:                 bmfh.bfReserved2 = 0;
:                 bmfh.bfOffBits = nBitmapHeaderSize;
:
:
:                 m_pBitmapStream->Position = 0L;
:                 m_pBitmapStream->WriteBuffer(&bmfh, sizeof(BITMAPFILEHEADER));
:                 m_pBitmapStream->WriteBuffer(&bmih, sizeof(BITMAPINFOHEADER));
:                 m_pBitmapStream->WriteBuffer(pRawImageTemp, nLength);
:
:                 m_pBitmapStream->Position = 0L;
:                 Image1->Picture->Bitmap->LoadFromStream(m_pBitmapStream);
:             }
:         }
:        
:         delete m_pBitmapStream;
:         delete pRawImageTemp;
:     }
:
: }
: //---------------------------------------------------------------------------

+ -

관련 글 리스트
65656 bmp RAW데이터를 화면에 표출해줄려고 하는데 잘 안되네요 도와주세요 암흑사제 1371 2011/12/08
65664     Re:bmp RAW데이터를 화면에 표출해줄려고 하는데 잘 안되네요 도와주세요 왕초보와빌더 1217 2011/12/12
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.