Windows Bitmap (.bmp)

Microsoft Standart

Bitmap Görüntü Dosyası (BMP), Microsoft'un temel cihazdan bağımsız raster grafik biçimidir. Sıkıştırılmamış veya RLE ile sıkıştırılmış tarama satırlarını saklar ve donanım çerçeve belleğiyle doğrudan uyumludur.

BMP biçimini PNG biçimine dönüştür

Tarayıcında BMP biçimini PNG biçimine ücretsiz dönüştür. Dosyaları cihazında anında dönüştür.

İncele ve Meta Veriler

İşletim sistemleri ve dosya çözümleyicileri, BMP dosyalarını başlangıçtaki ikili sihirli bayt dizisini inceleyerek tanımlar:

Dosyaları buraya seç veya bırak

Özel - dosyalar cihazınızdan asla ayrılmaz

veya yapıştır Ctrl+V
Sıfır Ağ Aktarımı Gizlilik Garantisi: Harici sunuculara 0 bayt yüklendi. Tüm işlemler tarayıcındaki korumalı alanda (sandbox) yerel olarak gerçekleştirildi.

Bayt düzeyinde başlık imzası (sihirli baytlar)

İşletim sistemleri ve dosya çözümleyicileri, BMP dosyalarını başlangıçtaki ikili sihirli bayt dizisini inceleyerek tanımlar:

HEX İMZASI (OFSET 0):

42 4D

ASCII GÖSTERİMİ: BM

Standartlaştırma: Microsoft Windows Device-Independent Bitmap (DIB) Architecture

Teknik Özellikler

Kapsayıcı mimarisiArdından BITMAPINFOHEADER (DIB) ve tarama piksel dizisi gelen BITMAPFILEHEADER
SıkıştırmaSıkıştırılmamış ham tarama satırları veya isteğe bağlı BI_RLE8 / BI_RLE4 çalışma uzunluğu kodlaması
Bayt Düzeni (Endianness)Küçük uçlu (Intel x86 bayt sıralaması)
Renk UzaylarıDevice Dependent RGB, sRGB (BITMAPV5HEADER embedded)
Kanallar ve Yapı1 bit tek renkli, 4 bit / 8 bit paletli, 16 bit, 24 bit RGB veya 32 bit RGBA
Maksimum Boyutlar2.147.483.647 x 2.147.483.647 piksel (işaretli 32 bit tamsayı)
ŞeffaflıkModern BITMAPV3HEADER ve V5HEADER biçimlerinde 32 bit BGRA alfa maskesi desteklenir
Akış ve Aşamalı İşlemeAkışa uygun değildir; yükseklik negatif değilse tarama satırları baş aşağı (alttan üste) saklanır

Teknik karşılaştırma matrisi: BMP ve rakipleri

Teknik NitelikBMP (Güncel)PNGTIFFJPG
Sıkıştırma ModuSıkıştırılmamış / Minimum RLEKayıpsız Deflate (~%70 daha küçük)Sıkıştırılmamış / LZW / ZipKayıplı DCT (~%90 daha küçük)
Kod Çözme HızıAnlık bellek kopyasıDeflate açma işlemi gerektirirLZW/ZIP açma işlemi gerektirirIDCT hesaplaması gerektirir
Tarama Satırı SıralamasıAlttan üste (ters çevrilmiş)Yukarıdan aşağıyaYukarıdan aşağıya / şeritlerYukarıdan aşağıya MCU blokları
Web UygunluğuÇok zayıf (şişirilmiş yükler)Grafikler için mükemmelZayıf (masaüstü yayıncılık)Fotoğrafçılık için mükemmel

Yaygın Bozulma Modları ve Hex Kurtarma Kılavuzu

Görüntü diyagonal biçimde eğilmiş veya bir yana kaymış görünür.

Kök Neden: Yanlış satır dolgusu hesabı (her tarama satırını 4 baytlık sınıra tamamlamama).

Kurtarma: Doğru 32 bit tarama satırı adımını sağlamak için File2File.app Image Converter ile yeniden kodla.

Güvenlik Analizi ve Ayrıştırıcı Saldırı Vektörleri

BMP kod çözücüleri, güvenilmeyen DIB üstbilgisi boyutlarına göre arabellek ayırırken sık sık arabellek sınırlarının dışından okuma sorunları yaşar.

Bilinen Saldırı Vektörleri

  • Genişlik * yükseklik * bpp hesaplamasında tamsayı taşması, az bellek ayrılmasına ve sınırların dışına yazılmasına yol açar.
  • RLE8/RLE4 kaçış dizilerindeki bozulma, ayrılan arabellek sınırlarının dışına yazılmasına neden olabilir.
  • Kasıtlı olarak hazırlanmış üstbilgi boyutları, çok gigabaytlık bellek ayırmasını tetikleyerek hizmet reddine yol açabilir.

Savunmaya yönelik en iyi uygulamalar: Hedef belleği ayırmadan önce DIB üstbilgisindeki genişlik, yükseklik ve bit derinliği sınırlarını titizlikle doğrula.

Tarihsel kökenler ve önemli dönüm noktaları

1998Windows 98, ICC renk profili yönetimi ve gama düzeltmesi ekleyen BITMAPV5HEADER'ı sunar.
1990Windows 3.0, işletim sisteminde BITMAPINFOHEADER DIB spesifikasyonunu standartlaştırır.
1987Yerel ekran tarama formatı olarak Windows 2.0 ve OS/2 1.1 ile birlikte tanıtıldı.

Temel Avantajlar ve Artılar

  • Sıkıştırmadan kaynaklanan kalite kaybı yoktur: pikseller bit düzeyinde birebir saklanır ve sıkıştırma artefaktı oluşmaz.
  • Windows yerel bir BMP kodeğine sahiptir; diğer işletim sistemleri ve uygulamalardaki destek değişiklik gösterir.
  • Kod çözme işlemi çok basit olduğundan gömülü mikrodenetleyiciler ve grafik programlama eğitimi için idealdir.

Teknik Kısıtlamalar ve Eksiler

  • DEFLATE veya Huffman kodlaması gibi modern entropi sıkıştırmasının olmaması nedeniyle devasa dosya boyutları.
  • Web iletimi veya mobil ağ dağıtımı için verimsizdir.
  • Aşağıdan yukarıya tarama hattı sıralaması, modern yukarıdan aşağıya grafik boru hatlarında dikey satır ters çevirme gerektirir.

İlginç Teknik Bilgiler

  • BMP, OS/2'de kullanılan matematiksel Kartezyen koordinat sistemi nedeniyle görüntü tarama hatlarını varsayılan olarak baş aşağı (alttan üste) depolar.
  • BMP üstbilgisindeki yükseklik değeri negatifse görüntü doğru yönde (yukarıdan aşağıya) çözülür.
  • BMP dosyasındaki her tarama satırının uzunluğu 4 baytın katı olmalı; bunun için sonuna sıfır baytları eklenmelidir (32 bit sınır hizalaması).

Sıkça Sorulan Teknik Sorular

BMP dosyaları neden bu kadar büyük?

BMP dosyaları her bir piksel için ham, sıkıştırılmamış renk değerlerini saklar; oysa PNG gibi formatlar bu verileri hiç kalite kaybetmeden sıkıştırır.

BMP şeffaflığı destekleyebilir mi?

Evet. BITMAPV3HEADER veya daha yenisini kullanan 32 bit BMP dosyaları 8 bitlik alfa kanalını saklayabilir; ancak bu özellik eski yazılımlarda farklı düzeylerde desteklenir.

Bir BMP dosyasının boyutunu nasıl küçültebilirim?

BMP dosyasını PNG’ye dönüştürmek piksel değerlerini korurken dosya boyutunu azaltabilir; sonuç görüntü içeriğine ve BMP kodlamasına bağlıdır.