gpt4 book ai didi

php - 用php旋转png图像后如何获得透明背景?

转载 作者:可可西里 更新时间:2023-11-01 13:12:46 25 4
gpt4 key购买 nike

所以我有 png 图像并旋转它但我得到黑色背景..或者如果我使用白色的颜色代码我会变成白色..我试过这样做..

$trans = imagecolorallocatealpha(image, 0, 0, 0, 127);
imagerotate($image, $degree, $trans)

我也试过..

$trans = imagecolorallocatealpha($image, 255, 255, 255, 127);

有人可以帮帮我吗?

这是我的代码.. 如果我将 allocatealpha 更改为 0, 0, 255, 0 然后它会变成蓝色。但是 0, 0, 0, 127 它仍然是黑色的。

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

最佳答案

$destimg = imagecreatefromjpeg("image.png");
$transColor = imagecolorallocatealpha($destimg, 255, 255, 255, 127);
$rotatedImage = imagerotate($destimg, 200, $transColor);
imagesavealpha($rotatedImage, true);
imagepng($rotatedImage,"rotated.png");

根据下面的正确评论,这应该是:

$destimg = imagecreatefrompng("image.png");
$transColor = imagecolorallocatealpha($destimg, 255, 255, 255, 127);
$rotatedImage = imagerotate($destimg, 200, $transColor);
imagesavealpha($rotatedImage, true);
imagepng($rotatedImage,"rotated.png");

关于php - 用php旋转png图像后如何获得透明背景?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4148774/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com