【问题标题】:Rotate PNG image, and maintain transparent background旋转PNG图像,并保持透明背景
【发布时间】:2011-08-21 20:31:59
【问题描述】:

我想旋转图像,但我似乎无法保持图像本身。

这就是我所拥有的:

// Content type
header('Content-type: image/png');  

$image = 'http://mapning.com/img/plane.png';
$file = imagecreatefrompng($image);
// Rotate
$rotate = imagerotate($file, $angle, 0);
// Output
imagepng($rotate);

我做错了什么?

【问题讨论】:

    标签: php image png rotation transparent


    【解决方案1】:

    您必须特别强制 GD 保持透明度。试试

    imagesavealpha($file, TRUE);
    

    imagepng() 调用之前。

    【讨论】:

    • 好吧,这似乎有点工作。现在角落是黑色的,我找到了解决方案,但这一直在原始图像周围出现黑线。
    • @RenePot Rene,你设法摆脱那些黑线了吗?如果是,你是怎么做到的?
    • @AndreiOniga 抱歉,我不记得了,我想我已经没有代码了
    【解决方案2】:

    在 GD 和 ImageMagick 中对我有帮助的是获取最终要覆盖的背景颜色的 hex/rgb 代码。然后,将其用作您的“背景”颜色。旋转后,将该颜色转换为透明。然后,在进行叠加后,抗锯齿的小边缘看起来会很平滑。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-10-05
      • 2012-05-31
      • 2011-05-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-12-14
      • 1970-01-01
      相关资源
      最近更新 更多