【问题标题】:No transparency with Imagick polaroid effectImagick 宝丽来效果没有透明度
【发布时间】:2012-09-19 07:35:12
【问题描述】:

我使用下面的代码来创建宝丽来效果,但是它真的很分散注意力,周围没有任何透明效果。

<?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 imagemagick


【解决方案1】:

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

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

【讨论】:

  • 是的...类似的东西...不需要的部分需要删除
【解决方案2】:

使用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'));

【讨论】:

  • 我要求图像周围的透明度
  • 啊,是的,正在下载图片我明白你的意思。我编辑了你的帖子以显示它......
【解决方案3】:

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

它的作用是:

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

【讨论】:

    猜你喜欢
    • 2016-12-20
    • 1970-01-01
    • 1970-01-01
    • 2011-10-08
    • 1970-01-01
    • 2018-03-30
    • 2013-09-20
    • 1970-01-01
    • 2013-06-17
    相关资源
    最近更新 更多