Png dosyalarını sıkıştırmak için en iyi araçlar

Blogumda yer verdiğim yazılarda, kendimi daha kolay ifade edebilmek için sık sık ekran görüntülerini kullanarak anlatım yapıyorum. Bu görüntüler için seçtiğim imaj formatı ise png.

Png, özellikle metin ve grafik içeren görüntüleri paylaşmak için ideal bir yol. Ben de bu yüzden tercih ettim. Jpeg kayıplı bir imaj formatı olduğundan, imajlardaki metinler bozuk görünebiliyor. Png formatında bu söz konusu değil. Fakat png kullanmanın da bir dezavantajı var; büyük dosya boyutları.

Blogda kullandığım bazı anlatımlarda, çok fazla imaj kullanınca sayfa boyutları 15mb’a kadar çıktı. Tabi bu hem kullanıcı hem de SEO açısından kabul edilemez bir rakam.

Bu sebeple, blogum için bir png sıkıştırma operasyonu yaptım. Bu işi yaparkende alanındaki en iyi sıkıştırma programlarını test ederek herkese yardımcı olabilecek bir kılavuz hazırladım.

Png dosya boyutunu küçültmek… Ama nasıl?

Herhangi bir dosyanın boyutunu küçültmenin iki yolu mevcut. Bu png dosyaları için de geçerli; kayıpsız sıkıştırma ve kayıplı sıkıştırma…

Bir bilginin içeriğini değiştirmeden dijital olarak tekrar düzenlenmesi ile yaratılan kazanıma kayıpsız sıkıştırma diyoruz. Eğer boyuttan kazanırken, bilgi de değişiyorsa o zaman kayıplı sıkıştırma diyoruz. (Daha fazlası için; Lossless compression, Lossy compression)

Bir png dosyasını kayıpsız olarak sıkıştırdığımızda görüntü kalitesi değişmezken boyutu küçülüyor. Kaliteden ödün vererek, kayıplı sıkıştırmayı tercih ettiğimizde ise kazandığımız alan çok daha fazla oluyor.

İşte bu iki yöntemi kullanan çözümler bulunuyor. Bu çözümlere online olarak erişebildiğimiz gibi bilgisayarımızda da kullanmamız mümkün.

Png sıkıştırmak için online servisler

Eğer png dosyası sayınız azsa ve dosyalarınızı 3. parti bir web sitesine yüklemek sizin için bir problem teşgil etmeyecekse, png dosyalarını sıkıştırmak için bilgisayarınıza yazılım yüklemenize gerek yok.

Web üzerinde hizmet veren çok sayıda png sıkıştırma sitesi mevcut. Bunların en popülerleri ve kalitelileri ise işte burada; Yahoo! Smush.it, Kraken Image Optimizer ve TinyPNG

Ben bu servislere iki tane daha ekledim ve kısa tanıtımlarını hazırladım, kısaca bir göz atalım;

000014-02-01

Yahoo! Smush.it

Yahoo tarafından geliştiricilere sağlanan imaj sıkıştırma servisi. Png dışında jpeg ve gif formatlarını da destekliyor. Kayıpsız sıkıştırma yapıyor.

Servisin desteklediği maksimum dosya boyutu 1 mb. Png sıkıştırma için kullandığı kütüphane Pngcrush. Site PNGOUT, OptiPNG ve pngrewrite kütüphanelerini de deneysel olarak kullandığını belirtiyor.

Servisin bu şekilde internet üzerinden kullanımı pek rahat değil. Fakat WP Smush.it gibi WordPress eklentileri ile servisi hiç yorulmadan kullanmak mümkün.

000014-02-02

Kraken.io

Kraken profesyonel bir imaj optimizasyon servisi. Amatör bir blog için servis ücretleri oldukça yüksek. Neyse ki, web arayüzünden ücretsiz sıkıştırma yapılabiliyor.

Ücretli versiyonun getirdiği profesyonel hizmetleri bir kenara koyarsak, ücretsiz olarak 1 mb boyuta kadar olan dosyalar sıkıştırılabiliyor. Sıkıştırma kayıplı yada kayıpsız olarak yapılabiliyor. Servis png dışında jpeg ve gif formatlarını da destekliyor. Resmi olarak açıklamamış ama, burada yazan bilgiye göre Kraken.io, pngquant kütüphanesini kullanıyor.

000014-02-03

TinyPNG

TinyPNG, kayıplı png sıkıştırması yapan ücretsiz bir servis. Servis ile maksimum 5mb'a kadar dosyaları sıkıştırabiliyorsunuz.

Servis, geliştiriciler için api de sunmakta. Bu apiyi kullanan wordpress eklentileri çoktan yayınlanmış bulunuyor; Compress PNG for WP. Bu altyapı ile aylık 500 imaja kadar ücretsiz hizmet almak mümkün. Bu sayının üzeri ücrete tabi.

TinyPNG, burada yazan bilgiye göre Kraken.io gibi pngquant kütüphanesini kullanıyor.

000014-02-04

OptimizePNG

OptimizePNG, kayıplı sıkıştırma yapabilen bir servis. Dosya boyutunu %70'e kadar düşürebileceğini iddia ediyor. Yaptığım denemelerde bunun gerçekten doğru olduğunu gördüm.

Servise bir kerede 20 dosya yüklenebiliyor. Kabul ettiği maksimum dosya boyutu ise 5mb.

Png sıkıştırmak için offline araçlar

Online png servisleri kesinlikle işe yarıyor. Fakat çok sayıda dosyanız mevcutsa ve bu iş için para ve emek harcamak istemiyorsanız bilgisayarınızda kullanabileceğiniz birkaç yazılım önereceğim.

Online servisler dahil pek çok sıkıştırma yazılımı aslında özgün çözümler değildir. Bu servisler ve yazılımlar, genellikle dos arayüzüne sahip bazı küçük yazılımları/kütüphaneleri kullanır; Pngout, OptiPNG, DeflOpt, Pngcrush, Pngquant, Pngrewrite, Pngwolf, PNGUtils, …

Bizlerde bu araçları kullanıp imajlarımızı sıkıştırabiliriz. Fakat bu tür araçları kullanmak dos arayüzü kullandıklarından biraz zor. Bunun farkında olan birçok geliştirici bu araçlar için windows arayüzleri yazmış. Biz de genellikle bu yazılımları kullanıyoruz.

Şimdi bu popüler ve kaliteli sıkıştırma araçlarına bir göz atalım;

000014-03-01

PNGGauntlet

PNGGauntlet, PNGOUT, OptiPNG ve DeflOpt kütüphanelerini kombin ederek maksimum kayıpsız sıkıştırmayı elde etmeye çalışan bir yazılım.

000014-03-02

PNGoo

PNGoo, TinyPNG ve Kraken.io tarafından da kullanılan pngquant kütüphanesini kullanan bir yazılım. Kayıplı sıkıştırma ile %70'e varan alan kazanımı vadediyor.

000014-03-03

PngOptimizer

PngOptimizer, kolay kullanımlı, kayıpsız sıkıştırma yapabilen bir yazılım. Sıkıştırma kütüphanesi kendine ait. Png dışında gif, bmp ve tga dosyalarına da desteği bulunuyor.

000014-03-04

FileOptimizer

FileOptimizer, onlarca dosya formatını kayıpsız sıkıştırabilen bir yazılım. Png, desteklediği formatlar arasında.

Yazılım, neredeyse tüm 3.parti kayıpsız sıkıştırma kütüphanelerini destekliyor. Geliştirici, eğer yeni bir kütüphane bulursa onu da hemen bir sonraki versiyona dahil ediyor.

000014-03-05

ScriptPNG

ScriptPNG, neredeyse tüm png sıkıştırma kütüphanelerini kullanarak kayıplı/kayıpsız sıkıştırma imkanı sunan bir yazılım.

Yazılımın dos arayüzü sizi korkutmasın, kullanması çok kolay. Sıkıştırmak istediğiniz png dosyalarını yada bu dosyaları içeren klasörü "ScriptPNG.cmd" dosyası üzerine sürükleyip bırakmanız yeterli. Yazılım otomatik olarak çalışıyor ve size sıkıştırma düzeyini soruyor. İstediğiniz düzeyi yazıp "enter" tuşuna bastığınızda gerisini kendisi hallediyor.

Hangi sıkıştırma yazılımını kullanmalıyım?

Cevabı bulabilmek için bir test hazırladım. 10 adet dosyayı bahsettiğim araçlar ile sıkıştırdım ve sonuçta elde ettiğim yeni dosya boyutlarını listeledim. Sonuçlar bu şekilde;

000014-01-02

Gördüğünüz gibi, en başarılı kayıpsız sıkıştırmayı FileOptimizer ve ScriptPNG sunuyor. Bu şaşırtıcı değil çünkü bu iki yazılım, neredeyse tüm sıkıştırma kütüphanelerini birbiri ardına kullanarak kayıpsız sıkıştırma için yapılabilecek herşeyi yapıyor.

Bununla birlikte kayıpsız testin gerçek lideri; ScriptPNG. FileOptimizer, png dosyaları ile o kadar yavaş çalışıyor ki, birkaç yüz dosyayı bir kerede sıkıştırmanız için peygamber sabrı gerekiyor.

Kayıplı sıkıştırmada ise lideri belirlemek biraz daha zor. Dosya boyutuna göre Optimizilla şampiyon. Fakat kayıplı sıkıştırmada dosya kalitesinden taviz verdiğimiz için, optimum sıkıştırmayı yapmak daha önemli. Yani minimum kalite kaybı ile maksimum sıkıştırmayı yakalabilmek önemli.

Kendi gözlerinizle görüp değerlendirebilmeniz için örnek bir dosyaya ait sıkıştırma sonuçlarını aşağıda veriyorum. Burada özellikle sarı on/off butonuna dikkat etmenizi öneririm. Gradient renk dağılımından dolayı en çok falso orada verilecektir.

000014-04-01

Sıkıştırma Yok/325 KB

000014-04-02

PNGoo v0.1.1/129 KB

000014-04-03

ScriptPNG v04.05.2014-Kayıplı 9/126 KB

000014-04-04

Kraken/123 KB

000014-04-05

TinyPNG/122 KB

000014-04-06

ScriptPNG v04.05.2014-Kayıplı 8/113 KB

000014-04-07

Optimizilla/112 KB

000014-04-08

OptimizePNG/112 KB

Gözlerim beni yanıltmıyorsa, ScriptPNG, 9 numaralı opsiyonu ile en kaliteli sonucu veriyor. Bu şekilde benim açımdan testin lideri oluyor. Elde edilen sıkıştırma miktarı da oldukça tatmin edici.

Bu testi, kazanç miktarını daha iyi görebilmek için tekrarladım. Bu kez online hizmetleri kullanmadım ve dosya sayısını 250’ye arttırdım. Sonuçları değerlendirelim;

000014-01-03

Kayıpsız testte, lider değişmiyor. Kayıplı testte ise “PNGoo v0.1.1” ile “ScriptPNG v04.05.2014-Kayıplı 9” yer değiştirmiş. Bu normal, test ettiğimiz imaj sayısı arttıkça, bazı yazılımların sıkıştırmada daha başarılı olduğu türdeki örnekler artabilir dolayısıyla sıralama bir miktar değişebilir.

Son olarak konuyu kapatırken iki kritik noktaya daha değinmek istiyorum.

000014-01-04PNG için özel hazırlanmamış imaj optimizasyon yazılımları, png imajlarınızı küçültmek yerine büyütebilir. Bu konuya dikkat etmelisiniz. Örneğin çok ünlü imaj sıkıştırma yazılımı Caesium v1.7.0 ile test 2’yi yaptığımda, toplam dosya boyutunun 5.2 mb arttığını gördüm.

PNG imajlarının boyutu, jpeg formatından doğal olarak büyüktür. Tüm bu işlemleri yapsanız dahi %90 sıkıştırma uygulanmış bir jpeg dosyası boyutuna muhtemelen inemeyeceksiniz. PNG normal fotoğraflar için uygun bir format değil. Ama yazı içeren, düz renklerden oluşan imajlar için harika bir format. Bu nedenle, fotoğraf içeriğinde jpeg tercih etmenizi, metin içeren imajlarınız için png tercih etmeniz menfaatinizedir.

Leave a Reply