Wie schneide ich ein Bild unter Unix um 30%?

15

Ich möchte 30% vom oberen Bildrand ausschneiden. Ich kenne den Thread Wie schneide ich ein wirklich großes Rasterbild in kleinere Stücke? aber es gibt keinen erfolgreichen Ansatz, weil ich kein Entfernungsmaß convertvon Null bis zum Ende finden kann , nur durch Betragsdimensionen. Pseudocode

convert -crop-y -units-percentage 0x30 heart.png 

Abb. 1 Eingabefigur

Bildbeschreibung hier eingeben

Ich kann die Aufgabe mit LaTeX erledigen, adjustboxaber die Ausgabe in der pdf-Datei ist nicht wirklich das Endergebnis, sondern eine Präsentation davon. Wenn Sie also das Bild aus dem PDF-Dokument kopieren, erhalten Sie das Originalbild. Dieser Ansatz ist also gescheitert.

Léo Léopold Hertz 준영
quelle
1
Sie können imagemagick's verwenden, um identifyzu sehen, wie groß das Bild ist.
Pfnuesel
Der allgemeine Ansatz besteht darin, den erforderlichen Wert in der Befehlszeile mit einzufügen $(command). Sie müssen dann nur eine Befehlszeile schreiben, die den benötigten Wert berechnen kann. Hier würden Sie convert bitten, das Bild zu beschreiben und es an awk weiterzuleiten, wo Sie den gewünschten Wert ermitteln, die erforderliche Berechnung durchführen und das Ergebnis ausdrucken können.
Thorbjørn Ravn Andersen

Antworten:

23

Sie können einen Prozentsatz Ihrer Bild beschneiden , obwohl in diesem Fall zusätzliche Befehle zu vermeiden , läuft die Bildhöhe und Breite zu erhalten (versetzt , um zu berechnen Ernte standardmäßig die zu linken oberen Ecke relativ) Sie haben werde Ernte Relativ zur Schwerkraft (so dass sich die Position Ihres Zuschnittsversatzes relativ zur linken unteren Ecke des Bildes befindet):

convert -gravity SouthWest -crop 100x70%x+0+0 infile.jpg outfile.jpg
don_crissti
quelle
Bestätigt, dieser Ansatz funktioniert! - - Sie können diesen Ansatz umkehren, indem Sie NorthWestvon unten schneiden. Groß!
Léo Léopold Hertz 준영
5

Der Befehl sollte sein:

convert heart.png -gravity south -crop 100x70% +repage heart-out.png
GAD3R
quelle
1
@ LéoLéopoldHertz 준영 Ich ​​verstehe die Frage falsch, versuche meine Bearbeitung bitte
GAD3R
1
Ihr neuer Ansatz schneidet nach absoluten Einheiten, nicht nach Prozenten. Nun die richtige Schnittrichtung von oben.
Léo Léopold Hertz 준영