BMP Resim Dosya Yapısı
BM – Windows 3.1x, 95, NT, … Yapısı anlatılmıştır.
BMP dosyası 3 kısımdan oluşur:
1. Dosya Header (Başlık) Kısmı
2. Header (Başlık) Bilgisi Kısmı
3. Veri (Data) Kısmı
Dosya Başlığı (Header)
Toplam 14 Byte’tan oluşur.
İlk 2 Byte dosya imzasını temsil eder.
Sonraki 4 Byte dosyanın boyutunu verir.
Sonraki 2 Byte Uygulamalara özgü ayrılmıştır.
Sonraki 2 Byte Uygulamalara özgü ayrılmıştır.
Sonraki 4 Byte Veri (Data) başlangıç adresini verir.
Adres (Offset) | Uzunluk | Açıklama |
---|---|---|
0 | 2 Byte – ASCII | Dosya İmzası BM – Windows 3.1x, 95, NT, … BA – OS/2 struct Bitmap Array CI – OS/2 struct Color Icon CP – OS/2 const Color Pointer IC – OS/2 struct Icon PT – OS/2 Pointer |
2 | 4 Byte – uint | Dosya Boyutu |
6 | 2 Byte | Uygulamalara özgü ayrılmıştır. |
8 | 2 Byte | Uygulamalara özgü ayrılmıştır. |
10 | 4 Byte – uint | Veri (Data) başlangıç adresi |
Header (Başlık) Bilgisi
BMP-BM dosyası başlık bilgisi boyutu 40 Byte’tır.
4 Byte Başlık Bilgisi uzunluğunu verir.
4 Byte Resim genişliğini verir. Piksel cinsinden.
4 Byte Resim yüksekliğini verir. Piksel cinsinden.
2 Byte Color Planes (Renk düzlemini verir) Değeri 1’dir.
2 Byte Renk derinliğini verir. 24, 32
4 Byte Sıkıştırma metodunu verir.
4 Byte Resim Boyutunu verir. Raw Bitmap veri boyutudur.
4 Byte Resmin yatay çözünürlüğü.
4 Byte Resmin dikey çözünürlüğü.
4 Byte Renk Sayısı.
4 Byte Kullanılan önemli renklerin sayısı. Genellikle göz ardı edilir.
Adres (Offset) | Uzunluk | Açıklama |
---|---|---|
14 | 4 Byte – uint | Başlık (Header) Bilgisi Uzunluğu |
18 | 4 Byte – int | Resim Genişliği |
22 | 4 Byte – int | Resim Yüksekliği |
26 | 2 Byte – ushort | Color Planes (Renk düzlemini verir) Değeri 1 |
28 | 2 Byte – ushort | Renk Derinliği 1-Bit 4-Bit 8-Bit 16-Bit 24-Bit 32-Bit |
30 | 4 Byte – uint | Sıkıştırma Metodu 0 – Sıkıştırma Yok 1 – 8-Bit RLE (Run Length Encoding) Sıkışrması 2 – 4-Bit RLE (Run Length Encoding) Sıkışrması |
34 | 4 Byte – uint | Raw Bitmap veri boyutu |
38 | 4 Byte – int | Yatay Çözünürlük |
42 | 4 Byte – int | Dikey Çözünürlük |
46 | 4 Byte – uint | Renk Sayısı |
50 | 4 Byte – uint | Kullanılan önemli renklerin sayısı. |
Veri (Data)
1-Bit için 2 renk vardır. Bunlar Siyah ve Beyazdır.
2-Bit için 4 renk vardır. 1 Byte’ta 4 piksel saklanır.
4-Bit için 16 renk vardır. 1 Byte’ta 2 piksel saklanır.
8-bit için 255 renk vardır. 1 Byte’ta 1 piksel saklanır.
16-bit için 65536 renk vardır. 2 Byte’ta 1 piksel saklanır.
24-bit için 16,777,216 renk vardır. 3 Byte’ta 1 piksel saklanır.
32-Bit için 4,294,967,296 renk vardır. 4 Byte’ta 1 piksel saklanır.
Renk paleti için RGB kullanılır. Kırmızı, Yeşil ve Mavi ana renk karışımlarından oluşur.
8-Bit için;
İlk 3 bit Kırmızı renk değerini, sonraki 3 bit yeşil renk değerini, kalan 2 bit ise mavi renk değerini tutar.
KKKYYYMM
24-Bit için;
1. Byte Mavi değerini tutar.
2. Byte Yeşil değerini tutar.
3. Byte Kırmızı değerini tutar.
32-Bit için;
1. Byte Mavi değerini tutar.
2. Byte Yeşil değerini tutar.
3. Byte Kırmızı değerini tutar.
4. Byte Alpha değerini tutar.
İlk veri pikseli en sondan (Y-1) ve soldan (0) başlar. Sağa doğru genişlik kadar (G-1), sonra bir yukarı (Y-2), sonra genişlik kadar (G-1) sağa devam eder.
Kaynak
http://en.wikipedia.org/wiki/BMP_file_format
Hayırlı günler, sağlıcakla kalın.
Bu döküman www.ibasoglu.com’a aittir. Kaynak belirtmek suretiyle alıntı yapılabilir.