PHP通过GD库可实现图像处理,如生成缩略图、裁剪、调色及添加文字或图片水印。1. 使用imagecreatefromjpeg()等函数加载图像,imagejpeg()输出;2. imagettftext()添加TrueType字体文字水印;3. imagecopymerge()合并PNG透明水印至原图;4. imagecopyresampled()高质量生成缩略图。需注意字体路径、内存限制与文件权限。

PHP通过GD库可以轻松实现图像处理功能,比如生成缩略图、裁剪图片、调整颜色以及添加文字或图片水印。GD库是PHP内置的图形处理扩展,大多数PHP环境默认已启用。若未开启,需在php.ini中启用extension=gd。
GD库支持多种图像格式,如JPEG、PNG、GIF。常用函数包括imagecreatefromjpeg()、imagecreatefrompng()等用于加载图像,imagejpeg()、imagepng()用于输出图像。
示例:加载并显示一张图片
$src = 'photo.jpg';
$image = imagecreatefromjpeg($src);
header('Content-Type: image/jpeg');
imagejpeg($image);
imagedestroy($image);
使用imagettftext()函数可以在图像上添加基于TrueType字体的文字水印,效果更美观。
立即学习“PHP免费学习笔记(深入)”;
步骤说明:
$src = 'photo.jpg';
$image = imagecreatefromjpeg($src);
$color = imagecolorallocate($image, 255, 255, 255); // 白色
$font = 'arial.ttf'; // 字体文件路径
$text = '版权所有';
imagettftext($image, 20, 0, 20, 50, $color, $font, $text);
header('Content-Type: image/jpeg');
imagejpeg($image, null, 90); // 质量90%
imagedestroy($image);
将一个Logo图片叠加到原图上,常用于品牌保护。使用imagecopy()或imagecopymerge()实现透明度融合。
示例:添加半透明PNG水印
$main = imagecreatefromjpeg('photo.jpg');
$logo = imagecreatefrompng('logo.png');
$logo_width = imagesx($logo);
$logo_height = imagesy($logo);
$dest_x = imagesx($main) - $logo_width - 10;
$dest_y = imagesy($main) - $logo_height - 10;
// 合并图像,透明度为50%
imagecopymerge($main, $logo, $dest_x, $dest_y, 0, 0, $logo_width, $logo_height, 50);
header('Content-Type: image/jpeg');
imagejpeg($main);
imagedestroy($main);
imagedestroy($logo);
通过imagecopyresampled()可高质量缩放图像。
function createThumbnail($src, $width = 200, $height = 200) {
$original = imagecreatefromjpeg($src);
$thumb = imagecreatetruecolor($width, $height);
imagecopyresampled($thumb, $original, 0, 0, 0, 0, $width, $height, imagesx($original), imagesy($original));
imagejpeg($thumb, 'thumb.jpg', 80);
imagedestroy($original);
imagedestroy($thumb);
}
createThumbnail('photo.jpg');
基本上就这些。掌握GD库基本函数后,图像处理和水印添加并不复杂,但要注意字体文件路径、内存限制和图像权限问题。合理使用,能有效提升网站内容安全性与用户体验。
以上就是PHP代码怎么实现图像处理功能_PHP GD库图像处理与水印添加的详细内容,更多请关注php中文网其它相关文章!
PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号