来自东北的 Imagemagick 作物

Imagemagick crop from northeast

我正在尝试从右上角开始裁剪图像并裁剪出一个 48x48 的框。 这是我正在处理的图像

我试过了

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

输出-0.png 出-1.png 输出-2.png 出-3.png

它创建了 4 个文件,none 其中是我想要的。 当我添加 x 和 y 值(我不想这样做)时,它从东北方向正确裁剪,只有 1 个输出图像,但框不是 48x48,它是 46x38

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

out.png

这为不同的图像提供了不同的输出。我刚刚尝试了另一个并最终得到了 33x48 的输出。

我需要使用重力设置而不是 x 和 y 偏移,因为我要批处理大量不同尺寸的图像。

这是期望的输出

有人可以向我解释我做错了什么吗?谢谢!

如果您输入的图像有分页信息,您的裁剪结果可能不是您所期望的。在处理未知图像时,您可能会在读入图像后立即执行“+repage”。此外,当您“-trim”图像时,原始图像的分页信息仍然存在。 “-crop”将使用该分页信息而不是实际的高度和宽度,因此在“-trim”之后使用“+repage”,除非您知道您需要该信息。试试这个...

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

如果您打算继续处理图像,您还应该在裁剪后使用“+repage”。