php 图片上添加透明度渐变的效果要求渐变从上往下
以下是一个简单的实现方法:
// 读取原始图片
$source_image = imagecreatefromjpeg('path/to/image.jpg');
// 获取图片宽度和高度
$width = imagesx($source_image);
$height = imagesy($source_image);
// 创建一个透明度渐变的图片
$gradient_image = imagecreatetruecolor($width, $height);
$alpha = 0;
for ($i = 0; $i < $height; $i++) {
$color = imagecolorallocatealpha($gradient_image, 0, 0, 0, $alpha);
imagefilledrectangle($gradient_image, 0, $i, $width, $i + 1, $color);
$alpha += 2;
}
// 将透明度渐变的图片合并到原始图片上
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/c8OI 著作权归作者所有。请勿转载和采集!