You are on page 1of 7

MỤC LỤC

1. Giới thiệu.................................................................................................................3

2. Các thuộc tính tiêu biểu của một tập tin ảnh bitmap............................................3

3. Cấu trúc tập tin bitmap...........................................................................................3

4. Đặc điểm tập tin bitmap..........................................................................................4

5. Cấu trúc Header......................................................................................................4

6. Ví dụ về BMP..........................................................................................................6

1
TRÌNH BÀY CẤU TRÚC HEADER CỦA FILE BMP

1. Giới thiệu

Trong đồ họa máy vi tính, Bitmap là một tập tin định dạng ảnh khá phổ biến còn
được biết đến với tên tiếng anh là Windows bitmap, là một định dạng tập tin hình ảnh
khá phổ biến. Các tập tin đồ họa lưu dưới dạng ảnh bitmap thường có đuôi
là .BMP hoặc .DIB DIB (Device Independent Bitmap).

2. Các thuộc tính tiêu biểu của một tập tin ảnh bitmap

Các thuộc tính tiêu biểu của một tập tin ảnh BMP(cũng như file ảnh nói chung) là

- Số bit trên mỗi điểm ảnh (bit per pixel), thường được ký hiệu bởi n. Một ảnh
BMP n-bit có 2n màu. Giá trị n càng lớn thì ảnh càng có nhiều màu, và càng rõ
nét hơn. Giá trị tiêu biểu của n là 1 (ảnh đen trắng), 4 (ảnh 16 màu), 8 (ảnh 256
màu), 16 (ảnh 65536 màu) và 24 (ảnh 16 triệu màu). Ảnh BMP 24-bit có chất
lượng hình ảnh trung thực nhất.
- Chiều cao của ảnh (height), cho bởi điểm ảnh (pixel).
- Chiều rộng của ảnh (width), cho bởi điểm ảnh.

3. Cấu trúc tập tin bitmap

Cấu trúc tập tin ảnh BMP bao gồm 4 phần:

- Bitmap Header (14 bytes): giúp nhận dạng tập tin bitmap.
- Bitmap Information (40 bytes): lưu một số thông tin chi tiết giúp hiển thị ảnh.

2
- Color Palette (4*x bytes), x là số màu của ảnh: định nghĩa các màu sẽ được sử
dụng trong ảnh.
- Bitmap Data: lưu dữ liệu ảnh.

4. Đặc điểm tập tin bitmap

Đặc điểm nổi bật nhất của định dạng BMP là tập tin hình ảnh thường
không được nén bằng bất kỳ thuật toán nào. Khi lưu ảnh, các điểm ảnh được ghi
trực tiếp vào tập tin –một điểm ảnh sẽ được mô tả bởi một hay nhiều byte tùy
thuộc vào giá trị n của ảnh. Do đó, một hình ảnh lưu dưới dạng BMP thường có
kích cỡ rất lớn, gấp nhiều lần so với các ảnh được nén (chẳng hạn GIF, JPEG
hay PNG).
Định dạng BMP được hỗ trợ bởi hầu hết các phần mềm đồ họa chạy trên
Windows, và cả một số ứng dụng chạy trên MS-DOS. Ngay từ Windows 3.1,
Microsoft đã cho ra đời phần mềm PaintBrush, một phần mềm hỗ trợ vẽ hình
ảnh đơn giản và lưu hình ảnh được vẽ dưới dạng BMP 16 hay 256 màu. Tuy
nhiên, do kích thước tập tin ảnh BMP quá lớn, định dạng BMP không phù hợp
để trao đổi hình ảnh qua mạngInternet (do hạn chế về tốc độ truyền dữ liệu).
Do đó, các trang web thường sử dụng ảnh dạng GIF, JPEG hay PNG. Các
định dạng này hỗ trợ các thuật toán nén hình ảnh, vì vậy có thể giảm bớt kích cỡ
của ảnh.

5. Cấu trúc Header

Bitmap Header (14 bytes) khối byte này nằm ở đầu tệp và được sử dụng để xác định
tệp. Một ứng dụng thông thường đọc khối này trước để đảm bảo rằng tệp thực sự là
tệp BMP và nó không bị hỏng. 2 byte đầu tiên của định dạng tệp BMP là ký tự "B" sau

3
đó là ký tự "M" trong mã hóa ASCII . Tất cả các giá trị số nguyên được lưu trữ ở định
dạng little-endian (nghĩa là byte có ý nghĩa nhỏ nhất trước tiên).

Cấu trúc Header file:

Kích thước
Hệ Hex Hệ Dec Mục đích
(bytes)
Trường Header được sử dụng để xác
định tệp BMP và DIB 0x42, 0x4D ở
dạng Hex , giống như BM trong
ASCII. Các mục sau đây là có thể:

BM
Windows 3.1x, 95, NT, ...
ba
OS/2 Mảng cấu trúc bitmap
00 0 2 CI
OS/2 Cấu trúc màu biểu
tượng
CP
OS/2 Hằng số màu trỏ chuột
IC
OS/2 Cấu trúc biểu tượng
PT
OS/2 Con trỏ

Kích thước file ảnh BMP tính bằng


02 2 4
byte

4
Dự trữ, giá trị tùy thuộc vào ứng
06 6 2
dụng tạo ra file hình ảnh

Dự trữ, giá trị tùy thuộc vào ứng


08 8 2
dụng tạo ra file hình ảnh

0A 10 4 Địa chỉ bắt đầu của nội dung file

6. Ví dụ về BMP

Kích
Giá trị
Offset thước Giá trị Mục đích
Hex
(byte)

BMP header

0h 2 42 4D “BM” Trường ID (42h, 4Dh)

46 00 00
2h 4 70 bytes (54+16) Kích thước của tệp
00

5
6h 2 00 00 Không sử dụng Ứng dụng cụ thể

8h 2 00 00 Không sử dụng Ứng dụng cụ thể

36 00 00 Nơi mảng pixel dữ liệu có


Ah 4 54 bytes (14+40)
00 thể tìm thấy

DIB header

28 00 00 Số bytes trong DIB header


Eh 4 40 bytes
00 từ đây
02 00 00 2 pixel (từ trang Chiều rộng của bitmap tình
12h 4
00 sang phải) bằng pixel
02 00 00 2 pixel (từ dưới Chiều cao của bitmap tính
16h 4
00 lên) bằng pixel
Số lượng mặt phẳng màu
1Ah 2 01 00 1 plane
đang được sử dụng

1Ch 2 18 00 24 bits Số bit trên mỗi pixel

00 00 00 BI_RBG, không nén mảng


1Eh 4 0
00 pixel
10 00 00 Kích thước của dữ liệu
22h 4 16 bytes
00 bitmap thô
13 0B 00 2835 pixel/mét Độ phân giải in của hình
26h 4
00 chiều ngang ảnh

13 0B 00 2835 pixel/mét
2Ah 4 72 DPI x 39,3701 inch mỗi
00 chiều dọc
mét mang lại 2834,6472
00 00 00 Số lượng màu trong bảng
2Eh 4 0 màu sắc
00 màu
32h 4 00 00 00 0 màu quan trọng 0 có ý nghĩa tất cả màu đều

6
00 quan trọng

Bắt đầu mảng Pixel (dữ liệu bitmap)

36h 3 00 00 FF 0 0 255 Đỏ, pixel (0,1)

39h 3 FF FF FF 255 255 255 Trắng, pixel (1,1)

Đệm cho căn chỉnh 4 bytes


3Ch 2 00 00 00
(có thể là giá trị khác 0)
Màu xanh dương, pixel
3En 3 FF 00 00 255 0 0
(0,0)

41h 3 00 FF 00 0 255 0 Màu xanh lá cây, pixel (1,0)

Đệm cho căn chỉnh 4 bytes


44h 2 00 00 00
(có thể là giá trị khác 0)

You might also like