使用imagemagick将经过垫调整大小的蒙版应用于裁剪尺寸调整的图像

时间:2014-08-08 20:54:19

标签: image imagemagick mask graphicsmagick

我有这个imagemagick命令,它将蒙版应用于图像:

convert \( subject.jpg -resize "370x210^" -gravity Center -crop "370x210+0+0" \) \( mask.png -resize "370x210" -gravity "Center" \) -composite out.png

图像以所需尺寸结束,保留纵横比。掩模最终小于目标尺寸,但居中。这一切都非常好,正是我想要的。但是,我希望遮罩外面的任何东西都要着色(隐藏遮罩外面的图像部分)。

这是目前的结果:

What I can currently achieve

这就是我要找的:

What I want to achieve

(注意图像的宽度和高度相同,但是底部图像上不再出现“侧边栏”。遮罩和图像具有相同的纵横比,这两个图像之间没有区别。)

我尝试了很多不同的东西(使用额外的全尺寸白色图像,边框,边框等进行合成)但是我无法获得所需的输出,也无法在线找到一个好的示例。有什么提示吗?

1 个答案:

答案 0 :(得分:1)

使用-draw color命令将图像蒙版填充到剪裁边框。这种技术非常接近印刷品的出血和放大。视频过扫描。

<强> 实施例

给出掩码......

mask

定义遮罩的边框颜色,即剪裁边界,以及要填充的颜色。

对于这个例子,边界&amp;颜色是黑色的。请注意我添加了缺少的-compose&amp; -alpha,但这已经本地化为我的例子。

convert \
 \( source.jpg -resize "370x210^" -gravity Center -crop "370x210+0+0" \) \
 \( mask.png -resize "370x210" -gravity "Center" \
   -bordercolor black \
   -fill black \
   -draw "color 10,10 filltoborder" \
 \) \
-alpha Off -compose CopyOpacity -composite out.png

<强> source.png

source

<强> out.png

Apply pad-resized mask to crop-resized image with imagemagick