PHP 图片渐变透明效果实现教程
可以使用 PHP 的 GD 库来实现图片渐变透明的效果。具体步骤如下:
-
使用
imagecreatefromxxx()函数创建一个原始图片的资源句柄。 -
使用
imagesx()和imagesy()函数获取原始图片的宽度和高度。 -
创建一个新的透明图片资源句柄,使用
imagecreatetruecolor()函数来创建。 -
使用
imagecopy()函数将原始图片复制到新的透明图片资源句柄中。 -
使用
imagealphablending()函数将新的透明图片资源句柄设置为 alpha 通道混合模式。 -
使用
imagefilledrectangle()函数在新的透明图片资源句柄上绘制一个透明度从 0 到 255 的渐变矩形。 -
使用
imagesavealpha()函数将新的透明图片资源句柄设置为保存 alpha 通道。 -
使用
imagepng()、imagejpeg()等函数将新的透明图片资源句柄保存为文件或输出到浏览器。
示例代码如下:
// 创建原始图片资源句柄
$src = imagecreatefromjpeg('original.jpg');
// 获取原始图片的宽度和高度
$width = imagesx($src);
$height = imagesy($src);
// 创建新的透明图片资源句柄
$dst = imagecreatetruecolor($width, $height);
// 复制原始图片到新的透明图片资源句柄中
imagecopy($dst, $src, 0, 0, 0, 0, $width, $height);
// 设置alpha通道混合模式
imagealphablending($dst, true);
// 绘制渐变矩形
for ($i = 0; $i < $height; $i++) {
$alpha = round($i / $height * 255);
$color = imagecolorallocatealpha($dst, 0, 0, 0, $alpha);
imagefilledrectangle($dst, 0, $i, $width, $i, $color);
}
// 设置保存alpha通道
imagesavealpha($dst, true);
// 输出透明图片到浏览器
header('Content-Type: image/png');
imagepng($dst);
// 保存透明图片到文件
imagepng($dst, 'transparent.png');
原文地址: https://www.cveoy.top/t/topic/ku4t 著作权归作者所有。请勿转载和采集!