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 将透明图像裁剪为蒙版的主要内容,如果未能解决你的问题,请参考以下文章