Professional Documents
Culture Documents
Caut Ruc Header Cu A File BMP
Caut Ruc Header Cu A File BMP
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
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.
- 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.
Đặ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.
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).
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ỏ
4
Dự trữ, giá trị tùy thuộc vào ứng
06 6 2
dụng tạo ra file hình ảnh
6. Ví dụ về BMP
Kích
Giá trị
Offset thước Giá trị Mục đích
Hex
(byte)
BMP header
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ể
DIB header
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