Windows Bitmap (.bmp)
Microsoft StandartBitmap 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:
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 4DASCII GÖSTERİMİ: BM
Standartlaştırma: Microsoft Windows Device-Independent Bitmap (DIB) Architecture
Teknik Özellikler
| Kapsayıcı mimarisi | Ardından BITMAPINFOHEADER (DIB) ve tarama piksel dizisi gelen BITMAPFILEHEADER |
| Sıkıştırma | Sı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 Boyutlar | 2.147.483.647 x 2.147.483.647 piksel (işaretli 32 bit tamsayı) |
| Şeffaflık | Modern BITMAPV3HEADER ve V5HEADER biçimlerinde 32 bit BGRA alfa maskesi desteklenir |
| Akış ve Aşamalı İşleme | Akış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 Nitelik | BMP (Güncel) | PNG | TIFF | JPG |
|---|---|---|---|---|
| Sıkıştırma Modu | Sıkıştırılmamış / Minimum RLE | Kayıpsız Deflate (~%70 daha küçük) | Sıkıştırılmamış / LZW / Zip | Kayıplı DCT (~%90 daha küçük) |
| Kod Çözme Hızı | Anlık bellek kopyası | Deflate açma işlemi gerektirir | LZW/ZIP açma işlemi gerektirir | IDCT hesaplaması gerektirir |
| Tarama Satırı Sıralaması | Alttan üste (ters çevrilmiş) | Yukarıdan aşağıya | Yukarıdan aşağıya / şeritler | Yukarıdan aşağıya MCU blokları |
| Web Uygunluğu | Çok zayıf (şişirilmiş yükler) | Grafikler için mükemmel | Zayı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ı
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.
İlgili BMP Dönüşüm Çiftleri
Sıkıştırılmamış Windows Bitmap dosyalarını PNG'ye dönüştürerek görüntü kalitesini düşürmeden kayıpsız sıkıştırma sağla ve dosya boyutlarını küçült.
Taşınabilir Ağ Grafiklerini Windows Bitmap'e dönüştürmek, sıkıştırılmış raster verilerini eski işletim sistemleri ve donanım hatları için sıkıştırılmamış bir piksel ızgarasına dönüştürür.
Desteklenen bir BMP ekran görüntüsünü destek talebi veya rapor için tek sayfalık PDF'ye yerleştir. Bu işlem sıkıştırılmamış 24 bit veya 32 bit pikselleri kabul eder; sıkıştırılmış BMP türlerini kabul etmez.