Orijinal dosyaların üzerine yazmak için pngcrush nasıl edinilir?


15

Okudum man pngcrushve bir PNG dosyasını ezmenin ve orijinalin üzerine kaydetmenin bir yolu yok gibi görünüyor. PNG'lerin birkaç klasörünü sıkıştırmak istiyorum, bu yüzden hepsini tek bir komutla yapmak yararlı olacaktır!

Şu anda pngcrush -q -d tmp *.pngel ile dizinden tmporijinal klasöre dosyaları yapıştırarak yapıyorum . Yani sanırım kullanmak mven iyi yol olabilir mi? Daha iyi bir fikrin var mı?

Yanıtlar:


17

Hepsi bir satırda:

for file in *.png; do pngcrush "$file" "${file%.png}-crushed.png" && mv "${file%.png}-crushed.png" "$file"; done

yapmalı.

(Şimdiye kadar kendi testlerime rağmen, test ettiğim png'lerin yarısından azı pngcrushdaha sonra daha küçüktü, bu yüzden beni etkilemedi.


Teşekkürler! PNG'leri sıkıştırabileceğiniz miktar, nasıl yapıldığına bağlı olabilir. Photoshop'un "Web için Kaydet" in yerleşik bir PNG kırıcı biçimi olduğuna inanıyorum.
DisgruntledGoat

Çoğu benim ImageMagick'in içe aktarma komutuyla oluşturuldu. Mümkün olduğunca Photoshop gibi ticari yazılımlardan kaçınırım.
frabjous

4
daha iyi sıkıştırma için -brute kullanın.
Collin Anderson

1
Diğer cevap daha yeni pngcrush ile şimdi.
Hugo

22

1.7.22 sürümünden beri pngcrushüzerine yazma seçeneği var.

Deneyin

pngcrush -ow file.png

Daha fazla bilgi için Changelog dosyasına bakın :

Version 1.7.22  (built with libpng-1.5.6 and zlib-1.2.5)
  Added "-ow" (overwrite) option.  The input file is overwritten and the
    output file is just used temporarily and removed after it is copied
    over the input file..  If you do not specify an output file, "pngout.png"
    is used as the temporary file. Caution: the temporary file must be on
    the same filesystem as the input file.  Contributed by a group of students
    of the University of Paris who were taking the "Understanding of Programs"
    course and wished to gain familiarity with an open-source program.
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.