Hi Leute!
Ich speichere gerne, wenn ich durch`s Web surfe, alle möglichen Bilder ab, hauptsächlich JPEG`s und GIF`s.
Die GIF`s wandle ich wegen der besseren Kompression und dem "Burn all GIF`s" Prinzip ( <a href="http://burnallgifs.org/" target="_blank"><!--auto-->http://burnallgifs.org/</a><!--auto--> )
in mit dem Befehl "gif2png -O $foo" in PNG`s um.
Es gibt ein Programm namens <!--http--><a href="http://pmt.sourceforge.net/pngcrush/" target="_blank">pngcrush</a><!--url--> , mit dem man die PNG`s weiter schrumpfen lassen kann. Da die Verbesserung nur ein paar Prozent geringerer Größe bringt (man kann mit der Option -brute das Programm per brutforce die Beste von 118 Kompressionen wählen lassen), scheint es eigentlich wenig nützlich. Wenn ein PNG-Bild allerdings online gestellt werden soll, oder man - wie in meinem Fall - sehr viele PNG`s hat, die man z.B. auf ein externes Medium packen will, können ein paar KB`s pro Bild schon etwas ausmachen.
Jetzt das Problem: Das Programm pngcrush hat einen Nachteil; es lässt sich nicht wie z.B. <u>strip</u> ohne Parameter auf Dateien ausführen, sondern man muss ein input_bild und ein output_bild angeben. Ein typischer pngcrush-Befehl könnte so aussehen:
pngcrush -brute input.png output.png
Das bedeutet, dass ich pngcrush nicht schnell mal kurz auf 50 Dateien loslassen kann, sondern jede Datei einzeln selektieren muss, was ziemlich lästig und unökonomisch wäre.
Hat jemand eine Idee, z.B. als Shell-Script, parat, mit der man diesen "Bug" umgehen kann, etwa durch temporäre Umbenennung und wieder-zurück-Benennung?
Mir geht es nicht nur um das Problem selbst, sondern auch um das Prinzip, wie ich solche Probleme angehen und lösen kann; und das kann man unter anderem dadurch, dass man von anderen lernt <img src="http://www.pl-forum.de/UltraBoard/Images/Happy.gif" border="0" align="middle">
Vielen Dank für jede Hilfe!
cu
pngcrush
Re: pngcrush
Wenn ich dich richtig verstehe, hast du bereits Bilder im PNG Format und willst diese nochmals im PNG Format komprimieren.
Falls es das Tool "pngcrush" zulässt, und der Input Name gleich dem Output name sein darf, probier mal folgendes:
<blockquote><pre><font size="1" face="">code:</font><hr><font face="Courier New" size="2">
find /PATH/TO/PICS -name '*.png' -exec pngcrush -brute {} {} ;<!--no-->
</font><hr></pre></blockquote>
Um dieses Script immer im aktuellen Verzeichnis auszuführen musst du /PATH/TO/PICS durch einen . (Punkt) ersetzen.
Gruß
Thorsten
Falls es das Tool "pngcrush" zulässt, und der Input Name gleich dem Output name sein darf, probier mal folgendes:
<blockquote><pre><font size="1" face="">code:</font><hr><font face="Courier New" size="2">
find /PATH/TO/PICS -name '*.png' -exec pngcrush -brute {} {} ;<!--no-->
</font><hr></pre></blockquote>
Um dieses Script immer im aktuellen Verzeichnis auszuführen musst du /PATH/TO/PICS durch einen . (Punkt) ersetzen.
Gruß
Thorsten
Re: pngcrush
Da ist ein klein wenig etwas schief gegangen:
der Befehl muss heißen:
<blockquote><pre><font size="1" face="">code:</font><hr><font face="Courier New" size="2">
find /PATH/TO/PICS -name '*.png' -exec pngcrush -brute {} {} \<!--no-->;
</font><hr></pre></blockquote>
Gruß
Thorsten
der Befehl muss heißen:
<blockquote><pre><font size="1" face="">code:</font><hr><font face="Courier New" size="2">
find /PATH/TO/PICS -name '*.png' -exec pngcrush -brute {} {} \<!--no-->;
</font><hr></pre></blockquote>
Gruß
Thorsten
Re: pngcrush
@Thorsten:
> Falls es das Tool "pngcrush" zulaesst
Leider nein. Dieses pngcrush scheint ueberhaupt noch sehr unausgereift zu sein: kein ordentliches configure-Skript,
statisch gelinkte libpng...
Trotzdem vielen Dank fuer deine Antwort! Ich werd` mir den Syntax merken, um spaeter bei anderen Problemen das gleiche Schema zu verwenden.
cu
> Falls es das Tool "pngcrush" zulaesst
Leider nein. Dieses pngcrush scheint ueberhaupt noch sehr unausgereift zu sein: kein ordentliches configure-Skript,
statisch gelinkte libpng...
Trotzdem vielen Dank fuer deine Antwort! Ich werd` mir den Syntax merken, um spaeter bei anderen Problemen das gleiche Schema zu verwenden.
cu
Re: pngcrush
Und wieder einmal bewährt sich das altbekannte RTFM - Prinzip <img src="http://www.pl-forum.de/UltraBoard/Images/Happy.gif" border="0" align="middle">
Ich habe herausgefunden, dass man mit dem Parameter "-d" die optimierten PNG`s
in ein Verzeichnis sichern kann. Trotzdem ist es für mich unverständlich, dass es keine -overwrite
- Funktion oder ähnliches gibt.
Trotzdem vielen Dank für deine Bemühungen!
cu
Ich habe herausgefunden, dass man mit dem Parameter "-d" die optimierten PNG`s
in ein Verzeichnis sichern kann. Trotzdem ist es für mich unverständlich, dass es keine -overwrite
- Funktion oder ähnliches gibt.
Trotzdem vielen Dank für deine Bemühungen!
cu