Pngcrush – TheSciencExperts.com
The source-page: https://pmt.sourceforge.io/pngcrush/
Pngcrush, PNG (Portable Network Graphics – Taşınabilir ağ grafikleri) dosyaları için bir optimize edicidir. Bir MSDOS penceresindeki bir komut satırından veya bir UNIX veya LINUX komut satırından çalıştırılabilir.
Temel amacı, çeşitli sıkıştırma seviyeleri ve PNG filtre yöntemleri deneyerek PNG IDAT veri akışının boyutunu azaltmaktır. İstenmeyen yardımcı öbekleri çıkarmak veya gAMA, tRNS, iCCP ve metin öbekleri gibi belirli öbekleri eklemek için de kullanılabilir.
Pngcrush, verilen zlib koduna statik olarak bağlandığında, zlib-1.1.3 “çift serbest” hataya karşı bağışıklık kazandığına inanılıyor, çünkü varsayılan olarak “çift serbest” girişimlerini tespit edip reddediyor. Sadece bir “Dekompresyon Hatası” mesajı oluşturur ve dosyayı reddeder.
Pngcrush açık kaynaktır ve herhangi bir ücret ödemeden herkes tarafından kullanılabilir, değiştirilebilir ve yeniden dağıtılabilir. Pngcrush.c dosyasına gömülü olan lisans eşdeğerdir, ancak libpng png.h dosyasında bulunan libpng lisansı ile aynı değildir.
Pngcrush’un şu anki versiyonu burada tanımlanmaktadır.
Pngcrush’un kaynak kodu burada.
Pngcrush’un kaynak kodu “pmt” git deposunda da bulunabilir. git.code.sf.net/p/pmt/code veya github.com/glennrp/libpng adresinden klonlayarak erişebilirsiniz. Şu anda, pngcrush kaynağı “pngcrush” dalında bulunmaktadır.
İkili çalıştırılabilirler burada. Pngcrush, her ikisi de bu pngcrush kaynak dağılımına dahil olan libpng ve zlib’i kullanır. Hafifçe değiştirilmişler:
libpng’s pngconf.h olarak değiştirildi “#include pngcrush.h” kullanılan
için “#tanımla” kütüphanenin kullanılmayan bölümleri
IDAT arabellek boyutunu büyük bir değere ayarlamak
zlib içinde TOO_FAR makrosu 32767 olarak ayarlamak için değiştirildi deflate.c
Yüksek çözünürlüklü PNGCRUSH_TIMERS dahil pngread.c ve pngwutil.c.
pngwutil.c deneme çıktıları yazarken ADLER32 sağlama toplamlarının değerlendirilmemesi için değiştirildi.
İsterseniz sadece derleyebilirsiniz pngcrush.c pngcrush kaynak dağıtımından ve stok ile çalıştırın libpng ve zlib, hangi bulunabilir PNG web sitesi, www.libpng.org/pub/png/. Eğer bunu yaparsan,
Libpng versiyonunuz desteklemiyorsa, iTXt öbek desteklenmeyecek. Libpng, varsayılan olarak 1.4.0 sürümüyle iTXt yığınını desteklemeye başlayacak.
pngcrush, 1.2.7/1.0.17 sürümünden daha önce bir yamalanmamış libpng sürümü kullanıyorsanız, Ağustos 2004’te düzeltilen çeşitli taşma koşullarına maruz kalacaktır.
pngcrush, zlib-1.1.3 çift serbest böceğine karşı savunmasız olacak, pngcrush’u zlib-1.1.3 ve PNG_USER_MEM_SUPPORTED etkin olmayan 1.0.x gibi bir libpng sürümüyle ilişkilendirirseniz.
TOO_FAR deflate.c’de 32767 yerine 4096 olacaktır,biraz daha büyük dosyalar ve biraz daha hızlı işlemle sonuçlanır.
ADLER32 sağlama toplamı her zaman değerlendirildiğinden yürütme biraz daha yavaş olacak.
bazı yüksek çözünürlüklü zamanlama detaylı sonuçlar bildirilmeyecek.
ayrıca hatalı PNG dosyalarını da okuyamazsınız “Çok fazla IDAT”.
Windows için önceden derlenmiş ikili dosyalar (MSDOS penceresinde çalışır) burada
Cosmin Truta tarafından biraz farklı özellik kümesi ve arama alanı olan bir pngcrush geliştirme çatalı var. Görmek http://www.cs.toronto.edu/~cosmin/pngtech/optipng/”
Pngcrush bir komut satırı uygulamasıdır. Bir süreklilik bırakma GUI’sini tercih ederseniz, pngcrush’u diğer komut satırı görüntü kompresörleri/optimize edicileriyle birlikte gömmek de dahil olmak üzere, birkaçı mevcut:
ImageOptim Mac için, ücretsiz, GPLv2 lisansı
Trimage Linux, Windows, Mac, ücretsiz, MIT lisansı için
Apple pngcrush’un değiştirilmiş bir versiyonunu dağıtır. Gerçek pngcrush olduğunu iddia ediyor ve pngcrush lisansının gerektirdiği şekilde kullanıcıyı kullanıcıya bildirmiyor. Geçerli PNG veri akışları olmayan dosyalar oluşturur, çünkü bunlar IHDR yığınları yerine CgBI yığınlarıyla başlar.
Apple tarafından değiştirilen pngcrush, “iPhone optimizasyonlarını” geri döndürme yeteneğine sahiptir (opak olmayan piksellerin temel renk değerlerinde kaçınılmaz hassasiyet kaybı hariç). Böyle kamu malı, açık kaynak gibi üçüncü parti uygulamalar da vardır pngdefry net bulunabilir uygulaması. Apple ve iPhone Apple, Inc.’in tescilli ticari markalarıdır olduğunu nota yükümlüyüm.
Pngcrush’un yazarı Glenn Randers-Pehrson, [email protected]’dir
Previous Post:Açık Erişim (Open Access) genel bakış
Next Post:Geliştirme, Etik Ticaret ve Özgür Yazılım