40 votes

Comment recadrer une image en utilisant ImageMagick à partir de la ligne de commande?

Je suis en train de recadrer une image de 640x640 en utilisant ImageMagick en ligne de commande.

Je dois enlever environ 20 pixels de la partie inférieure de l'image de gauche à droite. Une longue bande le long du bas.

Je connais la commande shave.

Quelle serait la commande à entrer en ligne de commande? J'utilise la version Windows de ce logiciel.

41voto

Alex Maiburg Points 501

En supposant que vous connaissez toujours la taille de votre image, vous pouvez le faire de la manière suivante :

convert original.jpg -crop 640x620+0+0 cropped.jpg

Avec l'opérateur -crop, vous spécifiez la taille de l'image à découper et le décalage par rapport au coin supérieur gauche de l'ancienne image. Pour vous débarrasser des 20px en bas, vous devez choisir une taille de 640x620 et un décalage de 0+0

27voto

Mark Setchell Points 403

Utilisez l'opérateur -chop de ImageMagick comme suit pour supprimer 20 lignes de pixels en bas :

convert image.png -gravity South -chop 0x20 result.png

Changez en utilisant -gravity North pour couper les 20 premières lignes.


Changez en :

convert image.png -gravity East -chop 20x0 result.png

pour rogner le côté droit, notez que les 20 pixels sont maintenant avant le séparateur x.

1voto

Massimo Points 111

En fait, il m'a fallu un certain temps pour y arriver correctement, alors j'ai pensé de le poster ici.

"C:\Program Files\ImageMagick-7.0.10-Q8\magick" convert -crop 100x100+800+600 fileIn.png fileOut.png

donc on a besoin à la fois de "magick","convert" sans "-" et ensuite des options avec "-". L'histoire de cet appel étrange est que convert était autrefois un exécutable (le seul exécutable étant magick). Cependant, comme il existait un autre programme système Windows portant le même nom "convert", il est maintenant transmis comme argument d'une manière ou d'une autre. De plus, il faut avoir le dossier dans le chemin d'accès.

Un lot facile pour simplifier l'appel pourrait être:

crop fileIn.png fileOut.png 100,100,800,600

où le code serait

crop.bat

set fname1=%1
set fname2=%2
set x0=%3
set y0=%4
set w=%5
set h=%6
"C:\Program Files\ImageMagick-7.0.10-Q8\magick" convert -crop %w%x%h%+%x0%+%y0% %fname1% %fname2%

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X