Imagick极角效果没有透明度

4
我使用以下代码来创建拍立得效果,但是没有透明效果真的很分散。
<?php
/* Create the object */
$image = new Imagick('wood.png');

/* Set the opacity */
$image->polaroidImage(new ImagickDraw(), 25);

/* output the image */
header('Content-type: image/png');
echo $image;

?>

我得到的结果类似于http://photoapp.biz/polaroid/test.php
原始图片为http://photoapp.biz/polaroid/wood.png
问题出在哪里?这几乎发生在我尝试的所有10张图片中。
例如: 输入图片描述

我尝试安装了几个不同版本的PHP,但都遇到了同样的问题。 - Hem Teja
应该在哪里设置透明度? - Igor Parra
周围不应有黑白色。 - Hem Teja
请参考重复的问题http://stackoverflow.com/questions/9276975/imagemagick-unwanted-black-background-on-rotated-transparent-images。 - Nelson
3个回答

0

透明度可以使用Imagick::setImageOpacity进行设置。

$image->setImageOpacity(0.7);

除此之外,也许您需要使用另一种图像格式:

话虽如此,某些网络浏览器无法正确显示透明的“PNG”图像(尤其是Microsoft Internet Explorer v6,尽管IE v7可以)。因此,我通常更喜欢使用JPEG和GIF图像格式,并仅在生成具有半透明像素或需要稍后进行精确颜色示例的图像时才使用PNG。

来源:http://www.imagemagick.org/Usage/#PNG

编辑1

尝试

$image->setBackgroundColor(new ImagickPixel('transparent'));


我要求在图像周围有透明度。 - Hem Teja
啊,是的,下载图片我知道你的意思。我编辑了你的帖子来展示它... - Igor Parra

0

是的...就像那样...需要删除不必要的部分。 - Hem Teja

0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接