【发布时间】:2017-10-18 21:28:05
【问题描述】:
我想从 main.png 中减去 png mask.png,同时像这样保持 main.png 中的透明度
main.png
mask.png
mask.png 覆盖 main.png
输出.png
我在 SO Cut any shape from image ( Imagik/Gd) 上发现了这个问题,但它适用于 JPEG 图像而不是 png,因为它设置了黑色背景。
到目前为止,我已经想出了这段代码,但我无法得到我想要的输出
exec('convert "main.png" "mask.png" -geometry (+230+40) -compose copyopacity -composite
-fuzz 1% -trim "output.png"');
它给了我输出
我希望黑色部分是透明的,因为它来自 main.png
这些我也试过了,但是没用
exec('convert "main.png" "mask.png" -geometry (+230+40) -fuzz 5% -transparent white
"output.png"');
这是在@fmw42 的帮助下终于可以工作的代码
exec('convert "main.png" "mask.png" -background none -geometry (+230+40) -compose dstin -composite -fuzz 1% -trim "output.png"');
【问题讨论】:
-
不说明原因就直接否决或关闭任何问题总是不礼貌的。
-
蒙版图片在哪里?是提供的图像还是只是蓝色部分?
-
@fmw42 红色框上的蓝色图像是蒙版图像。我想从主图像中剪下蓝色部分。
-
请为两张图片提供实际透明度,而不是用棋盘格区域代替透明度。
-
好的,请稍等5分钟。
标签: php image-processing imagemagick