PHP GD库实现图片从上到下渐变透明效果
使用 GD 库可以通过以下步骤实现图片从上到下渐变透明:
- 创建一个空白的画布,大小与原始图片一致。
- 使用
imagecolorallocatealpha()函数创建一个透明度为 0 的颜色。 - 循环遍历画布的每一行,使用
imagesetpixel()函数将该行的所有像素点的颜色设置为从透明到不透明的渐变色。 - 将原始图片与渐变色画布合并,使用
imagecopymerge()函数将两张图片合并,使渐变色覆盖在原始图片上。
以下是示例代码:
// 原始图片路径
$source_path = 'example.jpg';
// 创建画布
$source_image = imagecreatefromjpeg($source_path);
$width = imagesx($source_image);
$height = imagesy($source_image);
$gradient_image = imagecreatetruecolor($width, $height);
// 创建渐变色
$transparent = imagecolorallocatealpha($gradient_image, 0, 0, 0, 127);
for ($i = 0; $i < $height; $i++) {
$color = imagecolorallocatealpha($gradient_image, 0, 0, 0, $i * 127 / $height);
for ($j = 0; $j < $width; $j++) {
imagesetpixel($gradient_image, $j, $i, $color);
}
}
// 合并图片
imagecopymerge($source_image, $gradient_image, 0, 0, 0, 0, $width, $height, 100);
// 输出图片
header('Content-Type: image/jpeg');
imagejpeg($source_image);
运行该代码后,会输出一个从上到下渐变透明的图片。
原文地址: https://www.cveoy.top/t/topic/kvbo 著作权归作者所有。请勿转载和采集!