Imagemagick 将透明图像裁剪为蒙版

Posted

技术标签:

【中文标题】Imagemagick 将透明图像裁剪为蒙版【英文标题】:Imagemagick crop transparent image to mask 【发布时间】:2017-04-12 19:01:05 【问题描述】:

这是我的原图(注意透明边框)src.png

这是我想用来裁剪的蒙版。白色表示保留,黑色表示裁剪mask.png:(注意不一定是正方形。可以是心形或星星或任何东西)

我还有transparent.png,这是一个完全透明的图像。三张图片的尺寸相同。

因此,运行此命令会生成以下图像:

convert transparent.png src.png mask.png -composite out.png

完美遮罩,但现在我希望将其裁剪为白色遮罩区域的大小。使用-trim 有点接近,但它消除了遮罩内的透明区域。

如何将蒙版图像调整为蒙版中白色区域的大小?

【问题讨论】:

屏蔽后使用-trim +repage 【参考方案1】:

我不确定我是否理解您想要的结果。为什么需要完全透明的图像?这些中的任何一个都能满足您的需求吗?

带有遮罩区域的全尺寸透明图像:

convert src.png mask.png -alpha off -compose copy_opacity -composite result1.png

修剪到您想要的部分:

convert src.png mask.png -alpha off -compose copy_opacity -composite -trim +repage result2.png

【讨论】:

【参考方案2】:

不确定我是否理解您想要做什么,尤其是为什么您需要全尺寸透明画布。您的命令在我的 ImageMagick 版本 7 上没有给出相同的结果。

这个命令可能是你要找的:

convert src.png mask.png -compose darken -composite -trim out.png

它给出了这个 - 我人为地添加了一个红色边框,这样你就可以在 *** 的白色背景上看到完整的范围:

或者,也许您想要遮罩中的修剪框并使用它来裁剪您的来源:

convert mask.png -format %@ info:
113x113+570+33

convert src.png -crop 113x113+570+33 result.png

【讨论】:

【参考方案3】:

如果要从图片中裁剪出正方形,则无需使用蒙版,只需裁剪即可:

magick Uq328.png -crop -crop 111x111+570+331 +repagecropped.png

根据https://legacy.imagemagick.org/Usage/crop/

【讨论】:

以上是关于Imagemagick 将透明图像裁剪为蒙版的主要内容,如果未能解决你的问题,请参考以下文章

将裁剪蒙版应用于具有透明背景的动画 gif

裁剪掉透明像素但保留偏移量

如何使用 imageMagick 缝合裁剪的图像?

将不同大小的四边形图像批量裁剪为圆形

ImageMagick:如何将图像最小化为特定宽高比?

Imagemagick 裁剪不起作用