如何沿着下部红色背景的边框从图像中剪切标题(示例如下)?我正在计划一个批处理过程,即使用数百张具有不同标题的图像(都具有不同的宽度和高度 - 只有它们的位置是不变的)。我正在使用 bash。
您没有说明您的平台是什么,也没有说明您使用的 Imagemagick 版本是什么。所以我假设 Imagemagick 6 运行在类 Unix 系统(Linux、Mac OSX 或 Windows 10/11 unix)上。
这是 Mark Setchell 在上面的评论中建议的方法。
如果您使用的是 Windows,这里是手动方法。抱歉,我不知道如何处理变量。
将红框的顶部刮掉,然后在顶部拼接一个20像素高的黑色区域作为焊盘。
convert image1.png -fuzz 1% -fill black +opaque "rgb(237,28,36)" -format "%@" info:
返回 WxH+X+Y,我们只想要 Y
364x28+256+182
然后砍掉顶部 182 并拼接回 20 像素高的黑色顶部图像的顶部。
convert image1.png -gravity north -chop 0x182 -background black -splice 0x20 new_image1.png
这是 Unix 语法中更自动化的方式。
top=$(convert image1.png -fuzz 1% -fill black +opaque "rgb(237,28,36)" -format "%@" info: | tr "x" "+" | cut -d+ -f4)
convert image1.png -gravity north -chop 0x$top -background black -splice 0x20 new_image1.png