PHP 4.3.0 及以上版本
imagesavealpha() 函数用于设置一个图像是否保持其透明度信息。
bool imagesavealpha(resource $image, bool $savealpha)
$image (必需) - 一个图像资源,通常由图像创建函数(如 imagecreate() 或 imagecreatefromjpeg())返回。
$savealpha (必需) - 一个布尔值。如果设置为 true,图像将保存 alpha 通道信息,否则不会保存。
如果成功,返回 true;如果失败,返回 false。
以下是一个使用 imagesavealpha 函数的示例,演示如何保存 PNG 图像的透明度信息。
<?php // 创建一个带透明度的图像 $image = imagecreatetruecolor(200, 200); <p>// 开启透明度<br> imagealphablending($image, false);<br> imagesavealpha($image, true);</p> <p>// 创建透明背景<br> $transparency = imagecolorallocatealpha($image, 0, 0, 0, 127);<br> imagefill($image, 0, 0, $transparency);</p> <p>// 输出图像并保存为PNG格式<br> imagepng($image, 'transparent_image.png');</p> <p>// 销毁图像资源<br> imagedestroy($image);<br> ?><br>
在上述代码中,我们首先创建了一个 200x200 的空白图像,并使用 imagealphablending() 关闭图像的混合模式。接着,使用 imagesavealpha() 设置图像保存 alpha 通道信息。我们为图像设置了透明背景,并使用 imagepng() 保存为 PNG 格式。最后,释放图像资源。