📅  最后修改于: 2023-12-03 15:33:33.258000             🧑  作者: Mango
imagesavealpha()
函数用于设置一个图像资源是否保存 aplha 通道信息。当设置为 true
,可保存 aplha 通道信息,当设置为 false
,不保存 aplha 通道信息。
bool imagesavealpha ( resource $image , bool $saveflag )
image
:图像资源,通过 imagecreatefrom*
系列函数创建。saveflag
:是否保存 aplha 通道信息,true
为保存,false
为不保存。true
:保存成功。false
:保存失败。下面的示例代码可以帮助你更好的理解 imagesavealpha()
函数。
<?php
// 首先,创建一个 100 x 100 大小的透明图像
$image = imagecreatetruecolor(100, 100);
imagesavealpha($image, true);
$trans_colour = imagecolorallocatealpha($image, 0, 0, 0, 127);
imagefill($image, 0, 0, $trans_colour);
// 将图像资源保存到空白画布中
$canvas = imagecreatetruecolor(400, 400);
$white = imagecolorallocate($canvas, 255, 255, 255);
imagefill($canvas, 0, 0, $white);
imagecopy($canvas, $image, 150, 150, 0, 0, 100, 100);
// 设置响应类型为 PNG
header('Content-type: image/png');
// 输出图像资源到浏览器
imagepng($canvas);
imagedestroy($image);
imagedestroy($canvas);
?>
代码解释:
使用 imagesavealpha()
函数时最好将图像透明度先设置为合适的值。否则将会使用一个外观不一定正确的默认值。