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
[20163] Re:[질문]Raw파일을 BMP파일로 변환해서 이미지에 출력할려고 하는데.... 잘 안돼여...
Good Day [kmask] 2892 읽음    2002-07-16 11:42
열심이 님이 쓰신 글 :
: Raw파일을 읽어들여서 이미지에 출력할려고 하는데.. 잘 안돼네여..
: 문제는 Header파일을 만들면서 문제가 되는것 같은데..
: 델파이 같은 경우는 컴파일 옵션을 바꿔주면 되던데..
: Header파일의 크기가 54로 나와야 하는데.... 자꾸 56으로 나오네요.
: 컴파일 옵션을 바꾸면 에러가 뜨고..
: 어제 한숨도 못자고 고생했는데... 아직도 헤메고 있답니다.
: 암튼 여러 고수님들의 시원한 답변 부탁드립니다.
:
: 감사합니다.
:

몇가지 방법이 있는데 약간씩 다름니다.
일단 Api 함수를 쓰는 방법
BITMAPINFO OutInfo;
ZeroMemory(&OutInfo, sizeof(BITMAPINFO));
OutInfo.bmiHeader.biSize        = sizeof(BITMAPINFOHEADER);
OutInfo.bmiHeader.biWidth        = SIZE_X;
OutInfo.bmiHeader.biHeight        = SIZE_Y;
OutInfo.bmiHeader.biPlanes        = 1;
OutInfo.bmiHeader.biBitCount    = 24;
OutInfo.bmiHeader.biCompression    = 0;
OutInfo.bmiHeader.biSizeImage        = SIZE_X * SIZE_Y * 3;
OutInfo.bmiHeader.biXPelsPerMeter    = 0;
OutInfo.bmiHeader.biYPelsPerMeter    = 0;
OutInfo.bmiHeader.biClrUsed            = 0;
OutInfo.bmiHeader.biClrImportant    = 0;

SetDIBitsToDevice(bmp->Canvas->Handle,0,0,SIZE_X,SIZE_Y,0,0,0,SIZE_Y,RGB_BUFFER,
                     &OutInfo,DIB_RGB_COLORS);
이미지 크기를 확대 해야한다면
Stretch함수가 있네요...
Stretch 함수는 속도가 무지 느린 단점이 있음.
DrawDibDraw 함수를 쓰는것도 괜찮음.(VFW 함수)

비트맵 파일을 가지고 있다면 Image Control을 사용하는 것도 괜찮음
무지 간단하고 쉬움
이미지 하나 올려 놓고 AutoSize을 설정
image->LoadFromFile(정확한 함수 이름이 잘생각아남)을 이용하면 무지 간단함.
이미지 컨트롤 사용시 주의점은 이미지가 교체되면 항상 image->refresh를 호출해주어야함.
그럼 즐프하세요....
나도 C++Builder 6 Enterprise쓰고 싶당.........


+ -

관련 글 리스트
20153 [질문]Raw파일을 BMP파일로 변환해서 이미지에 출력할려고 하는데.... 잘 안돼여... 열심이 1305 2002/07/16
20163     Re:[질문]Raw파일을 BMP파일로 변환해서 이미지에 출력할려고 하는데.... 잘 안돼여... Good Day 2892 2002/07/16
20154     Re:[질문]Raw파일을 BMP파일로 변환해서 이미지에 출력할려고 하는데.... 잘 안돼여... 유영인.Chris 1436 2002/07/16
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.