📜  PHP | imagesavealpha()函数(1)

📅  最后修改于: 2023-12-03 15:33:33.258000             🧑  作者: Mango

PHP | imagesavealpha()函数

简介

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);
?>

代码解释:

  1. 创建一个 100 x 100 的透明图像;
  2. 将图像资源保存到空白画布中;
  3. 输出图像资源到浏览器。
备注

使用 imagesavealpha() 函数时最好将图像透明度先设置为合适的值。否则将会使用一个外观不一定正确的默认值。