要解决这个问题:
Imagick: Convert bash command into php script
我有一个命令可以完全执行我想做的事情:
convert input.jpg -alpha set -bordercolor "rgb(255,255,255)"
-border 1 -fill none -fuzz 5% -draw "color 0,0 floodfill" -shave 1x1 out.png
所以我试图在PHP Imagick中做同样的事情。
$backgroundColor = $image->getImagePixelColor(0, 0);
$image->setImageAlphaChannel(\Imagick::ALPHACHANNEL_SET);
$image->borderImage($backgroundColor->getColorAsString(), 1, 1);
$image->floodFillPaintImage(
'transparent',
$fuzz * \Imagick::getQuantum(),
$backgroundColor->getColorAsString(),
0, 0,
false);
$image->shaveImage(1, 1);
我需要使用PHP而不是使用shell_exec()
命令。
但是我的PHP代码的结果只是一个黑色图像。
为了测试,我使用了phpimagick.com上的图片
图片:https://phpimagick.com/imageOriginal/Tutorial/backgroundMasking
椅子的内部也不必是透明的。我只需要背景消失即可。
你们有些人有主意吗?
谢谢您的答复。