gpt4 book ai didi

php - 使用 GD 创建透明 Canvas

转载 作者:行者123 更新时间:2023-12-04 05:57:30 25 4
gpt4 key购买 nike

我正在尝试创建一个透明的图像 Canvas ,然后在该 Canvas 上放置其他随机图像。然后我最终将最终图像保存为 gif .我尝试了以下方法:

    $canvas = imagecreatetruecolor($this->canvas_width, $this->canvas_height);
imagesavealpha($canvas, true);
imagealphablending($canvas, false);

$trans_colour = imagecolorallocatealpha($canvas, 0, 0, 0, 127);
imagefill($canvas, 0, 0, $trans_colour);

但是,如果 Canvas 上还有一些未使用的空间,那么这部分是黑色的。我认为这个区域应该是透明的?

我是否正确地应用了上述透明度?

最佳答案

imagesavealpha不能用于您最终打算保存为 GIF 的图像,因为 GIF 图像没有 Alpha channel 。从文档:

imagesavealpha — Set the flag to save full alpha channel information (as opposed to single-color transparency) when saving PNG images



因此,它仅适用于将图像另存为 PNG 的情况。 GIF 图像可以透明,但不能使用 alpha channel ;它们只能通过将特定颜色定义为透明来“透明”或“不透明”。在 PHP 中,您可以使用 imagecolortransparent 来做到这一点。 .例如,要使所有黑色透明,您可以执行以下操作:
$black_color = imagecolorallocate($canvas, 0, 0, 0);
imagecolortransparent($canvas, $black_color);

关于php - 使用 GD 创建透明 Canvas ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9332497/

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