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和GD库教程:如何给图片添加水印的详细内容。更多信息请关注PHP中文网其他相关文章!