PNG dosyası yükle
Her biri 5 MB'a kadar 3 dosya dönüştürebilirsiniz
PNG dosyası yükle
Kaydolun ve günde 10 ücretsiz dönüşüm alın
Modern dünyada PNG'yi neden BMP'ye dönüştürmeliyiz
PNG'den BMP'ye dönüştürme, ilk bakışta teknolojik gelişmede bir geri adım gibi görünen bir işlemdir. PNG, verimli kayıpsız sıkıştırma ve tam şeffaflık desteği sunarken, BMP verileri neredeyse ham formda depolar ve devasa dosyalar oluşturur. Ancak belirli profesyonel alanlarda, BMP'nin basitliği ve öngörülebilirliği onu vazgeçilmez bir araç haline getirir.
BMP (Bitmap Image File), 1986'da Microsoft tarafından ilk Windows sürümleri için oluşturulmuş bir formattır. Yaklaşık kırk yıllık varlığında neredeyse hiç değişmemiş ve mutlak geriye dönük uyumluluk sağlamıştır. Görüntülerle çalışabilen herhangi bir cihaz veya program BMP'yi anlamayı garanti eder. Bu evrensellik, özellikle onlarca yıldır güncellenmemiş eski yazılımlar, endüstriyel sistemler ve özel ekipmanlarla çalışırken değerlidir.
PNG (Portable Network Graphics), GIF'e modern bir alternatif olarak on yıl sonra ortaya çıktı. Format, kayıpsız sıkıştırma için DEFLATE algoritmasını kullanır ve tam 8-bit alfa kanalını destekler. Ancak bu karmaşıklık, kaynakları sınırlı sistemlerde veya PNG çözücüsü olmayan eski yazılımlarda sorun haline gelir.
BMP formatının teknik yapısı
BMP dosya yapısı
BMP, üç ardışık bloktan oluşan en basit raster formatlarından biridir:
Dosya başlığı (BITMAPFILEHEADER) — 14 bayt sabit veri:
- İmza «BM» (0x42 0x4D) — format tanımlayıcısı
- Toplam dosya boyutu bayt cinsinden
- İki ayrılmış alan (genellikle sıfırlar)
- Dosya başından piksel verilerine kadar ofset
Bilgi başlığı (BITMAPINFOHEADER) — minimum 40 bayt:
- Başlık boyutu (format sürümünü belirler)
- Görüntü genişliği ve yüksekliği piksel cinsinden
- Renk düzlemi sayısı (her zaman 1)
- Renk derinliği: 1, 4, 8, 16, 24 veya 32 bit
- Sıkıştırma türü (genellikle 0 — sıkıştırma yok)
- Piksel veri boyutu
- Yatay ve dikey çözünürlük metre başına piksel cinsinden
- Palette renk sayısı
- Önemli renk sayısı
Piksel verileri — asıl görüntü, aşağıdan yukarıya satır satır yazılır (yukarıdan aşağıya tarayan çoğu formatın aksine). Her satır, dolgu baytları eklenerek 4 bayt sınırlarına hizalanır.
BMP'de veri depolamanın özellikleri
BMP'nin ana özelliği, tipik kullanım senaryolarında sıkıştırma olmamasıdır. Teknik olarak format, 4-bit ve 8-bit görüntüler için RLE sıkıştırmayı destekler, ancak pratikte bu nadiren kullanılır. Standart 24-bit BMP (True Color), her pikseli BGR sırasıyla (mavi-yeşil-kırmızı) üç bayt olarak yazar, bu da tanıdık RGB'nin ters sırasıdır.
Sıkıştırmasız 24-bit BMP boyutu formülü:
Boyut = 54 + ((Genişlik × 3 + Dolgu) × Yükseklik)
burada Dolgu = (4 - (Genişlik × 3) mod 4) mod 4
Örnek: 1920×1080 piksel görüntü
- Satır: 1920 × 3 = 5760 bayt
- Dolgu: (4 - 5760 mod 4) mod 4 = 0 bayt
- Veri: 5760 × 1080 = 6.220.800 bayt
- Başlıklar: 54 bayt
- Toplam: yaklaşık 5,93 MB
Karşılaştırma için: fotoğraf içeren aynı PNG dosyası içeriğe bağlı olarak 1-3 MB yer kaplar.
PNG ve BMP karşılaştırması: temel farklar
Özellikler tablosu
| Özellik | PNG | BMP |
|---|---|---|
| Oluşturulma yılı | 1996 | 1986 |
| Sıkıştırma algoritması | DEFLATE (kayıpsız) | Yok (veya ≤8 bit için RLE) |
| Renk derinliği | 1-48 bit, alfa ile veya olmadan | 1-32 bit |
| Şeffaflık | 8-bit alfa kanalı | Sadece 32-bit modda (güvenilmez) |
| Renk bayt sırası | RGB | BGR |
| Satır sırası | Yukarıdan aşağıya | Aşağıdan yukarıya |
| Fotoğraf boyutu 1920×1080 | 1-3 MB | ~6 MB |
| Ekran görüntüsü boyutu 1920×1080 | 200-800 KB | ~6 MB |
| İkon boyutu 64×64 | 2-5 KB | 12 KB |
| Meta veriler | tEXt, iTXt, zTXt blokları | Minimal |
| Animasyon | APNG | Hayır |
| Taramalı | Adam7 | Hayır |
Dönüştürme sırasında şeffaflığa ne olur
PNG, 256 şeffaflık seviyesiyle tam 8-bit alfa kanalını destekler. BMP teknik olarak 32-bit modda (BGRA) bir alfa kanalı depolayabilir, ancak yazılımlarda bu özelliğin desteği son derece öngörülemezdir. Çoğu uygulama 4. baytı yok sayar veya yanlış yorumlar.
PNG'den BMP'ye dönüştürürken, şeffaf alanlar şu yollardan biriyle işlenmelidir:
- Beyaz ile doldur — standart yaklaşım, çoğu görev için uygundur
- Siyah ile doldur — koyu arka planlara yerleştirilen görüntüler için
- Özel renk ile doldur — hedef arka plan bilindiğinde
Yarı şeffaf pikseller (alfa 1-254) alfa birleştirme formülü kullanılarak dolgu rengiyle karıştırılır:
Sonuç = Kaynak × Alfa + Arka Plan × (1 - Alfa)
burada Alfa 0'dan 1'e normalleştirilir.
Bu, karmaşık efektlerin — bulanık gölgeler, gradyan şeffaflık, cam katmanları — dönüştürme sırasında seçilen arka plana "düzleştirildiği" ve orijinal şeffaflığı geri yüklemenin imkansız olduğu anlamına gelir.
PNG'den BMP'ye dönüştürme kullanım durumları
Endüstriyel ekipman ve CNC makineleri
Endüstriyel ekipmanın önemli bir kısmı DOS ve erken Windows döneminde oluşturulan gömülü yazılım üzerinde çalışır. CNC makineleri, lazer kazıyıcılar, plotterlar, nakış makineleri ve diğer cihazlar genellikle grafikleri yalnızca BMP formatında kabul eder.
Bu sınırlamanın nedenleri:
- Basit kod çözme — BMP karmaşık açma algoritmaları gerektirmez
- Minimum sistem gereksinimleri — kod çözücü yalnızca birkaç kilobayt kod alır
- Öngörülebilir bellek boyutu — kod çözülmüş görüntü boyutu önceden bilinir
- Güvenilirlik — basit format hatalara daha az eğilimlidir
PNG'den BMP'ye dönüştürme, modern görüntüleri bu tür ekipmanlara yüklemek için hazırlamaya olanak tanır.
Eski kurumsal yazılım
Kurumsal ortamlar genellikle 15-25 yıllık yazılım sistemleri kullanır: özel ERP sistemleri, tıbbi yazılımlar, belge yönetim sistemleri, eski uygulamalar. Bu tür yazılımları güncellemek büyük maliyetler ve riskler içerir, bu nedenle şirketler kanıtlanmış çözümleri kullanmaya devam eder.
Bu sistemlerin çoğu Windows 95/98/XP döneminde geliştirilmiş ve sınırlı bir grafik format setini destekler. BMP, her yerde çalışması garanti edilen pratik olarak tek formattır.
Gömülü sistemler ve mikrodenetleyiciler
Gömülü sistem geliştiricileri, formatla çalışmanın basitliği nedeniyle sıklıkla BMP'yi seçer:
- PNG kod çözme için kütüphane gerekmez (bellek tasarrufu)
- Piksel verilerine doğrudan erişim
- Görüntüyü doğrudan video belleğine yükleme olanağı
- Öngörülebilir işlem süresi
Mikrodenetleyici projelerindeki (Arduino, ESP32, STM32) ekranlar için BMP, bilgisayardan görüntü aktarmak için genellikle en uygun formattır.
Dosya boyutu karşılaştırması
PNG'den BMP'ye dönüştürme neredeyse her zaman önemli dosya boyutu artışına yol açar:
| Görüntü türü | PNG | BMP 24-bit | Artış |
|---|---|---|---|
| Fotoğraf 1920×1080 | 2-3 MB | 5,9 MB | ×2-3 |
| Arayüz ekran görüntüsü | 300-600 KB | 5,9 MB | ×10-20 |
| Şeffaflıklı 256×256 ikon | 30-50 KB | 192 KB | ×4-6 |
| Basit grafikler 800×600 | 50-150 KB | 1,4 MB | ×10-28 |
| İnfografik 1200×800 | 200-400 KB | 2,7 MB | ×7-14 |
| Şeffaf arka planda logo | 20-80 KB | 150-500 KB | ×6-8 |
En büyük artış, PNG'nin büyük düz renkli alanlar nedeniyle özellikle etkili olduğu ekran görüntüleri ve basit grafiklerde gözlemlenir. Fotoğraflar için fark daha azdır çünkü PNG fotoğrafik içeriği o kadar verimli sıkıştırmaz.
PNG'dan BMP'a dönüştürme ne için kullanılır
Endüstriyel ekipman
CNC makineleri, lazer kazıyıcılar, plotterlar ve yalnızca BMP kabul eden diğer ekipmanlar için görüntü hazırlama
Eski kurumsal yazılım
Eski belge yönetim sistemlerine, ERP'ye ve özel uygulamalara logo ve görüntü yükleme
Gömülü sistemler
PNG kod çözücüsü olmayan sınırlı kaynaklı mikrodenetleyiciler ve cihazlar için grafik hazırlama
Windows API
BMP formatı gerektiren GDI işlevleri ve diğer Windows API'leriyle çalışmak için görüntü oluşturma
PNG'dan BMP'a dönüştürme ipuçları
Yalnızca gerektiğinde kullanın
PNG'yi yalnızca hedef yazılım veya ekipman PNG'yi desteklemiyorsa BMP'ye dönüştürün. Diğer tüm görevler için PNG daha verimlidir
Şeffaflık kaybını göz önünde bulundurun
Kaynak PNG şeffaf arka plana sahipse, uygun bir dolgu rengi seçin. Beyaz açık arayüzlere, siyah karanlık olanlara uygundur
Depolamayı planlayın
BMP dosyaları PNG'den 5-20 kat daha büyüktür. Depolama ve dosya aktarımı için yeterli alanınız olduğundan emin olun
PNG orijinallerini saklayın
Diğer formatlara olası dönüştürme için orijinal PNG dosyalarını saklayın. BMP'den şeffaflığı geri yüklemek imkansızdır