2017-07-03 58 views
0

我想从右上角开始剪下一张图像并剪出一个48x48的盒子。 这是我与来自东北部的Imagemagick作物

enter image description here

工作像我已经试过这

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

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

它创建像4个文件,其中没有一个是我想要的。 当我添加x和y的值(我不想),它从东北作物正常,只有1幅输出图像,但框是不是48×48,其46x38

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

out.png
enter image description here

这给不同的图像不同的输出。我刚刚尝试了另一个,并以33x48输出结束。

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

这是所需的输出

enter image description here

可有人请向我解释什么,我做错了什么?谢谢!

+0

“我不想要的”你不能把代码留在外面;这是有原因的。在这种情况下,如果你发现你得到了一张平铺的图像,就将它保留下来。无论如何,这适用于我,虽然我使用V7 magick NIhVX.png重力东北-crop 48x48 + 0 + 0 out.png你使用的是什么版本?您可能会遇到画布问题,可以尝试在输入图像之后添加+ repage。 – Bonzo

+0

它不适用于我,即使使用+ repage。我的意思是我不想使用偏移量,因为它们对于每个图像可能都不相同。这是我正在使用的IM版本 ImageMagick 6.8.9-9 Q16 x86_64 2017-05-26 – knuxyl

+0

我发现图像在顶部有透明度,我认为它是错误的输出尺寸,但事实并非如此。我修剪了图像并运行了相同的命令,但它仍然没有正确执行。 – knuxyl

回答

2

如果您的输入图像具有分页信息,则裁剪的结果可能不是您所期望的。处理未知图像时,您可以在图像中阅读后立即进行“+修正”。此外,当您“拍摄”图像时,原始图像中的寻呼信息仍然存在。 “-crop”将使用该分页信息,而不是实际的高度和宽度,所以在“-trim”后面加“+ repage”,除非你知道你需要这些信息。试试这个...

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

如果你打算继续处理图像,你还应该在任何农作物后使用“+ repage”。

+0

这就是它,谢谢!虽然我已经批处理,只是转换为bmp ...大声笑 – knuxyl