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的画布,然后使用imagecreat
.........................................................