使用 GD 库可以通过以下步骤实现图片从上到下渐变透明:

  1. 创建一个空白的画布,大小与原始图片一致。
  2. 使用 imagecolorallocatealpha() 函数创建一个透明度为 0 的颜色。
  3. 循环遍历画布的每一行,使用 imagesetpixel() 函数将该行的所有像素点的颜色设置为从透明到不透明的渐变色。
  4. 将原始图片与渐变色画布合并,使用 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);

运行该代码后,会输出一个从上到下渐变透明的图片。

PHP GD库实现图片从上到下渐变透明效果

原文地址: https://www.cveoy.top/t/topic/kvbo 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录