Bir iPhone fotoğrafı 3–6 MB. Masaüstünün ekran görüntüsü 2–4 MB. "Kaliteyi kaybetmeyeyim diye PNG kaydettiğin" dosya çoğu zaman 8 MB. Bunu bir portföyle, bir blogla, bir e-posta zinciriyle çarp; 500 KB'lik bir sürümden kimsenin ayırt edemeyeceği görseller için yüzlerce megabayt göndermiş olursun.
Görsel sıkıştırma bu farkı kapatır. Zebra modern görsel kodeklerini WebAssembly üzerinden doğrudan tarayıcında çalıştırır. Dosya cihazında kalır. Çoğu fotoğraf, görünür kalite kaybı olmadan %60–90 daha küçük çıkar.
Üç adım
- Görsel sıkıştırıcıyı aç.
- Bir JPG, PNG veya WebP sürükle (25 MB'a kadar). Toplu sıkıştırma için birkaç dosyayı aynı anda bırak — giriş yaptığında 5 dosyaya, Premium'da 15 dosyaya kadar.
- Hafif, Orta ya da Güçlü seç, Sıkıştır'a tıkla, sonra İndir. Tek dosya doğrudan iner; birden fazla dosya tek bir ZIP olarak çıkar.
4 MP'lik bir iPhone fotoğrafı Mac'te yaklaşık 2 saniyede biter. 12 MP'lik bir fotoğraf 4–6 saniye sürer. Mobil Safari üstüne birkaç saniye ekler. 15 görsellik bir grup, dosya başına kabaca aynı sürede sırayla işlenir — yükleme olmadığı için hız internetin değil, işlemcin. Bunun yerine bir belgeyi küçültmen gerekiyorsa, aynı yaklaşım PDF sıkıştırıcıda da geçerlidir.
Görseller neden büyür
- Çözünürlük. 4032×3024 bir iPhone JPEG'i 12,2 milyon piksele sahip. Sıkıştırılmamış hâlde piksel başına 4 bayt olsa bile bu 50 MB'lık ham veri demek. JPEG bunu ~4 MB'a indirir, ama daha akıllı bir kodlayıcı ve biraz daha düşük bir kalite ayarıyla yeniden kodlayarak %60 daha kırpabilirsin.
- Format seçimi. PNG her pikseli kayıpsız saklar. Keskin metinli ekran görüntüleri veya şeffaflıklı simgeler için doğru seçim. Fotoğraflar için yanlış — JPEG'in seve seve atacağı gürültüyü kodlamak için 4 MB harcıyorsun.
- Kodlayıcı kalitesi. Tarayıcının kendi JPEG kodlayıcıları temkinli. Zebra, aynı kalitede %10–20 daha küçük dosya için trellis kuantizasyonu ve aşamalı taramalar kullanan ayarlı bir JPEG kodlayıcı kullanır. Aynı görsel, daha küçük dosya.
- EXIF verisi. GPS koordinatları, kamera modeli, lens, tam düzenleme geçmişi. Bazen yararlı, çoğu zaman ihtiyacın olmayan yüzlerce KB. Zebra yeniden kodlamada EXIF'in çoğunu siler.
Zebra'nın kullandığı üç kodek
Zebra, dosya formatına ve içeriğine göre doğru kodeği seçer:
- mozjpeg — JPEG girdileri ve alfa içermeyen PNG'lerin otomatik dönüşümü için. Trellis kuantizasyonu kullanarak eşit kalitede tarayıcının kendi kodlayıcılarını ve Photoshop'un "Web için Kaydet"ini %10–20 tutarlı biçimde geçer.
- oxipng — gerçek şeffaflığı olan PNG'ler için. Çoklu filtre geçişleriyle kayıpsız DEFLATE yeniden optimizasyonu. 1 MB'lık bir PNG simge seti genelde 700–800 KB'a iner; veri bit-tam, sadece daha sıkı paketlenmiş.
- libwebp — WebP girdileri için. WebP zaten verimli, ama seçilen bir kalite hedefinde yeniden kodlamak yine de %20–40 daha kırpar.
Her üç kodek de jSquash projesi aracılığıyla WebAssembly'ye derlenir. Hepsi tamamen tarayıcı sekmenin içinde çalışır — sunucu yok, yükleme yok, telemetri yok.
Otomatik mod: güvenli olduğunda PNG → JPEG
Çoğu "PNG" dosyasının aslında PNG olmasına gerek yoktur. İnsanlar "kayıpsız = daha iyi kalite" diye düşünüp fotoğrafları PNG olarak kaydeder, sonra 400 KB'lik bir JPEG'in birebir aynı görüneceği yerde 4 MB'lık bir dosyayla kalırlar.
Zebra bıraktığın her PNG'yi kontrol eder: alfa kanalı tamamen opaksa (şeffaflık yoksa) dosya JPEG olarak yeniden kodlanır. Bu, fotoğraf-PNG'lerinde algısal fark olmadan 5–10 kat boyut kazancıdır. PNG gerçek şeffaflık kullanıyorsa (arayüz taslağı, simge, çıkartma) PNG olarak kalır — Zebra alfayı hiç ellemeden onu kayıpsız yeniden optimize eder.
Seçim yapmana gerek yok. Dosyayı bırak. Doğru yolu biz seçelim.
Hafif, Orta, Güçlü
| Ayar | JPEG q | WebP q | PNG opt. düzeyi | Tipik tasarruf |
|---|---|---|---|---|
| Hafif | 88 | 88 | 2 | %30–50 |
| Orta | 78 | 78 | 4 | %60–80 |
| Güçlü | 65 | 65 | 6 | %80–95 |
Hafif, kalite 88'de herhangi bir normal ekranda orijinalle görsel olarak aynıdır. Basacağın ya da yakınlaştıracağın fotoğraflar için ya da sadece metaveriyi soyup kodlamayı sıkılaştırmak istediğinde kullan.
Orta, kalite 78'de varsayılan. Çıktı A4 basacak kadar keskin, Retina veya mobilde ayırt edilemez. Aksi için özel bir nedenin yoksa bunu seç.
Güçlü, kalite 65'te %200+ yakınlaştırırsan düz alanlarda (gökyüzü, duvar) görünür bozulmalar oluşturur, ama boyutun piksel ayıklamasından daha önemli olduğu e-posta, web paylaşımı ve sohbet için birebir.
Hiçbir şey neden cihazından çıkmıyor
Çoğu ücretsiz görsel sıkıştırıcı — TinyPNG, Compressor.io, ImageOptim Online — dosyanı sunucularına yükler. Bu modelin gerçek maliyetleri var:
- Görselin başkasının diskine iner. "24 saatte silinir" sözü olsa bile bir saklama penceresi vardır. Kimlik fotoğrafları, özel sohbetlerin ekran görüntüleri ya da özel herhangi bir şey için o pencere yanlış penceredir.
- İki kat bant genişliği yüklersin. Sunucuya yukarı, sunucudan aşağı. Mobilde yavaş olan kısım budur.
- EXIF verisi dosyayla birlikte gider. Telefonunun GPS koordinatları JPEG başlığına gömülüdür. Yüklediğinde sunucu onları da okur.
Zebra modern görsel kodeklerini tarayıcı sekmende WebAssembly modülleri olarak çalıştırır. Görsel yerelde çözülür, yeniden kodlanır ve yeniden paketlenir. Ağ çağrısı yok. Saklama penceresi yok. Sayfayı yükledikten sonra çevrimdışı olsan bile sıkıştırma çalışmaya devam eder.
JPG mı, PNG mi, WebP mi — hangisini tutmalı
Sıkıştırmadan sonra kaydetmen gereken format için kısa bir karar ağacı:
- Gerçek bir sahnenin fotoğrafı, şeffaflık gerekmiyor mu? JPEG. Baskı hariç her şey için kalite 78–85 fazlasıyla yeter.
- Şeffaflıklı fotoğraf (nadir — genelde bir kesit)? İzleyicin 2022+ tarayıcılar kullanıyorsa WebP. Güvenli yedek olarak PNG.
- Arayüz ekran görüntüsü, simge, logo, keskin metinli her şey? PNG. Metin çevresindeki JPEG halkalanma bozulmaları çirkin ve düzeltilemez.
- Animasyon? WebP (ya da çok eski uyumluluk için GIF). Animasyonlu PNG de işe yarar ama desteği düzensiz.
- Tam tarayıcı desteği olan modern web? Her şey için WebP. Zebra eklediğinde AVIF.
Ne zaman sıkıştırmamalı
- Düzenleme için ana dosyalar. Orijinalleri tam kalitede tut. Kopyaları sıkıştır. Amaç sadece bir sosyal medya en-boy oranına sığdırmaksa, çoğu zaman daha akıllı ilk adım kaliteyi düşürmek yerine fotoğrafı kırpmaktır.
- Zaten minik dosyalar. 200 KB altı genelde değmez — yeniden kodlamanın ek yükü kazandığından fazlasına mal olabilir.
- Keskin metinli ekran görüntüleri. JPEG halkalanma bozulmaları metni mahveder. PNG'de kal — Zebra onu kayıpsız yeniden optimize eder (bu, şeffaflıklı ekran görüntüleri için otomatik olur).
- A3 ya da daha büyük basacağın her şey. Hafif'te kal ya da sıkıştırmayı atla.
Zebra ayrıca yeniden kodlamanın dosyayı büyüttüğü durumları (zaten optimize edilmiş PNG'ler, düşük kalitede minik JPEG'ler) tespit eder ve küçültüyormuş gibi yapmak yerine sana orijinali geri verir.