[컴][그래픽] Bitmap 포맷 정보

비트맵 분석 / 비트맵 정보 / 비트맵 포맷


Bitmap format

1 pixel 의 검은색 bit map(24bit) 에 대한 hex code

42 4D 3A 00 00 00 00 00 00 00 36 00 00 00 28 00
00 00 01 00 00 00 01 00 00 00 01 00 18 00 00 00
00 00 04 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00

file size
reserved(not used yet)
file 의 시작위치에서부터 실제data 위치
-----------------
bitmap header size – 각 bitmap variants 마다 size가 다르다. 제공하는 기능이 다르기 때문이다. Windows는 40byte의 size를 쓴다. Bitmap header size 는 지금 이 header size 를 포함해서 40-byte 이다. 즉, 위 그림에서 0x 28 00 00 00 부터 40-byte이다.
width in pixels
height in pixels
-----------------
planes
bits per pixel
compression
-----------------
bitmap data size
hresolution (pixel per meter)
vresolution (pixel per meter)
-----------------
colors
important colors
-----------------
실제 data, 한 pixel 당 3-byte(24bit) 사용.

Bitmap data 분석시



Bitmap 의 저장은 빨간색으로 표시된 왼쪽 아래에서부터 한 줄씩 저장하게 된다.


Null-byte padding

한 line 이 4-byte 로 나누어 떨어지지 않으면, 4의 배수로 맞추기 위해 null-byte를 추가한다.
예를 들면,
가로 5-pixel 의 bitmap 을 24-bit로 저장한다면,
가로줄 하나는
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
이렇게 된다. 이러면 가로줄 하나는 15-byte 가 된다. 그럼 4-byte로 나누어 떨어지지 않는다. 그래서bitmap 으로 저장하게 되면
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF 00
이렇게 00(null-byte) 을 붙여서 4-byte로 나누어 떨어지게 한다.
If the number of bytes matching a horizontal line in the image is not divisible by 4, the line is padded with null-bytes.


Reference

  1. http://atlc.sourceforge.net/bmp.html
  2. http://en.wikipedia.org/wiki/Windows_bitmap




댓글 없음:

댓글 쓰기