Imagemagick 如何提高裁剪尺寸的比例

Imagemagick 如何提高裁剪尺寸的比例,imagemagick,crop,image-manipulation,minimagick,Imagemagick,Crop,Image Manipulation,Minimagick,我用的是minimagick。我正在使用resize\u to\u fit:[300,nil]向用户显示图像,然后使用jcrop允许他们裁剪图像。我正在保存jcrop坐标宽度、高度、x和y 我想用这些坐标裁剪出更大版本的图像。为了得到这个更大的版本,我在原版上使用了resize\u以适应:[600,nil] 我想使用大小和偏移来裁剪图像,但显然我不能使用jcrop提供的坐标 有没有办法提高坐标的比例,这样当我使用坐标裁剪600px宽的图像时,它看起来与用户输入的300px宽的图像相同?我的工作流

我用的是minimagick。我正在使用
resize\u to\u fit:[300,nil]
向用户显示图像,然后使用jcrop允许他们裁剪图像。我正在保存jcrop坐标宽度、高度、x和y

我想用这些坐标裁剪出更大版本的图像。为了得到这个更大的版本,我在原版上使用了
resize\u以适应:[600,nil]

我想使用大小和偏移来裁剪图像,但显然我不能使用jcrop提供的坐标


有没有办法提高坐标的比例,这样当我使用坐标裁剪600px宽的图像时,它看起来与用户输入的300px宽的图像相同?

我的工作流程与您描述的差不多,除了 我处理的图像比例精确到25%

我使用ImageMagick的“显示”或GraphicsMagick的“显示”裁剪缩放图像,并另存为PNG(使用相同的文件名) 仅扩展名从JPG更改为png)。这记录了作物的生长情况 PNG IHDR和PNG OFF块中的几何体。然后我运行一个脚本 “recrop.sh”根据这些尺寸裁剪原始图像, 放大4倍,并将结果保存为PPM(无损 并消除了原始JPEG中烦人的元数据)。这是我的 “recrop.sh”(基于GraphicsMagick的)脚本:

root=`echo $1 | sed -e "s/.png//"`

gm identify $root.png
string=`gm identify $root.png`

echo string=$string

resize_x=\
`echo $string | sed -e "s/.* PNG //" -e "s/ Direct.*//" -e "s/x.*//"`

resize_y=\
`echo $string | sed -e "s/.* PNG [0-9]*x//" -e "s/+.*//"`

offset_x=\
`echo $string | sed -e "s/.* PNG [0-9x]*[0-9x]*+//" -e "s/+.*//"`

offset_y=\
`echo $string | sed -e "s/.* PNG [0-9x]*[0-9x]*+[0-9]*+//" -e "s/ .*//"`

resize_x=`dc "-e $resize_x 4 * p"`
resize_y=`dc "-e $resize_y 4 * p"`
offset_x=`dc "-e $offset_x 4 * p"`
offset_y=`dc "-e $offset_y 4 * p"`

echo resize_x = $resize_x
echo resize_y = $resize_y
echo offset_x = $offset_x
echo offset_y = $offset_y

crop=$resize_x\x$resize_y+$offset_x+$offset_y

echo crop geometry=$crop

gm convert $root.JPG -crop $crop $root.ppm