Animasyonlu PNG (.apng)
W3C StandartAPNG, 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:
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 0AASCII GÖSTERİMİ: ‰PNG....
Standartlaştırma: W3C Community Group Report (2021) / Mozilla Extension
Teknik Özellikler
| Kapsayıcı mimarisi | acTL (animasyon denetimi), fcTL (kare denetimi) ve fdAT (kare verisi) parçalarını içeren PNG parça akışı |
| Sıkıştırma | Kare 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 Boyutlar | 2.147.483.647 x 2.147.483.647 piksel (PNG 31 bit sınırı) |
| Şeffaflık | Tam 8 bit alfa kanalı şeffaflığı (256 düzeyde yumuşak yarı saydamlık) |
| Akış ve Aşamalı İşleme | 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. |
Teknik karşılaştırma matrisi: APNG ve rakipleri
| Teknik Nitelik | APNG (Güncel) | GIF | WEBP | AVIF |
|---|---|---|---|---|
| Renk Derinliği | 24 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 maskesi | 8 bit yumuşak geçişli alfa | 8 bit / 10 bit yumuşak geçişli alfa |
| Geriye Dönük Uyumluluk | Bazı 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 yok | Eski görüntüleyicilerde yok |
| Sıkıştırma Verimliliği | Deflate (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ı
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.
İlgili APNG Dönüşüm Çiftleri
APNG’yi GIF’e dönüştürmek, uygulama GIF’i destekleyip APNG’yi desteklemiyorsa yardımcı olabilir. GIF kareleri 256 renkle sınırlar ve oynatma uygulamaya bağlıdır.
Animasyonlu bir GIF dosyasını APNG dosyasına dönüştürmek, eski bir 256 renkli raster görüntü animasyonunu pürüzsüz şeffaflığa sahip modern bir gerçek renkli diziye yükseltir.
Teknik özellik föyünde kullanmak için APNG'nin açılış karesini tek sayfalık bir PDF'ye yerleştir. PDF statik olur; sonraki kareler ve oynatma zamanlamaları eklenmez.