Grafik in Höhe oder Breite beschneiden

Du suchst ein Programm für einen bestimmten Zweck?
Antworten
tsibi
Beiträge: 269
Registriert: 31.08.2004 20:16:35
Wohnort: Oberfranken
Kontaktdaten:

Grafik in Höhe oder Breite beschneiden

Beitrag von tsibi » 28.06.2007 16:41:52

Hallo zusammen,

ich habe eine Grafik mit einer Höhe von 2625 und einer Breite von 1575 Pixel. Ich möchte von dieser Datei 262 px in der Höhe abschneiden und das Ergebnis unter einem neuen Namen speichern. Ist das mit convert aus dem Paket imagemagick möglich? meine Suche verlief erfolglos - vielleicht habe ich aber auch die falschen Begriffe in der Manpage verwendet.

Danke im Voraus für eure Hilfe.

VG Simon

Benutzeravatar
catdog2
Beiträge: 5352
Registriert: 24.06.2006 16:50:03
Lizenz eigener Beiträge: MIT Lizenz

Beitrag von catdog2 » 28.06.2007 16:47:52

Code: Alles auswählen

For   more   information   about   the   convert   command,   point   your   browser   to file:///usr/share/doc/imagemagick/www/convert.html         or        http://www.imagemagick.org/script/convert.php.
Unix is user-friendly; it's just picky about who its friends are.

Methusalix

Grafik in Höhe oder Breite beschneiden

Beitrag von Methusalix » 28.06.2007 18:16:07

Hallo,

das müßte mit:

Code: Alles auswählen

 convert -geometry höhexbreite
möglich sein. Damit verzerrst Du aber die Relationen.
Gruß
Matthias
/edit: ich hatte das so in Erinnerung, stimmt aber nicht.
der zweite Wert wird in Relation mit angepaßt.

Benutzeravatar
Kalimac
Beiträge: 293
Registriert: 25.05.2004 13:19:48
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Wetterau
Kontaktdaten:

Beitrag von Kalimac » 28.06.2007 20:26:52

Oder, falls Du X hast dann benutze doch TheGIMP und die Sache ist in zwei Minuten gegessen. :D

Einfach Datei oeffnen und Leinwandgroesze aendern, dann kannst Du im Dialog alles schoen anpassen.
Die technische Evolution ist die Wirkung eines geistigen Fortschritts gewesen und könnte nun zu seiner Ursache werden.
- Jacques Neirynck -

Benutzeravatar
Kokopelli
Beiträge: 1156
Registriert: 08.01.2007 10:13:24
Lizenz eigener Beiträge: MIT Lizenz

Beitrag von Kokopelli » 28.06.2007 20:37:54

Was Du möchtest ist ein Fall für

Code: Alles auswählen

convert -crop .........
Beste Grüße, Kokopelli
--------------------------
"One must marvel that Godzilla never died laughing" (William Tsutsui)

Benutzeravatar
Vinc
Beiträge: 488
Registriert: 12.03.2003 10:11:55
Wohnort: Speyer (RLP)
Kontaktdaten:

Beitrag von Vinc » 29.06.2007 00:46:01

Kalimac hat geschrieben:Oder, falls Du X hast dann benutze doch TheGIMP und die Sache ist in zwei Minuten gegessen. :D
Ja, plus die 2 Stunden um die Manuals zu lesen und die 2 Jahre um sie zu verstehen. ;)

Benutzeravatar
Kalimac
Beiträge: 293
Registriert: 25.05.2004 13:19:48
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Wetterau
Kontaktdaten:

Beitrag von Kalimac » 29.06.2007 02:10:31

Da gibt's Manuals :?:

Hab' ich noch nie reingeschaut. GIMP hat sich mir von Anfang an einfach erschlossen. Da gab's keine Fragen.

Aber ich glaube ich habe auch schon gehoert, dass Leute damit Schwierigkeiten hatten. :P
Die technische Evolution ist die Wirkung eines geistigen Fortschritts gewesen und könnte nun zu seiner Ursache werden.
- Jacques Neirynck -

Benutzeravatar
Vinc
Beiträge: 488
Registriert: 12.03.2003 10:11:55
Wohnort: Speyer (RLP)
Kontaktdaten:

Beitrag von Vinc » 29.06.2007 14:59:44

Kalimac hat geschrieben:Da gibt's Manuals :?:
Bestimmt irgendwo!
Ok, ich gebs zu, ich hab mich nie eingelesen. :oops:
Hab' ich noch nie reingeschaut. GIMP hat sich mir von Anfang an einfach erschlossen. Da gab's keine Fragen.
Naja, Fragen gabs bei mir auch nicht. Eine Frage setzt ein gewisses Grundverständnis voraus. ;)
Aber ich glaube ich habe auch schon gehoert, dass Leute damit Schwierigkeiten hatten. :P
... :)

tsibi
Beiträge: 269
Registriert: 31.08.2004 20:16:35
Wohnort: Oberfranken
Kontaktdaten:

Beitrag von tsibi » 29.06.2007 20:46:10

Kokopelli hat geschrieben:Was Du möchtest ist ein Fall für

Code: Alles auswählen

convert -crop .........
danke für diesen Hinweis. Als ich meiner Chefin eine mit dieser Option bearbeitete Grafik schickte, konnte sie keinen Schnitt erkennen. Hast du das mit einer Beispielgrafik einmal ausprobiert?

Benutzeravatar
Kokopelli
Beiträge: 1156
Registriert: 08.01.2007 10:13:24
Lizenz eigener Beiträge: MIT Lizenz

Beitrag von Kokopelli » 29.06.2007 21:00:36

tsibi hat geschrieben:
Kokopelli hat geschrieben:Was Du möchtest ist ein Fall für

Code: Alles auswählen

convert -crop .........
danke für diesen Hinweis. Als ich meiner Chefin eine mit dieser Option bearbeitete Grafik schickte, konnte sie keinen Schnitt erkennen. Hast du das mit einer Beispielgrafik einmal ausprobiert?
Danke für die freundliche :roll: Nachfrage.

Was ist Dein Problem?

Code: Alles auswählen

convert -crop X-SizexY-Size+X-Offset+YOffset quelle ziel
funktioniert seit ewigkeiten schnell und zuverlässig.

Ich kenne Deine graphic nicht, aber

Code: Alles auswählen

convert -crop 1575x262+0+0 DeineGraphik NeueDatei
sollte ein Anhaltspunkt sein...
Beste Grüße, Kokopelli
--------------------------
"One must marvel that Godzilla never died laughing" (William Tsutsui)

Benutzeravatar
catdog2
Beiträge: 5352
Registriert: 24.06.2006 16:50:03
Lizenz eigener Beiträge: MIT Lizenz

Beitrag von catdog2 » 29.06.2007 21:49:51

war das nicht

Code: Alles auswählen

 convert quelle -option blabla  ziel
?
Unix is user-friendly; it's just picky about who its friends are.

Benutzeravatar
Kokopelli
Beiträge: 1156
Registriert: 08.01.2007 10:13:24
Lizenz eigener Beiträge: MIT Lizenz

Beitrag von Kokopelli » 30.06.2007 09:47:40

catdog2 hat geschrieben:war das nicht

Code: Alles auswählen

 convert quelle -option blabla  ziel
?
Kann sein, dass das auch funktioniert, bei mir funktioniert aber wirklich die oben genannte....
Beste Grüße, Kokopelli
--------------------------
"One must marvel that Godzilla never died laughing" (William Tsutsui)

Benutzeravatar
knittels
Beiträge: 249
Registriert: 10.04.2004 23:25:47
Kontaktdaten:

Beitrag von knittels » 30.06.2007 18:18:51

Das ginge auch mit Digikam:

Transformieren - nach Seitenverhältnis zuschneiden

Gruß,

Knittels

Benutzeravatar
KBDCALLS
Moderator
Beiträge: 22456
Registriert: 24.12.2003 21:26:55
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Dortmund
Kontaktdaten:

Beitrag von KBDCALLS » 30.06.2007 19:37:58

Soll die Grafik einfach nur abgeschnitten werden ?
Was haben Windows und ein Uboot gemeinsam?
Kaum macht man ein Fenster auf, gehen die Probleme los.

EDV ist die Abkürzung für: Ende der Vernunft

Bevor du einen Beitrag postest:
  • Kennst du unsere Verhaltensregeln
  • Lange Codezeilen/Logs gehören nach NoPaste, in Deinen Beitrag dann der passende Link dazu.

Benutzeravatar
meandtheshell
Beiträge: 4054
Registriert: 14.01.2005 17:51:30

Beitrag von meandtheshell » 30.06.2007 21:45:02

Code: Alles auswählen

expr `identify -format %h orig.png` - 265 | xargs -I '{}' convert -crop x{} orig.png cropped_version.png
- orig.png ist das original
- 265 der Abstand der Schnittline vom unteren Rand des Originals (wenn du das von oben möchtest machst du eben noch eine indirektion; siehe oben)
- output ist cropped_version{[1],[2]}.png d.h. orig.png geteilt in zwei images

Das ganze oben ist script fähig d.h. damit kann man auf tausende files schießen wenn man will - imagemagick-style eben ...
Hier mit GUIs wie GIMP aufzufahren ist nicht schlau ... das dauert alles viel zu lange und auf einer nox machine kann ich damit nichts machen weil nicht script fähig. GUIs sind ohnehin wo geht zu vermeiden ...

Whatever, you got the idea ...

Markus
Zuletzt geändert von meandtheshell am 30.06.2007 21:49:31, insgesamt 1-mal geändert.

tsibi
Beiträge: 269
Registriert: 31.08.2004 20:16:35
Wohnort: Oberfranken
Kontaktdaten:

Beitrag von tsibi » 30.06.2007 21:47:36

KBDCALLS hat geschrieben:Soll die Grafik einfach nur abgeschnitten werden ?
ja, ich möchte die Grafik entweder in der Höhe oder in der Breite abschneiden. Da ich das für ein Script einer Internetseite brauche, kann ich keine interaktiven Programme verwenden, sondern bin auf die Kommandozeile angewiesen.

tsibi
Beiträge: 269
Registriert: 31.08.2004 20:16:35
Wohnort: Oberfranken
Kontaktdaten:

Beitrag von tsibi » 30.06.2007 22:03:27

Kokopelli hat geschrieben: Was ist Dein Problem?

Code: Alles auswählen

convert -crop X-SizexY-Size+X-Offset+YOffset quelle ziel
funktioniert seit ewigkeiten schnell und zuverlässig.
Ich verstehe die Syntax der -crop Option nicht. Das Resultat der Konvertierung kann ich auch nicht selbst kontrollieren. Daher wäre ich für ein Beispiel, dass sich auf meine Angaben im Anfangsposting bezieht sehr dankbar. Vielleicht wird mir das dann klarer.

Code: Alles auswählen

convert -crop 1575x262+0+0 DeineGraphik NeueDatei
sollte ein Anhaltspunkt sein...
Ich verstehe dein Beispiel nicht, bzw. kann mir darunter nichts vorstellen.

Angenommen ich habe eine Grafik mit einer Höhe von 2625 und einer Breite von 1575 Pixel und möchte diese in der Höhe um 262 Pixel beschneiden. Wie sähe da der Aufruf aus?

Vielen Dank im Voraus für weitere Hilfe.

Benutzeravatar
Kokopelli
Beiträge: 1156
Registriert: 08.01.2007 10:13:24
Lizenz eigener Beiträge: MIT Lizenz

Beitrag von Kokopelli » 30.06.2007 22:06:48

tsibi hat geschrieben: Angenommen ich habe eine Grafik mit einer Höhe von 2625 und einer Breite von 1575 Pixel und möchte diese in der Höhe um 262 Pixel beschneiden. Wie sähe da der Aufruf aus?
Was genau bedeutet denn "um 262 Pixel beschneiden"?

Möchtest Du

-eine Endgröße von 1575 * 262?
-eine Endgröße von 1575 * (2625 - 262)?
Und soll ein Teil von Oben oder von Unten weggenommen werden?

Falls das übrigens ein php-script sein sollte, kannst Du das php-intern erledigen, sofern die gd-library verfügbar ist.

Zum Aufruf von convert -crop... ist eigentlich ganz einfach:
convert -crop AxB+C+D

AxB ist die gewünschte Endgrösse deines Bildes, also ein Rechteck, das in der Größe deinem Resultat entspricht.
C und D verschieben nun dieses Rechteck in x-Richtung(C) bzw in y-Richtung(D)
Dabei beachten: Der Koordinatenursprung 0,0 ist dabei computertypisch die obere linke ecke.

z.B. : convert -crop 200x250+0+100
schneidet also ein Rechteck der Größe 200 mal 250 aus, dessen x-Koordinate der Linke Rand ist (0,0 (ober linke Ecke) + 0 in x-Richtung) und dass 100 Pixel von oben aus gezählt in y-Richtung verschoben ist. (0,0 + 100 in y-Richtung)

Hoffe, das hilft Dir!?
Beste Grüße, Kokopelli
--------------------------
"One must marvel that Godzilla never died laughing" (William Tsutsui)

tsibi
Beiträge: 269
Registriert: 31.08.2004 20:16:35
Wohnort: Oberfranken
Kontaktdaten:

Beitrag von tsibi » 01.07.2007 00:01:52

Kokopelli hat geschrieben:Was genau bedeutet denn "um 262 Pixel beschneiden"?

Möchtest Du

-eine Endgröße von 1575 * (2625 - 262)?
genau das möchte ich.
Und soll ein Teil von Oben oder von Unten weggenommen werden?
Das ist eine gute Frage. Ich würde mal sagen von oben, da ich keine andere Angabe habe. Aber das lässt sich vermutlich auch leicht umdrehen.
Genau wie ich auch von rechts oder links abschneiden können muß.
Falls das übrigens ein php-script sein sollte, kannst Du das php-intern erledigen, sofern die gd-library verfügbar ist.
Hierzu habe ich keine Funktion gefunden aber mich evtl. auch zu früh auf convert eingeschossen.
Zum Aufruf von convert -crop... ist eigentlich ganz einfach:
convert -crop AxB+C+D

AxB ist die gewünschte Endgrösse deines Bildes, also ein Rechteck, das in der Größe deinem Resultat entspricht.
C und D verschieben nun dieses Rechteck in x-Richtung(C) bzw in y-Richtung(D)
Dabei beachten: Der Koordinatenursprung 0,0 ist dabei computertypisch die obere linke ecke.

z.B. : convert -crop 200x250+0+100
schneidet also ein Rechteck der Größe 200 mal 250 aus, dessen x-Koordinate der Linke Rand ist (0,0 (ober linke Ecke) + 0 in x-Richtung) und dass 100 Pixel von oben aus gezählt in y-Richtung verschoben ist. (0,0 + 100 in y-Richtung)

Hoffe, das hilft Dir!?
Ich glaube ja. Vielen Dank schon mal dafür. Damit kann ich auch von unten oder links, bzw. rechts etwas abschneiden, wenn ich die Werte für C und D ändere und mit - statt + arbeite.

Benutzeravatar
Kokopelli
Beiträge: 1156
Registriert: 08.01.2007 10:13:24
Lizenz eigener Beiträge: MIT Lizenz

Beitrag von Kokopelli » 01.07.2007 10:51:07

Naja, negative Werte für C und D wären nicht mehr innerhalb Deines Bildes, aber sonst hast Du Recht.
1575 * (2625 - 262)
sähe dann so aus, wenn Du von oben wegschneidest:

Code: Alles auswählen

convert -crop 1575x2363+0+262 Quelldatei Zieldatei
und so von unten weggeschnitten:

Code: Alles auswählen

convert -crop 1575x2363+0+0 Quelldatei Zieldatei
Beste Grüße, Kokopelli
--------------------------
"One must marvel that Godzilla never died laughing" (William Tsutsui)

tsibi
Beiträge: 269
Registriert: 31.08.2004 20:16:35
Wohnort: Oberfranken
Kontaktdaten:

Beitrag von tsibi » 01.07.2007 14:29:13

Hi Kokopelli,

vielen Dank für deine Antwort.

Wie seähe es aus, wenn ich von links oder rechts abschneiden wollte? Ich glaube es noch nicht ganz verstanden zu haben.

Vielen Dank und schönen Sonntag wünscht
Simon

dillo
Beiträge: 362
Registriert: 28.05.2005 19:53:56

Beitrag von dillo » 01.07.2007 15:13:11

Hallo,

Code: Alles auswählen

convert bild.jpg -crop 1475x2625+100+0 cropped.jpg
Schneidet 100px von links weg, Ausgangsbild 1575x2625

Code: Alles auswählen

convert bild.jpg -crop 1475x2625+0+0 cropped.jpg
Schneidet 100px von rechts weg, Ausgangsbild 1575x2625



Schneiden von allen vier Seiten, Ausgangsbild 1575x2625:

Code: Alles auswählen

 convert bild.jpg -crop 1375x2363+50+100 cropped.jpg
schneidet oben 100px (+100), unten 162px (2625 - 100 - 2363) , links 50px (+50) und rechts 150px (1575 - 50 -1375) weg.


gruß, dillo

PS mit Ausgangsbild ist das Bild gemeint, das du verkleinern willst, in den Beispielen also bild.jpg!

Antworten