• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

[geloest] konvertieren über konsole-mit GD/ImageMagic?!

lin

Hacker
halli hallo liebe Linux-Fans, guten Abend,

also das ist eine Frage die ggf. an mehrere Plätze im Forum passt. Es koennte auch um Grafiken gehen oder um Pakete (GD, ImageMagic usw. usf) die ich nachladen sollte, wollte etc.etx. oder eben hier halt wie im Konsolen-Forum, da ich eine Konsolen-Loesung überlege - mit Konsole gehts halt machmal doch am schnellsten..


also hier das Problem bzw. die Aufgabenstellung; Hab mehrer hunedert Bilder die ich verkleinern will. Alle sind auf dem SuseRechner drauf - auf dem -OpenSuse 12.1 und auch u.a. Digikam läuft.

Nun will ich einige Bilder verkleinern - die haben das Originalformat:

Größe - size: 3,2 MiB
Größe - size in pixel: 4 603 x 3 072 (14.16Mpx)


- im moment sind alle bilder - horizontal formatiert mit den Maßen in Pixeln: 4 603 x 3 072
- im moment sind alle bilder - die vertikal formatiert sind mit den Maßen in Pixeln: 3 072 x 4 603


ich kanns mit zwei Methoden loesen - mit dem Stapelverarbeitungsprogramm in Digikam oder auch mit nem kleinen
Skript


Code:
for I in *.jpg ; do
       convert -resize 800x600 $I $I ;
       echo -n "." ;

Wobei ich mich Frage ob das nicht einige Image-Bibliotheken voraussetzt - GD oder ImageMagic oder was ähnliches.
ich kann mir kaum vorstellen dass das mit dem Skript geht - wenn ich nicht noch diese Bibliotheken auf dem Rechner hab.

Ansonsten ist der Weg natürlich der einfachste - und schnellste...

meine Frage also - was meint ihr denn - wie soll ich vorgehen - noch die libs nachladen!?
 

josef-wien

Ultimate Guru
Mit
Code:
rpm -qf $(which convert)
wirst Du feststellen, daß convert im Paket ImageMagick enthalten ist. Somit ist wohl davon auszugehen, daß alle notwendigen Bibliotheken installiert sind.

Aber warum probierst Du Deinen Befehl nicht einfach mit je einer Hoch- und Querformat-Kopie von Deinen Bildern aus?
 
A

Anonymous

Gast
lin schrieb:
ich kanns mit zwei Methoden loesen - mit dem Stapelverarbeitungsprogramm in Digikam oder auch mit nem kleinen Skript
Code:
for I in *.jpg ; do
       convert -resize 800x600 $I $I ;
       echo -n "." ;

Ansonsten ist der Weg natürlich der einfachste - und schnellste...
convert und ein kleines Script ist wohl kein Problem nur "convert -resize 800x600 $I $I ;" wird wohl nicht gehen, Ziel und Quelle müssen schon 2 verschiedene Dateien sein, möglich sind gleiche Namen aber in unterschiedlichen Verzeichnissen, sonst schimpft convert oder die bash oder beide.
Alternativ ( und immer mit Vorsicht zu genießen) mogrify wenn du die Bilder wirklich endgültig in sich selbst verändern willst.
siehe auch unsere beiden Wiki-Seiten und hier dazu, dort sind auch Beispiele für verkleinern, drehen usw zu finden. (auch in Abhängikeit von derzeitigem Format)

robi
 
OP
L

lin

Hacker
hallo josef-wien hallo Robi, vielen Dank für euer Posting.





also es sieht aus wie folgt:
Code:
martin@linux-wyee:~> rpm -qf $(which convert)
ImageMagick-6.7.2.7-5.1.3.i586
martin@linux-wyee:~>

und der Hinweis von Robi passt natürlich auch.... Das sollte dann so aussehen:

Code:
for I in *.jpg ; do
 convert -resize 800x600 $I ${I%.jpg}_resized.jpg ;
 echo -n "." ;
done


grüße lin :/
 
Oben