卓越飞翔博客卓越飞翔博客

卓越飞翔 - 您值得收藏的技术分享站
技术文章11179本站已运行3223

PHP和GD库教程:如何给图片添加水印

PHP和GD库教程:如何给图片添加水印

引言:
在网站开发中,经常会遇到给图片添加水印的需求。水印可以起到保护图片版权、品牌宣传等作用。本文将介绍如何使用PHP和GD库添加水印到图片上。

GD库简介:
GD库是一个用于在PHP中处理图像的库。它提供了一组函数,能够创建、编辑和输出图像。要使用GD库,需要确保PHP已经安装了GD扩展库。

添加文字水印:
要给图片添加文字水印,首先需要使用GD库中的函数创建一个画布,并将原始图片载入到画布上。

<?php
// 创建画布
$image = imagecreatetruecolor(500, 300);
// 载入原始图片
$originalImage = imagecreatefromjpeg('path/to/your/image.jpg');
// 在画布上绘制原始图片
imagecopy($image, $originalImage, 0, 0, 0, 0, 500, 300);

// 添加文字水印
$font = 'path/to/your/font.ttf';
$color = imagecolorallocate($image, 255, 255, 255); // 水印文字颜色
$text = 'Your Watermark Text';
imagettftext($image, 20, 0, 50, 50, $color, $font, $text);

// 输出图片
header('Content-Type: image/jpeg');
imagejpeg($image);

// 清理资源
imagedestroy($image);
imagedestroy($originalImage);
?>

上述代码中,首先使用imagecreatetruecolor()函数创建一个大小为500x300的画布。然后使用imagecreatefromjpeg()函数将原始图片载入到画布上。接下来,使用imagettftext()函数在画布上添加文字水印。最后,使用imagejpeg()函数将修改后的图片输出到浏览器上。

添加图片水印:
除了文字水印,我们也可以添加图片水印。添加图片水印的过程与添加文字水印类似,只是在画布上绘制的内容改为另一张图片。

<?php
// 创建画布
$image = imagecreatetruecolor(500, 300);
// 载入原始图片
$originalImage = imagecreatefromjpeg('path/to/your/image.jpg');
// 在画布上绘制原始图片
imagecopy($image, $originalImage, 0, 0, 0, 0, 500, 300);

// 添加图片水印
$watermark = imagecreatefrompng('path/to/your/watermark.png');
imagecopy($image, $watermark, 0, 0, 0, 0, 100, 100);

// 输出图片
header('Content-Type: image/jpeg');
imagejpeg($image);

// 清理资源
imagedestroy($image);
imagedestroy($originalImage);
imagedestroy($watermark);
?>

在上述代码中,我们首先使用imagecreatetruecolor()函数创建一个大小为500x300的画布,然后使用imagecreatefromjpeg()函数载入原始图片。接着,使用imagecreatefrompng()函数载入水印图片,并使用imagecopy()函数将水印绘制到画布上。最后,使用imagejpeg()函数输出图片到浏览器。

总结:
通过本文的介绍,我们了解了如何使用PHP和GD库添加水印到图片上。无论是文字水印还是图片水印,都可以通过GD库的函数实现。这为我们在网站开发中添加水印提供了便利。通过对GD库的学习和实践,我们可以更好地进行图片处理和优化。

卓越飞翔博客
上一篇: 如何使用PHP和MySQL在JSON数据中进行搜索和过滤?
下一篇: Go语言正则表达式技巧:如何匹配固定长度的字符串
留言与评论(共有 0 条评论)
   
验证码:
隐藏边栏