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
[24586] Re:[질문] Bitmap File Access... 관하여~
유영인.Chris [cuperido] 969 읽음    2003-03-04 13:22
제가 아는 범위내에서만 말씀드리면요..

우선, BMP 파일 컬러를 뽑아내실 때, 가장 손쉬운 방법은 Image로 로딩 하신 다음에 Canvas의 Pixels 프로퍼티를 이용하거나, Scanline등을 이용해서 컬러를 읽어내는 방식입니다. 이렇게 하면 간편하게 뽑아올 수 있습니다.

만약, 바이너리 BMP 파일을 직접 읽어오고 싶으시다면, BMP 파일을 분석해서 읽어오는 방법도 있습니다. 물론, 헤더 파일 정보와 기타 등등을 읽어오면 더 효율적이 겠지만, 실질적으로 BMP 파일의 형식은 그리 어렵지 않기 때문에, HEX 에디터로 BMP 파일을 열어서, 위치만 정확히 알아둔다음 읽어온다면 그리 어렵지 않게 구현하실 수 있습니다. 데이터 시작 위치나 Width, Height 이 있는 자리는 파일의 상단 위치에서 변화지 않기 때문입니다. (Hex 에디터가 지금 없어서 정확한 위치를 못알려드리겠네요. 꾸벅)

데이터 시작 부분부터 왼쪽 맨 아래 부분으로 기준을 잡은다음, 왼쪽부터 오른쪽으로 점의 컬러가 나오고, 그 다음 그 윗줄의 왼쪽부터 시작되는 식으로, 이런식으로 맨 위쪽의 오른쪽까지 컬러가 분포되어 있습니다.

Pixels 하나에 2 Bytes 라는 것은, 몇 컬러에 따라서 틀려지는 문제입니다. 2 Bytes 는 16Bit 컬러로 저장했을때 나오는 결과입니다. 256 같은 경우 1 Byte 로 만들어지고 대신 팔레트 정보가 추가됩니다. 32Bit는 3 Bytes가 되겠구요.

그리고 Bmp 데이터는 픽셀의 크기가 짝수냐 홀수냐에 따라서 조금씩 차이가 있습니다. 한 가로줄이 끝날때마다 Empty Data의 여부입니다.

BMP 파일 하나를 한 색으로 다 칠해두신다음, Hex Editor로 읽어오신다음 분석을 하시는 것이 좋으실것 같습니다.


utime 님이 쓰신 글 :
: 안녕하세요~
: 시간한줌입니다.참~ 요즘 아뒤를 걍  utime으로 바꿨습니다~ 하하핫~
:
: 각설하고 질문 들어갑니다.
:
: Bitmap파일의 우선 BITMAPFILEHEADER과 BITMAPINFOHEADER을 읽었습니다.
:
: 쩝.. 근데 더이상 진도가 안나가네요~ ㅡㅡㅋ
:
: 원췌 Bitmap구조를 잘몰라서요~
:
: bfOffBits의 위치가 실제 데이타가 들어있는 값이라는건 알았는데 그다음 어떻게 읽어야 하죠~?
:
: 이 이미지가 몇 비트이미지인지, 한 픽셀씩 읽어 RGB값을 알아내려면 어떻게 해야 할까요?
:
: 참~ RGB값이 2바이트라고 하는데 맞나요?
:
: 알쿼주소서~!!!
:
:
:
: ps.~
: 스페로님~
: 얼핏 기억에 회사에 이미지프로세싱 잘하시는 분 있다고 들었는데 그분의 도움을 받을 순 없을까요?

+ -

관련 글 리스트
24576 [질문] Bitmap File Access... 관하여~ utime 595 2003/03/04
31997     Re:[질문] Bitmap File Access... 관하여~ Builder MySelf : 679 2003/03/04
31996     Re:[질문] Bitmap File Access... 관하여~ utime->김성하 670 2003/03/04
31995     Re:[질문] Bitmap File Access... 관하여~ 최준호.스페로 681 2003/03/04
24586     Re:[질문] Bitmap File Access... 관하여~ 유영인.Chris 969 2003/03/04
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.