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 张图像中。

例子:

在此处输入图像描述

4

3 回答 3

0

如果我错了,请纠正我,但你真的在问抗锯齿,不是吗?

http://www.imagemagick.org/Usage/antialiasing/

于 2012-09-27T14:07:05.983 回答
0

试试这个功能http://php.net/manual/en/function.imageantialias.php

它的作用是:

在此处输入图像描述

请注意,IMAGIC 可以通过多种不同的方式进行编译,并且您可能在不同的环境中产生不同的效果。

于 2012-09-27T14:12:14.000 回答
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'));

于 2012-09-27T13:54:47.703 回答