我昨天整天试着试图解决这个问题。我通过imagerotate()旋转图像。我得到一个黑色背景,图像不再覆盖。我已经尝试了一切我无法想到使背景透明化的东西..
这是我目前的代码..
function rotate($degrees) {
$image = $this->image;
imagealphablending($image, false);
$color = imagecolorallocatealpha($image, 0, 0, 0, 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它仍然会发出黑色或白色背景......
答案 0 :(得分:1)
尝试在旋转的图像上设置imagesavealpha()。
目前,您在原始图片上运行imagesavealpha()。 [例如imagesavealpha( $ image ,true); ]
相反,你想在旋转的图像上运行imagesavealpha(),然后设置$ this-> image ... try:
...
$rotate = imagerotate($image, $degrees, $color);
imagecolortransparent($rotate, $color);
imagesavealpha($rotate, true); // <- using $rotate instead of $image
$this->image = $rotate;
}