비트맵(Bitmap)은 점의 집합으로, 도트의 집합으로 구성된 문자와 화상으로, 소프트웨어에 따라 문자와 화상의 비트맵(점집합)을 생성하여 화면표시와 출력장치에 보내어 출력한다.

비트맵 파일 구조
아래 이미지는 비트맵 파일을 헥사 값으로 살펴 본 것인데 파란 선 안의 부분이 헤더 정보이고, 빨간색 안의 부분이 비트맵 데이터 값인데 색상 정보가 B G R 순으로 순차적으로 저장되어 있다.


이 헤더 부분은 비트맵에 대한 다양한 정보가 들어 있으므로 한번 집고 넘어갈 필요성이 있다.
비주얼 스튜디오를 이용해서 프로그램을 짜게된다면 MS에서 제공하는 비트맵 헤더 구조체를 사용하면 편리하겠지만 기본을 집고 넘어가는 것은 항상 좋은 것이다.
그럼 이제 자세히 살펴 보자.

1. 빨간 사각형 부분이 비트맵파일의 매직 넘버인데 BM이라는 아스키 값인데 결국 BitMap이란 의미입니다.

2. 파란 사각형 부분의 F6 00 00 00 값은 byte로 표시된 file size를 나타냅니다. F6은 10진수로 246이므로 전체 file크기는 246 Byte이다. 의심스러우면 계산기로 직접 계산해 보시면 될 것입니다. ㅎㅎ

3. 노랑 사각형 부분은 00 00 00 00 값은 예약 된 값입다. 어떤 파일을 만들때 항상 어느 파일이든 헤더부분에 앞으로의 개선 여지 때문에 이렇게 예약해두는 공간을 만들어 둡니다. 사용되지 않는 공간이라 생각하시면 편합니다.

4. 초록 사각형 부분의 36 00 00 00 값은 헤더가 어디까지인지를 표시 해둔 값입니다.  
000030 라인에서 00 00 00 00 00 00 6개 값 까지가 헤더라는 것입니다. 16진수 36을 10진수로 바꾸어 보면 54가 나오는데 정확히 56번째 자리가 헤더의 마지막 부분입니다.

5. 헤드 다음 부분에는 비트맵 데이터, 즉 Blue Green Red의 색상정보가 로 순차적으로 값이 들어가 있습니다.


PS. 비트맵에 헤더파일에 대해서 도움이 되는 사이트 : 
http://blog.naver.com/elky84/10013221732 : 엘키님 블로그
http://minimonk.tistory.com/300 : 구차니님 블로그
<국외 사이트>

+ Recent posts