php编写程序,为图像加上水印?
时间: 2024-02-19 15:57:51 浏览: 21
可以使用PHP的GD库来为图像添加水印。以下是一个简单的示例代码:
```php
// 加载原图
$srcImg = imagecreatefromjpeg("original.jpg");
// 创建水印图
$watermarkImg = imagecreatefrompng("watermark.png");
// 获取原图和水印图的宽高
$srcWidth = imagesx($srcImg);
$srcHeight = imagesy($srcImg);
$watermarkWidth = imagesx($watermarkImg);
$watermarkHeight = imagesy($watermarkImg);
// 计算水印图的位置
$watermarkX = $srcWidth - $watermarkWidth - 10; // 水印图距离右边缘10像素
$watermarkY = $srcHeight - $watermarkHeight - 10; // 水印图距离底部10像素
// 把水印图复制到原图上
imagecopy($srcImg, $watermarkImg, $watermarkX, $watermarkY, 0, 0, $watermarkWidth, $watermarkHeight);
// 输出带有水印的图像
header("Content-type: image/jpeg");
imagejpeg($srcImg);
// 释放内存
imagedestroy($srcImg);
imagedestroy($watermarkImg);
```
在上面的代码中,我们先使用`imagecreatefromjpeg`和`imagecreatefrompng`函数分别加载原图和水印图。然后使用`imagesx`和`imagesy`函数获取它们的宽高。接着计算出水印图的位置,使用`imagecopy`函数把水印图复制到原图上。最后使用`imagejpeg`函数输出带有水印的图像,并使用`imagedestroy`函数释放内存。