ubuntuusers.de

Batch-Konvertierung von PNG in GIF

Status: Gelöst | Ubuntu-Version: Kubuntu 6.06 (Dapper Drake)
Antworten |

thunder-storm

Avatar von thunder-storm

Anmeldungsdatum:
27. September 2006

Beiträge: 270

Hallo zusammen,

ich suche eine Möglichkeit, einen Haufen PNG-Files in GIF zu konvertieren.

Folgende Anforderungen gibt es dabei:
- die Transparenz muss hierbei erhalten bleiben, da diese Grafiken in einem Webforum verwendet werden
- die Dateigröße sollte so klein wie möglich bleiben, allerdings ohne Qualitätsverlust

Gute Dienste unter Win hat hierbei der Gif-Animator von Ulead geleistet, welcher in der Lage war, GIF-Files ohne Qualitätsverluste so klein wie möglich zu komprimieren.

Gimp macht das schon sehr gut, aber einen Batch-Modus konnte ich dort nicht endecken. Die Komprimierung ist mir zunächst aber nicht so extrem wichtig, vorangig geht es darum, einen Batch-Konvert zu ermöglichen, welcher die Transparenz beibehält.

Vielen Dank für Eure Hilfe!

serenity

Avatar von serenity

Anmeldungsdatum:
31. Mai 2006

Beiträge: 5143

Wohnort: Wolfsburg

Imagemagick sollte Dir da gute Dienste leisten. Besitzt keine GUI, aber für die meisten Sachen braucht man die auch nicht.

dw

Anmeldungsdatum:
21. August 2006

Beiträge: 28

#!/bin/bash
find . -name *.[pP][nN][gG] -exec convert {} {}.gif \;
find . -name *.[pP][nN][gG] -exec rm {} \;


Das ganze abspeichern, ausführbar machen

chmod a+x blabla

, nach /usr/local/bin kopieren und es sollte soweit funktionieren (ungetestet!).

Bernhard

chrisjakob Team-Icon

Avatar von chrisjakob

Anmeldungsdatum:
21. August 2006

Beiträge: 1808

Wohnort: Köln

for bild in $(ls *.png) ; do convert "$bild" "${bild%%.png}.gif" ;  rm -f *.png ; done


Konvertiert alles Dateien in dem aktuellen Ordner wo du dich befindest von .png nach .gif und löscht danach die .png's...

Einfacher & schöner - viel "Spaß". 😳

dw

Anmeldungsdatum:
21. August 2006

Beiträge: 28

Streber ☺

Gruß,
Bernhard

Lux Team-Icon

Avatar von Lux

Anmeldungsdatum:
10. November 2005

Beiträge: 5152

Wohnort: Grüt (Gossau ZH), Schweiz

chrisjakob hat geschrieben:

for bild in $(ls *.png) ; do convert "$bild" "${bild%%.png}.gif" ;  rm -f *.png ; done


Konvertiert alles Dateien in dem aktuellen Ordner wo du dich befindest von .png nach .gif und löscht danach die .png's...

Klasse.

Das $(ls *.png) kannst Du durch *.png ersetzen. Und wichtig! rm -f sollte auf $bild gehen und nicht auf *.png.

Gruß

Dirk

thunder-storm

(Themenstarter)
Avatar von thunder-storm

Anmeldungsdatum:
27. September 2006

Beiträge: 270

Hallo zusammen,

vielen vielen Dank! Einfach klasse, das hat sehr gut funktioniert, den "rm"-Teil hab ich allerdings weggelassen, da ich die PNG's für die Zukunft noch weiterverwenden möchte.

Ich bin echt beeindruckt, welche Möglichkeiten unter Linux existieren - unter Win war so eine Aktion mit viel Klickerei und Wartezeit verbunden, jetzt geht es fast wie von selbst und vor allem:

- die Transparenz wurde beibehalten
- die Dateigröße ist noch geringer, als ich es erwartet habe
- die Qualität das Ergebnisses sehr gut

Das war ein sehr guter Tipp - danke!

Antworten |