PHP GD库:读取图片并从上到下渐变透明
以下是一个简单的PHP GD库代码示例,用于读取本地 1920*1080 图片并使其从上到下渐变透明:
<?php
// 读取本地图片
$image = imagecreatefromjpeg('path/to/image.jpg');
// 获取图片宽度和高度
$width = imagesx($image);
$height = imagesy($image);
// 创建渐变透明的矩形
$gradient = imagecreatetruecolor($width, $height);
for ($y = 0; $y < $height; $y++) {
$alpha = intval((1 - $y / $height) * 127);
$color = imagecolorallocatealpha($gradient, 0, 0, 0, $alpha);
imagefilledrectangle($gradient, 0, $y, $width, $y + 1, $color);
}
// 将渐变透明矩形与原始图片合并
imagecopymerge($image, $gradient, 0, 0, 0, 0, $width, $height, 100);
// 输出结果
header('Content-Type: image/jpeg');
imagejpeg($image);
// 释放内存
imagedestroy($image);
imagedestroy($gradient);
?>
这个代码示例使用了imagecreatefromjpeg()函数从本地读取JPEG格式的图片。如果你的图片格式是PNG或GIF,可以使用imagecreatefrompng()或imagecreatefromgif()函数代替。
接下来,使用imagesx()和imagesy()函数获取图片的宽度和高度。
然后,创建一个与原始图片尺寸相同的黑色矩形,并在循环中为每一行设置透明度,从而创建一个从上到下渐变透明的效果。
最后,使用imagecopymerge()函数将渐变透明矩形与原始图片合并,并使用imagejpeg()函数输出结果。
最后,别忘了使用imagedestroy()函数释放内存。
原文地址: https://www.cveoy.top/t/topic/kvlp 著作权归作者所有。请勿转载和采集!