Bitmap format
1 pixel 의 검은색 bit map(24bit) 에 대한 hex code42 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.
댓글 없음:
댓글 쓰기