Ekipten zanaat, formatlar ve iyi bir sonucun arkasındaki küçük kararlar hakkında notlar.
Kayıpsız kap, PNG neyi saklar
PNG, DEFLATE kayıpsız sıkıştırma algoritmasını kullanır. Her pikselin RGBA değerlerini sağlandığı gibi saklar, her tarama satırına tersine çevrilebilir bir filtre uygular ve sonucu bir zlib türeviyle sıkıştırır. Kayıpsız demek, çözülen piksel değerlerinin özgünlerle baytı baytına aynı olması demektir. JPG'den PNG'ye durumunda özgünler, tarayıcının JPEG'i çözdüğünde ürettiği piksellerdir. O çözülmüş pikseller, JPEG'in özgün kaydı sırasında yaptığı tüm yaklaştırmaları zaten yansıtır, dolayısıyla PNG gerçek dünyadaki sahneyi değil yaklaştırılmış pikselleri sadakatle saklar. Ölçülen sonuçlarda 1024x768'deki 'lık bir JPEG, PNG olarak yaklaşık 'ye çözülür, 3840x2160'taki 'lık bir JPEG ise kabaca 'ye çıkar. Bu katlar içerik türleri arasında kabaca sabit kalır, çünkü oran JPEG kalite düzeyini değil çözünürlüğü izler. Kayıpsız kap, geri getirdiği için değil, önlediği için, yani daha fazla bozulmayı engellediği için değerlidir.
JPEG kalitesi neden geri getirilemez
JPEG sıkıştırması bilgiyi kalıcı olarak atar. Kayıt süreci, 8x8 piksel bloklara ayrık kosinüs dönüşümü uygular, ortaya çıkan frekans katsayılarını daha küçük bir kümeye yuvarlar ve o yuvarlanmış değerleri saklar. Yuvarlama tek yönlüdür: 47 olan ve 50'ye yuvarlanan bir katsayı sonradan 47'ye döndürülemez ve özgün değerin hiçbir kaydı dosyada kalmaz. Tarayıcı JPEG'i çözdüğünde pikselleri yuvarlanmış katsayılardan yeniden kurar, ki bunlar özgün değerlerin yaklaşımlarıdır. O yaklaştırılmış pikselleri PNG olarak yeniden kaydetmek, yaklaşımların kayıpsız bir kaydını üretir, böylece PNG bozulmuş görselin kusursuz bir temsilidir. Bu, PNG'nin ya da bu aracın bir sınırı değildir, kayıplı sıkıştırmanın temel bir özelliğidir: kayıt anında atılan bilgi gitmiştir. JPEG kalitesini iyileştirmek, sıkıştırılmamış ya da RAW özgünden başlamayı gerektirir.
Ölçülen dosya boyutu büyümesi
JPG'den PNG'ye boyut oranı görsel içeriğine göre değişir ama öngörülebilir bir örüntü izler. Karmaşık ton geçişli fotoğraflar en çok büyür, çünkü JPEG'in dönüşümü tam olarak bu içerik için ayarlanmıştır ve yüksek sıkıştırma oranlarına ulaşır, PNG'nin kayıpsız sıkıştırması ise gürültülü piksel verisinde o oranlara erişemez. Bu aracın test ölçümleri, 1024x768'deki 'lık bir JPEG fotoğrafın 'lık bir PNG, kabaca 6 katlık bir büyüme ürettiğini, 3840x2160'taki 'lık bir JPEG fotoğrafın ise 'lık bir PNG, kabaca 3,3 katlık bir büyüme ürettiğini gösterir. Ekran görüntüleri ve simgeler gibi düz renkli görseller için JPEG zaten içeriğe pek uygun değildir ve eşdeğer kalitede dosyaları daha büyük olma eğilimindedir, dolayısıyla aynı içeriğin PNG'si daha az çarpıcı büyür. Pratik sonuç açıktır: çıktı dosya boyutu kullanımınız için önemliyse, bir JPG'yi PNG'ye dönüştürmek durumu iyileştirmez, kötüleştirir.
Saydamlık, yetenek ile içerik karşılaştırması
PNG, bir kap özelliği olarak 8 bitlik bir alfa kanalını destekler, bir dosya, 0'dan (tamamen saydam) 255'e (tamamen opak) kadar piksel başına opaklık değerleri içerebilir. Bir JPG, platformun görüntü motoru üzerinden yeniden kaydedilerek PNG'ye dönüştürüldüğünde, ortaya çıkan PNG tamamen opak olur, her piksel 255 alfa değerinde, çünkü kaynak JPG'de baştan hiç saydamlık bilgisi yoktu. PNG biçimi saydamlık verisini tutmaya hazırdır, dosya yalnızca hiçbirini içermez, çünkü kaynakta yoktu. Görsele saydamlık eklemek ayrı bir işlem gerektirir, ya bir düzenleyicide arka planı maskelemek ya da otomatik bir arka plan kaldırma adımı kullanmak. Özneyi tanıyacak şekilde eğitilmiş bir arka plan kaldırma aracı, dönüştürmeden sonra arka plan piksellerinin alfa değerlerini sıfırlayarak gerçek alfalı bir PNG üretebilir.
EXIF üst veri işleme
Yeniden kayıt boru hattı, PNG çıktısından EXIF, IPTC ve XMP üst verisini her tarayıcıda temizler. Bu, kaynak JPG'de bulunan GPS koordinatları, kamera modeli, çekim tarihi, telif metinleri ve tüm özel XMP alanlarının kaldırılması demektir. ICC renk profilleri biraz farklı bir yol izler: Chrome ve Safari çıktıda sRGB ICC profil etiketini korur, Firefox ise onu diğer tüm üst veriyle birlikte siler. Pratik sonuç, tarayıcılar arası sRGB güvenli çıktıdır, ama Display-P3 ya da Adobe RGB gibi geniş gamlı profiller Firefox'ta kaybolur. Çoğu web ve paylaşım kullanımı için üst veri kaldırma yararlıdır, çünkü çıktı boyutunu biraz azaltır ve fotoğraflardan konum verisini siler. Gömülü üst verinin korunması gereken profesyonel fotoğrafçılık ya da arşiv iş akışları için, üst veri zincirini biçim dönüştürmesinden önce ya da sonra özel bir araçla yönetin.
Pratikte gizlilik
Dönüştürmenin nerede olduğu dosya sayısına bağlıdır. Tek bir görsel için hiçbir veri tarayıcıdan çıkmaz ve bu gerçek zamanlı olarak doğrulanabilir. Chrome Kodlama sırasında liste boş kalır. İki veya daha fazla dosya için RoundCut onları sunucumuza gönderir, sunucu dönüştürür, sonucu paketler ve bir indirme bağlantısı döndürür. Bu bağlantı ve dönüştürülen dosyalar yaklaşık 2 saat içinde silinir. Tek görsel yolu tamamen cihazınızda, ağ dışında çalışır, grup yolu ise bunu birçok dosyayı tek seferde dönüştürmenin rahatlığıyla değişir. Kişisel bir belgenin ekran görüntüsü ya da konum verisi taşıyan bir fotoğraf gibi hassas içerikli görsellerde teker teker dönüştürmek her şeyi yerel tutar.