Animasyonlu PNG (.apng)

W3C Standart

APNG, PNG’yi çok kareli animasyon ve statik bir görüntüyle genişletir; APNG desteği olmayan görüntüleyiciler yalnızca statik görüntüyü gösterebilir.

APNG biçimini GIF biçimine dönüştür

Tarayıcında APNG biçimini GIF 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, APNG 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, APNG 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 Community Group Report (2021) / Mozilla Extension

Teknik Özellikler

Kapsayıcı mimarisiacTL (animasyon denetimi), fcTL (kare denetimi) ve fdAT (kare verisi) parçalarını içeren PNG parça akışı
SıkıştırmaKare başına uygulanan 2B uyarlamalı filtrelemeyle Deflate (zlib) kayan pencereli LZ77
Bayt Düzeni (Endianness)Büyük uçlu (ağ bayt sıralaması)
Renk UzaylarısRGB, Display P3, Embedded ICC Profile (iCCP)
Kanallar ve YapıRGBA (kanal başına 8 bit veya 16 bit Truecolor + 8 bit alfa)
Maksimum Boyutlar2.147.483.647 x 2.147.483.647 piksel (PNG 31 bit sınırı)
ŞeffaflıkTam 8 bit alfa kanalı şeffaflığı (256 düzeyde yumuşak yarı saydamlık)
Akış ve Aşamalı İşlemeAPNG dosyaları statik bir görüntü içerir; animasyon parçalarını yok sayan kod çözücüler bunu hareketsiz görüntü olarak gösterebilir.

Teknik karşılaştırma matrisi: APNG ve rakipleri

Teknik NitelikAPNG (Güncel)GIFWEBPAVIF
Renk Derinliği24 bit RGB (16,7 milyon renk)8 bit indeksli (256 renk)24 bit RGB (16,7 milyon renk)10 bit / 12 bit HDR
Alfa Şeffaflığı8 bit yumuşak geçişli alfa (256 düzey)1 bit açma/kapama ikili maskesi8 bit yumuşak geçişli alfa8 bit / 10 bit yumuşak geçişli alfa
Geriye Dönük UyumlulukBazı PNG görüntüleyicileri statik görüntüyü gösterebilir; animasyon için APNG desteği gerekir.Destek, tarayıcıya göre değişir.Eski görüntüleyicilerde yokEski görüntüleyicilerde yok
Sıkıştırma VerimliliğiDeflate (orta düzey)LZW (zayıf)VP8 anahtar/fark kareleri (yüksek)AV1 kareler arası (ultra yüksek)

Yaygın Bozulma Modları ve Hex Kurtarma Kılavuzu

Animasyon yalnızca ilk kareyi oynatır ve asla döngüye girmez veya ilerlemez.

Kök Neden: İlk IDAT yığınından önce bulunan eksik veya bozuk 'acTL' (Animasyon Kontrol) yığını.

Kurtarma: Geçerli animasyon kontrol parçalarını yeniden oluşturmak için kareleri apngasm veya File2File.app Animation Converter ile yeniden paketle.

Güvenlik Analizi ve Ayrıştırıcı Saldırı Vektörleri

APNG ayrıştırıcıları, hatalı biçimlendirilmiş boyutların tamsayı taşmasına veya yığın tükenmesine neden olabileceği yinelenen kare kontrol yığınlarını işler.

Bilinen Saldırı Vektörleri

  • Sınır dışı kare kompozisyonuna yol açan kare ofseti (x_offset / y_offset) hesaplamasında tamsayı taşması.
  • Kare harmanlama sırasında arabellek sınırlarının dışından okumayla sonuçlanan uyumsuz kare genişliği/yüksekliği.
  • Arka uç küçük resim oluşturma hizmetlerinde CPU'yu tüketen sonsuz animasyon açma döngüleri.

Savunmaya yönelik en iyi uygulamalar: Rasterleştirmeden önce toplam animasyon tuvalinin sınırlarını doğrula ve izin verilen en yüksek kare sayısını sınırla.

Tarihsel kökenler ve önemli dönüm noktaları

2021W3C, APNG spesifikasyonunu tanınmış bir topluluk standardı olarak resmen kaydeder.
2017Chrome 59 yerel APNG desteği ekledi; destek tarayıcıya ve sürüme göre değişir.
2008Apple, animasyonlu iOS çıkartmaları ve Safari tarayıcı grafikleri için APNG'yi benimser.
2004Stuart Parmenter ve Vladimir Vukicevic, Mozilla Firefox ağ durumu animasyonları için APNG'yi belirler.

Temel Avantajlar ve Artılar

  • Tam 24 bit RGB renk ve 8 bit alfa şeffaflığı, 1 bit GIF şeffaflığındaki pürüzlü kenar bozulmalarını tamamen ortadan kaldırır.
  • APNG dosyaları statik bir görüntü içerir; animasyon parçalarını yok sayan kod çözücüler bunu hareketsiz görüntü olarak gösterebilir.
  • Birçok güncel tarayıcı APNG oynatmayı destekler; kullanılabilirlik tarayıcıya ve sürüme bağlıdır.

Teknik Kısıtlamalar ve Eksiler

  • WebM veya MP4 gibi modern video tabanlı animasyon formatlarından daha büyük dosya boyutları.
  • Eski GIF'e kıyasla üretim sırasında daha yüksek kodlama karmaşıklığı ve CPU kullanımı.
  • Özel video codec bileşenlerinde bulunan kareler arası hareket vektörü tahmininin eksikliği.

İlginç Teknik Bilgiler

  • PNG Geliştirme Grubu, benimsenmeyen ayrı MNG biçimini tercih ederek APNG'yi 2007'de resmen reddetti.
  • Apple, iOS 10 Mesajlar uygulamasındaki animasyonlu çıkartmalarda APNG kullanarak biçimin mobil cihazlarda yaygınlaşmasını sağladı.
  • 1990'lardan kalma çok eski bir resim görüntüleyicide APNG dosyası açarsan, program çökmeden yalnızca ilk kareyi gösterir.

Sıkça Sorulan Teknik Sorular

APNG neden GIF'ten daha iyidir?

APNG 16,7 milyon renk ve 256 düzeyli alfa şeffaflığıyla yumuşak geçişleri destekler; GIF ise 256 renkle ve kademesiz 1 bit alfa şeffaflığıyla sınırlıdır.

Güncel tarayıcılar APNG’yi destekliyor mu?

Birçok güncel tarayıcı APNG oynatmayı destekler; kullanılabilirlik tarayıcıya ve sürüme bağlıdır.

Bir APNG'yi standart bir GIF veya MP4'e dönüştürebilir miyim?

Evet. File2File.app, APNG animasyonlarını web tarayıcında doğrudan hafif GIF, MP4 veya WebM dosyalarına dönüştürebilir.