微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

为什么我用php旋转后无法使png的背景透明?

我昨天整天试着试图解决这个问题.我通过imagerotate()旋转图像.我得到一个黑色背景,图像不再覆盖.我已经尝试了一切我无法想到的,使背景透明化..

这是我目前的代码..

function rotate($degrees) {
       $image = $this->image;
       imagealphablending($image,false);
       $color = imagecolorallocatealpha($image,127);
       $rotate = imagerotate($image,$degrees,$color);
       imagecolortransparent($rotate,$color);
       imagesavealpha($image,true);
       $this->image = $rotate;
   }

我真的开始被勾掉了.有人能告诉我一些工作代码吗?请?

我的WAMP服务器和Dreamweaver可能有问题吗?因为我甚至尝试了这个.. http://www.exorithm.com/algorithm/view/rotate_image_alpha,它仍然是黑色或白色背景..

尝试在旋转的图像上设置imagesavealpha().

目前,您在原始图像上运行imagesavealpha(). [例如imagesavealpha($image,true); ]

相反,你想在旋转的图像上运行imagesavealpha(),然后设置$this-> image … try:

...
   $rotate = imagerotate($image,$color);
   imagecolortransparent($rotate,$color);
   imagesavealpha($rotate,true);  // <- using $rotate instead of $image
   $this->image = $rotate;

}

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐