使用imagemagick将焊盘调整大小的遮罩应用于裁剪大小的图像
我有一个imagemagick命令,它将掩码应用于图像:使用imagemagick将焊盘调整大小的遮罩应用于裁剪大小的图像,image,imagemagick,mask,graphicsmagick,Image,Imagemagick,Mask,Graphicsmagick,我有一个imagemagick命令,它将掩码应用于图像: convert\(subject.jpg-调整大小“370x210^”-重心-裁剪“370x210+0+0”\)\(mask.png-调整大小“370x210”-重心)-复合输出.png 图像以所需的尺寸结束,保留了纵横比。遮罩最终小于目标尺寸,但居中。这一切都很好,正是我想要的。但是,我希望面具外的任何东西都是彩色的(隐藏面具外的图像部分) 这是当前的结果: 这就是我要找的: (请注意,图像的宽度和高度相同,但“侧栏”不再显示在底部
convert\(subject.jpg-调整大小“370x210^”-重心-裁剪“370x210+0+0”\)\(mask.png-调整大小“370x210”-重心)-复合输出.png
图像以所需的尺寸结束,保留了纵横比。遮罩最终小于目标尺寸,但居中。这一切都很好,正是我想要的。但是,我希望面具外的任何东西都是彩色的(隐藏面具外的图像部分)
这是当前的结果:
这就是我要找的:
(请注意,图像的宽度和高度相同,但“侧栏”不再显示在底部图像上。如果遮罩和图像具有相同的纵横比,则这两个图像之间不会有差异。)
我尝试了很多不同的方法(用额外的全尺寸白色图像、边框、帧等进行合成),但我无法获得所需的输出,也无法在网上找到一个好的示例。有什么提示吗?使用命令将图像遮罩填充到剪裁边框。这项技术非常接近打印的出血和视频的过度扫描 示例 假面 定义作为剪裁边界的遮罩边界颜色,以及填充的颜色 对于本例,边框和颜色为黑色。注意,我添加了缺少的&,但这是我的示例中的本地化内容
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
out.png
为什么不给面具额外的颜色?@emcconville ImageMagick没有出血选项。你指的是什么?出血是一种古老的印刷技术,与即时通讯无关。在本例中,您将修改遮罩图像,使其包含比所有合成图像更大的区域,并将其作为最后一步。