我的本地版本为ImageMagick 6.7.3-10(PHP 5.2.10),服务器端版本为ImageMagick 6.5.4-7(PHP 5.3.9)。碰巧服务器端没有生成透明背景,但其他颜色仍然有效。然而,当地的透明背景也很好。无论如何,我可以解决,以便在服务器端使用透明背景?
$canvas = new Imagick();
$canvas->newImage( $size, $size, new ImagickPixel( 'transparent' ) );
答案 0 :(得分:4)
对我而言,“没有”也没有“透明”,但是“rgba(250,15,150,0)”结束了我对Imagick完全稀疏文档的长期痛苦。
答案 1 :(得分:2)
您是否尝试过而不是透明?
Stackoverflow的另一个答案:Setting an alpha channel when constructing an ImagickPixel
答案 2 :(得分:1)
确保以实际支持透明度的格式保存结果...因此不是JPG,而是GIF或PNG ....这听起来很简单,但这种情况经常被遗忘(特别是未明确定义时)< / p>
答案 3 :(得分:1)
我在本地开发的代码在透明像素的生产中没有遇到同样的问题。我尝试了上面的所有解决方案,透明度根本无法正常工作。最后,我将$im->setImageFormat( 'png24' );
更改为$im->setImageFormat( 'png' );
,这一切都重新开始了。 “png24”格式必须在以后添加。