我希望我的背景最终变成白色。我已经看了其他问题,但没有一个答案似乎能真正解决这个问题。
我正在使用Imagick版本2.3,这就是我所拥有的:
$this->_object = new Imagick();
$this->_object->setResolution(300, 300);
$this->_object->readImage($fileRead);
$this->_object->setImageMatte(true);
$this->_object->setImageMatteColor("white");
$this->_object->setImageAlphaChannel(Imagick::ALPHACHANNEL_OPAQUE);
我试过
setBackgroundColor, setImageBackgroundColor, composite over a white image
这些似乎都不起作用。有什么建议吗?
答案 0 :(得分:0)
jpg扩展名不支持后台透明度,您需要使用png。对于其他网站,如果您有一个带有写入背景的img,您可以使用以下代码将此颜色设置为透明:
$route = "MiOldJpgWriteBackground.jpg";
$salida = 'MiNewTransparentFile.png';
exec("convert $route $salida");
exec("convert $salida -bordercolor white -border 1x1 \
-alpha set -channel RGBA -fuzz 10% \
-fill none -floodfill +0+0 white \
-shave 1x1 $salida");
exec("rm $route");