मूल फ़ाइलों को अधिलेखित करने के लिए pngcrush कैसे प्राप्त करें?


15

मैंने पढ़ा है man pngcrushऔर ऐसा लगता है कि पीएनजी फ़ाइल को कुचलने और मूल पर सहेजने का कोई तरीका नहीं है। मैं पीएनजी के लायक कई फ़ोल्डर्स को संपीड़ित करना चाहता हूं, इसलिए यह सब एक कमांड के साथ करना उपयोगी होगा!

वर्तमान में मैं कर रहा हूँ pngcrush -q -d tmp *.pngतो मैन्युअल रूप से फ़ाइलों को tmpनिर्देशिका से मूल फ़ोल्डर में कट-पेस्ट करना । तो मुझे लगता है कि mvजाने का सबसे अच्छा तरीका हो सकता है? कोई बेहतर विचार?

जवाबों:


17

सभी एक लाइन पर:

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

करना चाहिए।

(हालांकि अब तक मेरे स्वयं के परीक्षणों में, जिन आधे से अधिक पींगों का मैंने परीक्षण किया pngcrushथा, उनमें से कम बाद में छोटे थे, इसलिए मुझे बिना रंग के रंग मिला।)


धन्यवाद! पीएनजी को संपीड़ित करने की मात्रा इस बात पर निर्भर कर सकती है कि वे कैसे बनाए गए थे। मेरा मानना ​​है कि Photoshop के "वेब के लिए सहेजें" में PNG कोल्हू का कुछ रूप है।
DisgruntledGoat

मेरा अधिकांश ImageMagick के आयात कमांड के साथ बनाया गया था। मैं जब भी संभव हो फोटोशॉप जैसे वाणिज्यिक सॉफ्टवेयर से बचता हूं।
frabjous

4
बेहतर संपीड़न के लिए उपयोग करें।
कोलिन एंडरसन

1
अन्य जवाब अब नए pngcrush साथ बेहतर है।
ह्यूगो

22

संस्करण 1.7.22 के बाद से, pngcrushएक अधिलेखित विकल्प है।

प्रयत्न

pngcrush -ow file.png

अधिक जानकारी के लिए चांगेलॉग देखें :

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.
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.