Imagemagick 为什么修剪会这样?

Imagemagick 为什么修剪会这样?,imagemagick,rmagick,dragonfly-gem,Imagemagick,Rmagick,Dragonfly Gem,我有一张尺寸为126x75的图像: (rdb:1) p image.width 126 (rdb:1) p image.height 57 现在我想把它裁剪到50x50,从西北(左上角)开始。所以我尝试了这个(应该类似于IMs命令行几何参数50x50+0+0): 但结果让我有些惊讶: (rdb:1) p image2.width 24 (rdb:1) p image2.height 16 为什么会这样?正确的方法是什么?听起来您正在使用的图像具有导致(0,0)位置偏移的现有页面几何图形。您可

我有一张尺寸为126x75的图像:

(rdb:1) p image.width
126
(rdb:1) p image.height
57
现在我想把它裁剪到
50x50
,从西北(左上角)开始。所以我尝试了这个(应该类似于IMs命令行几何参数
50x50+0+0
):

但结果让我有些惊讶:

(rdb:1) p image2.width
24
(rdb:1) p image2.height
16

为什么会这样?正确的方法是什么?

听起来您正在使用的图像具有导致(0,0)位置偏移的现有页面几何图形。您可以告诉IM重新对图像进行分页,以删除现有的页面几何图形,使(0,0)为“真”(0,0)。查看IM文档:

这是正确的想法,谢谢!但似乎只有crop方法有一个可选参数可以重新分页。有许多使用crop函数的辅助函数不接受该参数。解决方法:
image.crop!(0,0,图像宽度,图像高度,true)
在这些方法之前。虽然不完美,但能胜任工作。
(rdb:1) p image2.width
24
(rdb:1) p image2.height
16