php 图片添加图片水印,pdf添加文字水印
php 图片添加图片水印,代码如下:
/**
* 图片添加图片水印
* $src 原始图片路径
* $watermarkPath 水印图片路径
* $outputPath 保存带水印的图片路径
*/
public function img_water_mark($src,$watermarkPath,$outputPath) {
$source = imagecreatefromjpeg($src); // 打开原始图片
$watermark = imagecreatefrompng($watermarkPath); // 打开水印图片
$sourceWidth = imagesx($source); // 原始图片宽度
$sourceHeight = imagesy($source); // 原始图片高度
$watermarkWidth = imagesx($watermark); // 水印图片宽度
$watermarkHeight = imagesy($watermark); // 水印图片高度
$x = $sourceWidth - $watermarkWidth - 10; // 水印左上角的x坐标
$y = $sourceHeight - $watermarkHeight - 10; // 水印左上角的y坐标
imagecopy($source, $watermark, $x, $y, 0, 0, $watermarkWidth, $watermarkHeight); // 将水印图片拷贝到原始图片上
imagejpeg($source, $outputPath); // 保存带水印的图片
imagedestroy($source); // 销毁原始图片资源
imagedestroy($watermark); // 销毁水印图片资源
}
pdf添加文字水印,代码如下:
/**
* pdf添加文字水印
* $path pdf文件路径
* $save_file_path 保存带水印的pdf路径
*/
public function watermark($path,$save_file_path) {
$mpdf = new \Mpdf\Mpdf(['tempDir' => __DIR__ . '/tmp']);
//这里是给pdf文件加水印
$w = '我是水印';
$mpdf->SetWatermarkText($w, 0.1);//水印文字,透明度
$mpdf->showWatermarkText = true; //开启水印
//$mpdf->watermarkAngle = '180';//水印角度
if (preg_match("/([\x81-\xfe][\x40-\xfe])/", $w, $match)) {
//如果有中文就添加
$mpdf->watermark_font = 'GB';//中文水印不乱码
}
$pageCount = $mpdf->SetSourceFile($path); //读取原始文件页数
for ($i=1; $i<=$pageCount; $i++) { //循环添加原始文件
$import_page = $mpdf->ImportPage($i);
$mpdf->UseTemplate($import_page);
if ($i < $pageCount)
$mpdf->AddPage();
}
$mpdf->Output($save_file_path, 'F'); //保存新文件
}
本文详细介绍了如何使用PHP为图片添加图片水印和在PDF文件中添加文字水印,提供了相应的代码片段,包括使用`imagecreatefromjpeg`和`imagecopy`函数处理图片,以及使用Mpdf类在PDF中设置和应用水印。

1万+

被折叠的 条评论
为什么被折叠?



