php 如何给文字水印添加文字阴影
时间: 2023-12-25 19:02:47 浏览: 176
你可以使用 PHP GD 库来给文字水印添加文字阴影。下面是一个简单的示例代码:
```php
// 创建一张图片
$image = imagecreatefromjpeg('image.jpg');
// 设置字体文件路径
$font = 'arial.ttf';
// 设置水印文字
$text = 'Watermark Text';
// 设置文字颜色
$color = imagecolorallocate($image, 255, 255, 255);
// 设置阴影颜色
$shadow_color = imagecolorallocate($image, 0, 0, 0);
// 设置阴影偏移量
$shadow_x = 2;
$shadow_y = 2;
// 设置字体大小
$font_size = 20;
// 获取文字宽度和高度
$text_width = imagettfbbox($font_size, 0, $font, $text)[2] - imagettfbbox($font_size, 0, $font, $text)[0];
$text_height = imagettfbbox($font_size, 0, $font, $text)[1] - imagettfbbox($font_size, 0, $font, $text)[7];
// 计算水印位置
$x = imagesx($image) - $text_width - 10;
$y = imagesy($image) - $text_height - 10;
// 添加阴影
imagettftext($image, $font_size, 0, $x + $shadow_x, $y + $shadow_y, $shadow_color, $font, $text);
// 添加水印
imagettftext($image, $font_size, 0, $x, $y, $color, $font, $text);
// 输出图片
header('Content-Type: image/jpeg');
imagejpeg($image);
// 释放内存
imagedestroy($image);
```
在上面的示例代码中,我们使用 imagettfbbox() 函数获取文字的宽度和高度,并根据图片的大小计算水印的位置。然后,我们使用 imagettftext() 函数在图片上添加阴影和水印。最后,我们使用 imagejpeg() 函数将图片输出到浏览器,并使用 imagedestroy() 函数释放内存。
阅读全文