PNG Görseli (.png)
W3C StandartPortable Network Graphics (PNG), kayıpsız veri sıkıştırmayı, indekslenmiş renkleri ve değişken alfa kanalı şeffaflığını destekleyen patent kısıtlaması olmayan bir tarama grafiği dosya biçimidir.
PNG biçimini JPG biçimine dönüştür
Tarayıcında PNG biçimini JPG biçimine ücretsiz dönüştür. Dosyaları cihazında anında dönüştür.
PNG dosyasını çevrimiçi sıkıştır
Özel - dosyalar cihazınızdan asla ayrılmaz
İncele ve Meta Veriler
İşletim sistemleri ve dosya çözümleyicileri, PNG 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, PNG dosyalarını başlangıçtaki ikili sihirli bayt dizisini inceleyerek tanımlar:
HEX İMZASI (OFSET 0):
89 50 4E 47 0D 0A 1A 0AASCII GÖSTERİMİ: .PNG....
Standartlaştırma: W3C Önerisi (1996) / ISO/IEC 15948:2004
Teknik Özellikler
| Kapsayıcı mimarisi | Parça başına 4 baytlık CRC32 doğrulamasına sahip parça tabanlı ikili kapsayıcı |
| Sıkıştırma | 5 öngörülü tarama satırı filtresi (Hiçbiri, Alt, Üst, Ortalama, Paeth) ile Deflate (LZ77 + Huffman kodlaması) |
| Bayt Düzeni (Endianness) | Parça uzunlukları, boyutlar ve CRC'ler için Büyük Uçlu (ağ bayt sırası) |
| Renk Uzayları | sRGB, Display P3, İndekslenmiş Renk Paleti (1-8 bit), Gri Tonlamalı, Truecolor (24/48-bit) |
| Kanallar ve Yapı | RGB + Alfa (Kanal başına 16 bite kadar / 64-bit RGBA) |
| Maksimum Boyutlar | 2,147,483,647 x 2,147,483,647 piksel (4 baytlık işaretsiz tamsayılar) |
| Şeffaflık | Tam 8 bit / 16 bit değişken alfa şeffaflık kanalı |
| Akış ve Aşamalı İşleme | Adam7 7 geçişli tarama arası algoritması, aşamalı 2D tarama satırı oluşturmayı sağlar |
Teknik karşılaştırma matrisi: PNG ve rakipleri
| Teknik Nitelik | PNG (Güncel) | WebP | AVIF | JPEG |
|---|---|---|---|---|
| Sıkıştırma Türü | Kesinlikle kayıpsız (Deflate + 2D öngörülü filtreler) | Kayıplı (VP8) ve Kayıpsız (VP8L) | Kayıplı (AV1 kare içi) ve kayıpsız | Kesinlikle kayıplı (Ayrık Kosinüs Dönüşümü) |
| Alfa Şeffaflığı | Tam 8 bit / 16 bit değişken alfa kanalı | 8 bit alfa kanalı desteklenir | 8 bit / 10 bit / 12 bit alfa desteklenir | Şeffaflık kanalı desteği yok |
| Dosya Boyutu (Fotoğraflar) | Fotoğraflarda çoğu zaman kayıplı biçimlerden daha büyüktür; göreli boyut görüntüye ve kodlayıcıya göre değişir. | JPEG’den daha küçük olabilir; sonuç görüntüye ve kodlayıcıya göre değişir. | JPEG’den daha küçük olabilir; sonuç görüntüye ve kodlayıcıya göre değişir. | Orta düzeyde (karşılaştırma değeri) |
| Dosya Boyutu (Grafikler/Arayüz) | Ekran görüntüleri, çizgi çizimler ve metinler için son derece kompakt | Mükemmel kayıpsız mod | İyi, ancak kodlanması daha yavaş | Zayıf (keskin kenarlar boyunca çınlama bozulmaları üretir) |
| Tarayıcı Uyumluluğu | 1998'den beri tüm tarayıcılarda %100 evrensel | %97+ modern tarayıcı desteği | %93+ modern tarayıcı desteği | %100 evrensel |
Yaygın Bozulma Modları ve Hex Kurtarma Kılavuzu
Görüntüleyici 'Fatal error: Not a valid PNG file' hatası görüntülüyor veya açılmıyor.
Kök Neden: İlk 8 bayt bir ASCII aktarım modu tarafından değiştirildi (0x0D 0x0A değerleri 0x0A veya 0x0D 0x0D 0x0A olarak bozuldu).
Kurtarma: Dosyayı hex düzenleyicide aç ve ilk 8 baytın '89 50 4E 47 0D 0A 1A 0A' ile eşleştiğini doğrula. Bu 8 başlık baytını aynen geri yüklemek görüntüyü çoğu zaman kurtarır.
pngcheck, 'CRC error in chunk IDAT' rapor ediyor veya görüntü alt tarama satırları bozuk olarak kısmen yükleniyor.
Kök Neden: Sıkıştırılmış zlib veri akışında bit bozulması veya bir IDAT parçasında geçersiz CRC32 sağlama toplamı.
Kurtarma: Geçerli CRC32 değerlerini yeniden hesaplamak için pngcheck -f veya Deflate akışı kurtarma araçlarını kullan ya da bozuk bloğa kadar sağlam kalan tarama satırlarının sıkıştırmasını aç.
Görüntü masaüstü görüntüleyicilerde sorunsuz görünüyor ancak iOS uygulamalarında başarısız oluyor.
Kök Neden: iOS, Apple'ın tescilli CgBI bayt takaslı formatını veya standart olmayan renk alanı parçalarını bekliyor.
Kurtarma: Standart W3C RGBA sıralamasını geri yüklemek için görüntüyü 'pngcrush -revert-iphone-optimizations' komutuyla normalleştir.
Güvenlik Analizi ve Ayrıştırıcı Saldırı Vektörleri
PNG birçok işletim sistemi ve uygulama tarafından desteklenir. Güvenlik riskleri arasında kod çözücü belleğinin tükenmesi ve kötü amaçlı yardımcı bloklar bulunur.
Bilinen Saldırı Vektörleri
- Korumasız kod çözücülerde Bellek Yetersizliği (OOM) hizmet reddi saldırısını tetikleyen aşırı büyük tEXt ve zTXt meta veri parçaları.
- Eski libpng sürümlerinde yığın arabelleği taşması güvenlik açıkları (örn. png_set_PLTE içinde CVE-2015-8126).
- Küçük dosya boyutuna sahip bir görüntünün devasa boyutlar bildirdiği piksel seli açma saldırıları (örn. 100.000 x 100.000 piksel).
- İkincil özel parçalarda şifrelenmiş yükleri gizleyen steganografik sızdırma (örn. eXIf veya özel parça türleri).
Savunmaya yönelik en iyi uygulamalar: Bellekte piksel arabellekleri ayırmadan önce görüntü boyutlarını her zaman doğrula. Kullanıcı yüklemelerinde, bellek güvenli bir temizleyici kullanarak gerekli olmayan ikincil parçaları (eXIf, tEXt) kaldır.
Tarihsel kökenler ve önemli dönüm noktaları
Temel Avantajlar ve Artılar
- PNG kayıpsız sıkıştırma kullanır; bu nedenle değişmemiş bir görüntüyü kodlamak sıkıştırma kaybı oluşturmaz. Ancak düzenleme veya renk dönüşümü piksel değerlerini değiştirebilir.
- Pürüzsüz 8 bit alfa şeffaflığı, karmaşık arka planlarda pürüzsüz bir geçiş sağlar.
- Gama düzeltmesi ve kromatisite parçaları, farklı monitörlerde tutarlı görüntüleme sağlar.
Teknik Kısıtlamalar ve Eksiler
- Fotoğraf içeriği için WebP veya AVIF gibi modern kayıplı biçimlere kıyasla önemli ölçüde daha büyük dosya boyutları.
- Standart PNG'de yerel çok kareli animasyon bulunmaz (APNG uzantısını gerektirir).
- Yüksek bit derinliği (kanal başına 16 bit), bellekte devasa sıkıştırılmamış kod çözme arabellekleri oluşturur.
İlginç Teknik Bilgiler
- 8 baytlık sihirli başlık, FTP aktarımlarındaki CR/LF satır sonu bozulmalarını algılamak için özel olarak tasarlanmıştır.
- PNG için resmi olmayan özyinelemeli kısaltma 'PNG's Not GIF' idi.
- Apple, doğrudan GPU oluşturma için RGBA'yı BGRA'ya ters çeviren iOS uygulama PNG'lerinde tescilli bir CgBI parçası kullanır.
Sıkça Sorulan Teknik Sorular
Bir PNG dosyasının boyutu resim editörlerinde kaydedildiğinde neden bazen artar?
Farklı yazılım paketleri değişen Deflate sıkıştırma seviyeleri ve öngörülü tarama satırı filtresi sezgiselleri kullanır. Photoshop gibi programlar sıklıkla sıkıştırılmamış renk profilleri, XMP meta veri blokları ve optimize edilmemiş IDAT parça boyutları ekler. File2File.app Compressor gibi özel araçlar, minimum dosya boyutuna ulaşmak için her 5 tarama satırı filtresini yeniden değerlendirir.
PNG-8 ve PNG-24 arasındaki fark nedir?
PNG-8, basit simgeler için uygun çok küçük dosyalar üreten 256 renge kadar indekslenmiş bir renk paleti kullanır (GIF'e benzer). PNG-24, kanal başına 8 bit (Truecolor) ile 16,7 milyon renk destekler ve PNG-32 buna 8 bitlik bir alfa şeffaflık kanalı ekler.
PNG'nin neden 5 öngörülü tarama satırı filtresi vardır?
Deflate tekrarlanan bayt kalıplarını sıkıştırır. Fotoğraf veya gradyan piksel değerleri kademeli olarak değiştiğinden, PNG bitişik pikseller arasındaki farkları hesaplayarak her tarama satırını (Hiçbiri, Alt, Üst, Ortalama, Paeth) filtreler. Bu, gradyan verilerini Deflate altında çok daha iyi sıkıştıran sıfıra yakın bayt dizilerine dönüştürür.
PNG, ticari baskı için CMYK renk uzaylarını destekliyor mu?
Hayır. Resmi W3C PNG spesifikasyonu, renk türlerini kasıtlı olarak Gri Tonlamalı, İndekslenmiş ve RGB ile sınırlandırır. CMYK gerektiren profesyonel baskı iş akışları TIFF veya PDF kapsayıcıları kullanmalıdır.
İlgili PNG Dönüşüm Çiftleri
PNG tarama görüntülerini JPEG formatına dönüştürmek, kayıplı sıkıştırma uygulayarak dosya boyutunu küçültür; bu da görsellerin web sitelerinde daha hızlı yüklenmesini ve daha az depolama alanı kaplamasını sağlar.
Kayıplı JPEG raster görselini kayıpsız PNG raster görseline dönüştürerek sonraki kayıplı düzenleme aşamalarında kalite kaybını önle ve alfa kanalı saydamlığı desteği ekle.
PNG görüntülerini WebP’ye dönüştürmek saydamlığı korurken dosya boyutunu azaltabilir. Sonuç kayıplı veya kayıpsız kodlamaya ve görüntü içeriğine bağlıdır.
WebP’yi PNG’ye dönüştürmek, PNG destekleyen yazılımlar için durağan görüntü oluşturur; WebP animasyonunu korumaz ve kayıplı kaynakta kaybolan ayrıntıları geri getiremez.
HEIC'i PNG'ye dönüştürmek; kayıplı HEVC sıkıştırmalı fotoğrafları, geniş çapta desteklenen kayıpsız görüntü dosyalarına dönüştürür.
Ölçeklenebilir, kod tabanlı SVG grafiklerini daha geniş uygulama uyumluluğu için sabit piksel ızgaralarından oluşan PNG raster görsellere dönüştür.
Duyarlı web ölçeklendirmesi ve vektör uyumlu düzenlere entegrasyon için raster PNG görsellerini SVG XML vektör kapsayıcısına yerleştir.
Adobe Photoshop PSD grafiklerini tam alfa kanalı saydamlığıyla, kayıpsız PNG görsellerine tarayıcında ve sunucuya veri aktarmadan dönüştür.