PNG Görseli (.png)

W3C Standart

Portable 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:

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, PNG dosyalarını başlangıçtaki ikili sihirli bayt dizisini inceleyerek tanımlar:

HEX İMZASI (OFSET 0):

89 50 4E 47 0D 0A 1A 0A

ASCII GÖSTERİMİ: .PNG....

Standartlaştırma: W3C Önerisi (1996) / ISO/IEC 15948:2004

Teknik Özellikler

Kapsayıcı mimarisiParça başına 4 baytlık CRC32 doğrulamasına sahip parça tabanlı ikili kapsayıcı
Sıkıştırma5 ö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 Boyutlar2,147,483,647 x 2,147,483,647 piksel (4 baytlık işaretsiz tamsayılar)
ŞeffaflıkTam 8 bit / 16 bit değişken alfa şeffaflık kanalı
Akış ve Aşamalı İşlemeAdam7 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 NitelikPNG (Güncel)WebPAVIFJPEG
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ızKesinlikle 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ı desteklenir8 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 kompaktMükemmel kayıpsız modİyi, ancak kodlanması daha yavaşZayıf (keskin kenarlar boyunca çınlama bozulmaları üretir)
Tarayıcı Uyumluluğu1998'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ı

2004ISO/IEC 15948 olarak uluslararası düzeyde standartlaştırıldı.
1996PNG 1.0, W3C Önerisi olarak yayımlandı.
1995Unisys'in LZW patent ücreti uygulamasının ardından GIF'e açık kaynaklı bir alternatif olarak Usenet comp.graphics üzerinde oluşturuldu.

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 -> JPG

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.

JPG -> PNG

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 -> WEBP

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 -> PNG

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 -> PNG

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.

SVG -> PNG

Ö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.

PNG -> SVG

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.

PSD -> PNG

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.