PDFMove
BMP Nedir, Neden Hâlâ Karşımıza Çıkıyor?
Rehber

BMP Nedir, Neden Hâlâ Karşımıza Çıkıyor?

4 dk okuma

Kırk yıllık bir formatın inadı

Bilgisayarınızda .bmp uzantılı bir dosyaya rastladığınızda büyük ihtimalle onu siz üretmediniz. BMP, 1980'lerin sonunda Microsoft'un Windows için tanımladığı raster görüntü formatıdır ve modern bir iş akışında bilerek seçilmesi için neredeyse hiçbir sebep kalmamıştır. Buna rağmen hâlâ karşımıza çıkıyor.

Bu yazıda formatın gerçekte ne olduğunu, neden bu kadar yer kapladığını, bugün hangi köşelerde hayatta kaldığını ve elinize bir BMP geçtiğinde ne yapmanız gerektiğini anlatıyoruz.

BMP nasıl çalışır?

BMP'yi anlamak için formatın felsefesini anlamak yeterli: mümkün olan en aptal şeyi yap.

Bir BMP dosyası kısa bir başlık bloğu ve ardından gelen ham piksel dizisinden oluşur. Piksel verisi tipik olarak hiçbir sıkıştırmaya tabi tutulmaz — her pikselin renk değeri dosyaya doğrudan yazılır. Bu, formatın hem en büyük zayıflığı hem de tek gerçek gücüdür.

Zayıflık açık: dosya boyutu tamamen çözünürlük ve bit derinliğinin çarpımıdır. Görüntünün içeriğiyle hiçbir ilgisi yoktur. Tamamen düz beyaz bir kare, aynı boyutlardaki karmaşık bir fotoğrafla neredeyse aynı yeri kaplar. Aynı görüntünün PNG hâli kayıpsız olduğu halde çok daha küçüktür, çünkü PNG tekrar eden desenleri fark edip sıkıştırır.

Güç ise şudur: bir BMP'yi okumak için kod çözücüye ihtiyacınız yoktur. Başlıktaki birkaç sayıyı okuyup piksel dizisini doğrudan belleğe kopyalayabilirsiniz. Çok kısıtlı bir mikrodenetleyici bile bunu yapabilir. BMP'nin hayatta kalma sebebi büyük ölçüde budur.

Spesifikasyonda RLE (run-length encoding) adında bir sıkıştırma şeması tanımlıdır ama pratikte nadiren kullanılır ve yalnızca düşük bit derinliklerinde geçerlidir. Karşınıza çıkan BMP dosyalarının ezici çoğunluğu sıkıştırılmamıştır.

Şeffaflık meselesi

BMP'nin 32 bit BGRA varyantı piksel başına bir alfa kanalı taşıyabilir, yani teoride şeffaflık mümkündür. Pratikte ise bu bir tuzaktır.

Alfa desteği uygulamalar arasında tutarsızdır. Bazı programlar alfa baytını doğru yorumlar, birçoğu ise onu tamamen görmezden gelip görüntüyü opak gösterir. Bu belirsizlik, şeffaflığın önemli olduğu hiçbir iş akışında BMP'ye güvenilemeyeceği anlamına gelir. Şeffaflık ihtiyacınız varsa doğru format PNG'dir ve bu konuda tartışma yoktur.

Bugün BMP'ye nerede rastlıyoruz?

Format ölmedi çünkü onu üreten sistemler ölmedi. En sık karşılaşılan kaynaklar şunlar:

  • Eski Windows programlarının çıktıları. Yıllardır güncellenmemiş masaüstü yazılımları dışa aktarma seçeneği olarak hâlâ BMP sunar, bazen tek seçenek olarak.
  • Eski Paint kayıtları. Windows'un klasik Paint uygulamasında varsayılan kaydetme formatı uzun süre BMP'ydi; o dönemden kalan arşivler dolu.
  • Tarayıcı ve faks sürücüleri. Bazı belge tarama sürücüleri ham çıktıyı BMP olarak verir, çünkü sürücü seviyesinde sıkıştırma yapmak istemezler.
  • Endüstriyel ve gömülü cihazlar. Üretim hattı kameraları, ölçüm cihazları ve dokunmatik panel arayüzleri sınırlı işlemci gücüyle çalıştıkları için BMP okur ve yazar.
  • Eski oyun ve CAD varlık boru hatları. Doku ve sprite dosyaları uzun yıllar BMP olarak tutuldu; bu projelerin kaynak klasörleri hâlâ dolaşımda.
  • Tıbbi ve laboratuvar ekipmanı çıktıları. Bazı cihazlar ölçüm görüntülerini en basit formatta dışa aktarmayı tercih eder.

Yani BMP, modern bir tercih değil; eski sistemlerin bıraktığı bir iz.

Neden dönüştürmeniz gerekiyor?

Elinize bir BMP geçtiğinde onu olduğu gibi kullanmak neredeyse her zaman sorun çıkarır:

Boyut. Sıkıştırılmamış dosyalar e-posta eklerine sığmaz, bulut depolamayı gereksiz yere doldurur, mobil veriyle paylaşmak eziyet olur.

Platform reddi. Sosyal medya, mesajlaşma uygulamaları ve içerik yönetim sistemlerinin büyük kısmı BMP yüklemesini kabul etmez. Bir web sitesine yüklemeye çalıştığınızda çoğu zaman formatın desteklenmediği uyarısını alırsınız.

Tutarsız tarayıcı davranışı. Bazı tarayıcılar BMP'yi gösterir, bazıları göstermez. Web'de buna güvenmek mantıksızdır; zaten boyut açısından da savunulamaz.

Hiçbir karşılık yok. Bütün bu sorunlara katlanmanın karşılığında elde ettiğiniz bir kalite avantajı yoktur. PNG aynı pikselleri kayıpsız saklar, üstelik çok daha küçüktür.

Elinizdeki BMP ile ne yapmalısınız?

Karar ağacı oldukça basit:

İçerik ekran görüntüsü, metin, çizim, logo veya grafikse: PNG'ye dönüştürün. Kayıpsızdan kayıpsıza geçiş yaptığınız için tek bir piksel bile değişmez, dosya ise dramatik biçimde küçülür. Bu, BMP için en güvenli varsayılan yoldur.

İçerik fotoğrafsa ve amaç paylaşmaksa: JPG'ye dönüştürmek en küçük dosyayı verir. Kayıplı bir işlemdir, bir miktar veri kalıcı olarak gider, ama fotoğrafik içerikte bu takas genellikle kârlıdır.

Dosya BMP bekleyen bir programa girdi olacaksa: dokunmayın. Bu, BMP'nin bugün geçerli olan tek kullanım gerekçesidir.

Özetle

BMP, verinin en ham hâlini saklayan basit ve eski bir formattır. Bu basitlik onu kısıtlı donanımlar için okunabilir kılar ama günlük kullanım için son derece verimsiz yapar. Kayıpsızlık istiyorsanız PNG aynı işi çok daha az yerle yapar; küçüklük istiyorsanız JPG çok daha ileri gider. BMP'nin bugün hak ettiği rol, ondan bir şey üretmek değil, onu bir an önce başka bir formata çevirmektir.

Sıkça Sorulan Sorular

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

Çünkü BMP piksel verisini tipik olarak hiç sıkıştırmadan saklar. Görüntüdeki her pikselin renk değeri dosyaya olduğu gibi yazılır; komşu piksellerin aynı olması veya görüntüde tekrar eden desenler bulunması dosya boyutunu hiç etkilemez. Tamamen beyaz bir kare ile karmaşık bir fotoğraf, aynı boyutlarda ve aynı bit derinliğindeyse yaklaşık aynı yeri kaplar. Spesifikasyonda RLE adında bir sıkıştırma tanımlıdır ama pratikte neredeyse hiç kullanılmaz ve yalnızca düşük bit derinliklerinde geçerlidir.

BMP şeffaflığı destekler mi?

Kısmen ve güvenilmez şekilde. BMP'nin 32 bit BGRA varyantı piksel başına bir alfa kanalı barındırabilir, yani teknik olarak şeffaflık bilgisi taşınabilir. Ancak bu desteği uygulamalar arasında son derece tutarsızdır; birçok okuyucu alfa baytını tamamen görmezden gelir ve şeffaf alanları opak olarak gösterir. Bu yüzden şeffaflığın korunması gereken hiçbir iş akışında BMP'ye güvenmemek gerekir; bu iş için PNG doğru ve tartışmasız formattır.

Tarayıcılar BMP dosyalarını gösterir mi?

Bazıları gösterir ama davranış tutarsızdır ve buna güvenmemek gerekir. BMP web için tasarlanmış bir format değildir ve web ekosisteminde fiilen yeri yoktur. Bundan daha önemlisi pratik sorundur: sıkıştırılmamış bir dosyayı web sayfasına koymak sayfa yükleme süresi açısından kabul edilemez. Ayrıca sosyal medya platformları, mesajlaşma uygulamaları ve içerik yönetim sistemlerinin büyük kısmı BMP yüklemesini doğrudan reddeder.

BMP'nin JPG veya PNG'ye göre bir avantajı var mı?

Bugünkü kullanım senaryolarında anlamlı bir avantajı yok. Kayıpsız saklama istiyorsanız PNG aynı işi yapar ve çok daha küçük dosya üretir; şeffaflık istiyorsanız PNG bunu güvenilir şekilde destekler. BMP'nin tek gerçek üstünlüğü basitliğidir: dosya yapısı o kadar sadedir ki çok kısıtlı donanımlar bile kod çözme yapmadan doğrudan okuyabilir. Bu yüzden bazı gömülü sistemler ve endüstriyel cihazlar hâlâ BMP bekler. Bunun dışında BMP tercih edilecek bir format değildir.

Bu konuyu BMP → JPG Dönüştür aracıyla hemen deneyin.

BMP → JPG Dönüştür aracını dene