PHP中封装水印函数的使用方法
发布时间:2023-05-16 22:40:54
PHP 中封装水印函数的使用方法一般分为以下几个步骤:
1. 创建一个水印函数
我们首先需要创建一个水印函数,来实现给图片打上水印的功能,示例代码如下:
function create_watermark($image_path, $text, $font_path, $font_size, $color) {
// 加载图片
$image = imagecreatefromjpeg($image_path);
// 设置水印文本属性
$text_color = imagecolorallocate($image, $color[0], $color[1], $color[2]);
$font_size = $font_size;
$font_angle = 0;
// 添加水印
imagettftext($image, $font_size, $font_angle, 10, 30, $text_color, $font_path, $text);
// 输出图片
imagejpeg($image, $image_path);
// 释放图片资源
imagedestroy($image);
}
在这个函数中,我们首先通过 imagecreatefromjpeg 函数加载了一张图片,并且指定了水印文本的字体、字号、颜色等属性。然后通过 imagettftext 函数添加了水印,并将添加了水印的图片保存在原始图片的路径中,最后释放了图片资源。
2. 调用水印函数
在创建好水印函数之后,我们就可以在其他地方调用它来为图片添加水印了。示例代码如下:
$image_path = 'image.jpg'; $text = '水印文本'; $font_path = 'font.ttf'; $font_size = 20; $color = [255, 255, 255]; create_watermark($image_path, $text, $font_path, $font_size, $color);
在这个示例代码中,我们向 create_watermark 函数传入了需要添加水印的图片路径、水印文本、字体路径、字号以及水印文本颜色。调用函数之后,函数就会将添加了水印的图片保存在原始图片的路径中。这里要注意的是,要确保字体文件存在,并且字体文件路径是正确的。
3. 针对多个图片添加水印
如果需要给多个图片添加水印,我们可以使用循环来遍历图片并一一调用水印函数来添加水印。示例代码如下:
$image_list = ['image1.jpg', 'image2.jpg', 'image3.jpg'];
$text = '水印文本';
$font_path = 'font.ttf';
$font_size = 20;
$color = [255, 255, 255];
foreach ($image_list as $image_path) {
create_watermark($image_path, $text, $font_path, $font_size, $color);
}
在这个示例代码中,我们定义了一个图片路径列表,然后通过循环遍历列表中的每一个图片,并一一调用水印函数来添加水印。针对多个图片添加水印时,要注意确保图片路径列表中的每一张图片都存在。
