ThinkPHP 是一个流行的 PHP 开发框架,它提供了丰富的功能来简化 Web 应用的开发过程。在 ThinkPHP 中添加水印是一种常见的需求,尤其是在处理图片上传和展示时,为了保护版权或增加品牌识别度。
水印通常是一种半透明的图像或文字,被叠加在其他图像上。它可以分为两种类型:
在 ThinkPHP 中,可以通过以下步骤实现图片水印:
以下是一个使用 GD 库在 ThinkPHP 中添加文字水印的示例代码:
<?php
namespace app\index\controller;
use think\Controller;
use think\Image;
class Watermark extends Controller
{
public function addWatermark()
{
// 加载目标图片
$image = Image::open('./uploads/image.jpg');
// 创建文字水印
$text = '© 2023 MyCompany';
$font = './uploads/font.ttf'; // 字体文件路径
$size = 20; // 字体大小
$color = '#ffffff'; // 文字颜色
$x = 10; // 文字 x 坐标
$y = 30; // 文字 y 坐标
// 添加文字水印
$image->text($text, $font, $size, $color, function ($draw) use ($x, $y) {
$draw->setFontSize($size);
$draw->setFontColor(new \think\image\color($this->color));
$draw->setXY($x, $y);
});
// 保存图片
$image->save('./uploads/image_with_watermark.jpg');
}
}
setXY
方法中的坐标值是否正确。通过以上步骤和示例代码,你可以在 ThinkPHP 中实现图片水印功能,并解决常见的相关问题。
领取专属 10元无门槛券
手把手带您无忧上云