Ekipten zanaat, formatlar ve iyi bir yuvarlak kırpmanın arkasındaki küçük kararlar hakkında notlar.
Fotoğraf içerikli PNG'ler neden bu kadar büyük
PNG her pikseli hiç kaybetmeden kaydetmeye söz verir, ve bu söz bir fotoğrafta pahalıdır. Milyonlarca yumuşakça kayan tonla sıkıştırıcının tahmin edeceği ya da daraltacağı neredeyse bir şey yoktur, bu yüzden dosya şişer. Sıradan bir 1600x1200 fotoğraf PNG olarak 3 ila 5 MB'da oturabilir, ama tıpatıp aynı görsel kalite 85'te bir JPEG olarak 200 ila 400 KB'a sığar. Fark, JPEG'in yaslandığı kosinüs dönüşümüne iner, ki görseli 8x8 bloklara böler, gözün zar zor fark ettiği yüksek frekanslı ayrıntıyı atar ve kalanı sıkıca paketler. Sürekli tonlu malzeme, yani aşağı yukarı tüm fotoğrafçılık, çarpıcı biçimde küçülür. PNG'nin kusursuz sadakati düz grafiklerde ve süren işlerde hakkını verir, ama paylaşmayı düşündüğünüz bir fotoğraf için basitçe yanlış bir ambalajdır.
Saydamlık ve alfa kanalı
8 bitlik bir alfa kanalı bir PNG'nin her piksel için, tamamen berraktan tamamen katıya kadar herhangi bir opaklık düzeyini kaydetmesini sağlar. JPG böyle bir alan sunmaz, bu yüzden saydamlığın yaşayacağı yer yoktur. Görsel motoru bir PNG'yi JPEG olarak yeniden oluştururken, önce görseli seçilmiş bir zeminin üzerine serer, ve o zemin varsayılan olarak beyazdır, ki berrak bölgelerin sonradan beyaz okunmasının nedeni tam da budur. Çıkarım açıktır, saydam bir JPG var olamaz, çünkü biçimin böyle bir kavramı yoktur. Kesilen kısmın hayatta kalması gerektiğinde, WebP ya da dokunulmamış PNG tek yollarınızdır. Araluma dolgu olarak beyaza karar verir, çünkü bu JPG'lerin en sık vardığı belgelere, slaytlara ve vitrin listelerine karışır.
Ölçülen kayıt başarımı
Bunların hepsi bir Linux masaüstünde Chrome 148'den geliyor, tarayıcının kendi JPEG kaydına yaslanarak. 0,12 MP'de, 400x300 bir küçük resim yaklaşık 10 ila 15 milisaniyede sarılır. 0,78 MP'ye, 1024x768 bir kareye yükseltin, ve 13 ila 20 milisaniyeye yakın oturur. 3840x2160'ta 8 MP'lik bir çekim kabaca 1,4 saniye gerektirir, ve 8000x6000'de 48 MP'lik bir dev bile yalnızca 1,5 saniye civarı ister. Bir JPG'yi bu şekilde yazmak, aynı resmin PNG'sini yazmayı rahatça geçer, ve AVIF'i tamamen aşar, ki ayrı bir modül yüklemeli ve o 48 MP'lik görselde masaüstünde bile 25 saniye debelenebilir. Hepsi bir arada, bu çevir ailesinin herhangi bir yerindeki en hızlı rotalardan biridir, ve getirilmesi hiç ekstraya mal olmaz, çünkü JPEG yazıcısı zaten her tarayıcıda yaşar.
EXIF ve üst veri işleme
Görseli yeniden oluşturmak, sonuç JPG'sinden EXIF, IPTC ve XMP etiketlerini her tarayıcıda temizler, ki bu GPS koordinatlarını, kamera gövdesini, çekim zaman damgasını, telif metnini ve PNG'nin taşıdığı her özel alanı süpürür. ICC renk profilleri ayrı bir rota tutar, burada Chrome ve Safari sRGB profilini çıktıda korurken Firefox onu geri kalanıyla birlikte siler. Yani JPG her yerde sRGB güvenlidir, ama Display-P3 ya da Adobe RGB gibi geniş renk uzaylı bir etiket Firefox'tan geçemeyecektir. Hattınız tüm o üst veriyi tutmaya bağlıysa, sonrasında amaca özel bir araçla yönetin. Gündelik web ve paylaşım için etiketleri kaybetmek hoş gelir, biraz ağırlık kırpar ve konum verisini fotoğraflarınızdan çeker.
JPG bozulmaları ne zaman görünür
JPEG 8x8 bloklarla akıl yürütür. Tek bir bloğun içine çok farklı iki renk arasında sert bir sıçrama düşürün, ve JPEG sıkıştırması onu yalnızca bir avuç frekans terimiyle çizebilir, kenara sokulan daha açık ya da daha koyu piksellerden oluşan soluk bir hale, yani halkalanma bırakarak. Fotoğraflar bunu iyi saklar, çünkü kenarları asla jilet gibi temiz değildir ve çevredeki mikro değişim yaklaşımı maskeler. Ama ekran görüntüleri, logolar, net kenarlı kutular, harfler ya da yan yana düz renk levhaları onu her kalitede ortaya çıkarır, çünkü matematiğin tam da zorlandığı sinyal budur. Kural kendini yazar, ekran görüntülerini, logoları ve metin ağırlıklı görselleri JPG'den uzak tutun. Onları PNG'de bırakın, ya da halkalanmayı tümden atlayan yalın bir dosya için WebP'ye geçin.
Gizlilik ve işin nereye düştüğü
İşin nereye düştüğü miktara bağlıdır. Tek bir görsel için hiçbir şey tarayıcıdan çıkmaz ve bunu saniyeler içinde canlı kontrol edebilirsiniz. Chrome DevTools'u açın, Ağ paneline geçin, XHR ve Fetch ile filtreleyin ve bir dosya dönüştürün. Kodlama çalışırken hiçbir şey görünmez. İki veya daha fazlası için Araluma onları sunucumuza gönderir, sunucu dönüştürür, sonucu toplar 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 her şeyi cihazda, ağ dışında tutar, bir grup ise bunu birçok dosyayı tek seferde bitirmekle değişir. Özel bir şeyin ekran görüntüsü ya da konumunuzla işaretli bir fotoğraf için teker teker dönüştürmek onu makinenizde tutar, gerçek bir fark, slogan değil.