2017-07-03 3 views
0

J'essaye de recadrer une image en partant du haut à droite et de découper une boîte de 48x48. Ce est l'image que je travaille avecImagemagick recadrer du nord-est

enter image description here

J'ai essayé ce

in.png -gravity northeast -crop 48x48 out.png 

hors 0.png enter image description here out-1.png enter image description here out-2 .png enter image description here out-3.png enter image description here

Qui crée comme 4 fichiers, dont je ne veux pas. Lorsque j'ajoute valeurs x et y (que je ne veux pas), il les cultures du nord-est correctement avec seulement 1 image de sortie, mais la boîte n'est pas 48x48, 46x38 son

in.png -gravity northeast -crop 48x48+0+0 out.png 

out.png
enter image description here

Cela donne différentes sorties pour différentes images. J'ai juste essayé un autre et a fini avec une sortie 33x48.

Je dois utiliser le réglage de la gravité au lieu des décalages x et y car je traite de nombreuses images de tailles différentes.

Ceci est la sortie désirée quelqu'un

enter image description here

peut expliquer s'il vous plaît me ce que je fais mal? Merci!

+0

"ce que je ne veux pas" Vous ne pouvez pas laisser le code sortir; c'est là pour une raison. Dans ce cas, si vous le laissez tel quel, vous obtenez une image en mosaïque. Quoi qu'il en soit cela fonctionne pour moi bien que j'utilise la magie V7 NIhVX.png -gravity nord -crop 48x48 + 0 + 0 out.png Quelle version utilisez-vous? Vous pouvez avoir un problème de canevas et vous pouvez essayer d'ajouter + repasser après l'image d'entrée. – Bonzo

+0

Ça ne marche pas pour moi, même avec + repage. Et je voulais juste dire que je ne veux pas utiliser de décalages car ils seraient probablement différents pour chaque image. C'est la version IM que j'utilise ImageMagick 6.8.9-9 Q16 x86_64 2017-05-26 – knuxyl

+0

J'ai découvert que l'image avait de la transparence sur le dessus, ce qui, je pense, expliquait les mauvaises tailles de sortie, mais ce n'est pas le cas. J'ai coupé l'image et j'ai exécuté la même commande et ça ne fonctionne toujours pas correctement. – knuxyl

Répondre

2

Si votre image d'entrée contient des informations de radiomessagerie, le résultat de votre recadrage risque de ne pas correspondre à vos attentes. Lorsque vous travaillez avec des images inconnues, vous pouvez faire un "+ repasser" juste après avoir lu dans l'image. En outre, lorsque vous "trim" une image, les informations de pagination de l'image d'origine restent. Le "-crop" utilisera cette information de pagination au lieu de la hauteur et la largeur réelle, donc "+ repage" après un "-trim" à moins que vous sachiez que vous aurez besoin de cette information. Essayez ceci ...

convert inimage.png -trim +repage -gravity northeast -crop 48x48+0+0 outimage.png 

Vous devriez également utiliser "+ repasser" après tout recadrage si vous avez l'intention de continuer le traitement des images.

+0

C'était tout, merci! bien que j'ai déjà traité en batch avec juste convertir en bmp ... lol – knuxyl