图片加水印

imagecreatefromgd  ---- 从GD文件或URL新建一图像
imagecreatefromgd2 ----从GD2文件或URL新建一图像
imagecreatefromgif ----由文件或URL创建一个新图像

图片加水印

1.将图片文件读取出来,存入到一个变量中

<?php
//加载图片
$imgfile = "xxb.jpg";

$str = file_get_contents("$imgfile");

2.创建图像

$img = imagecreatefromstring($str);
if($img === false){
	die('创建图像失败');
}

3.输出图像

header('content-type:image/png');
imagepng($img);
imagedestroy($img);

输出的图片如下:

xxb.jpg

4.加水印(即在图像上输出字符)引入字体库

$font = "STCAIYUN.TTF";
if(!file_exists($font)){
	die('字体库文件不存在');
}
$text = "XXX版权所有";
$color = imagecolorallocate($img, 255, 255, 255);
imagettftext($img,18,0,25,25,$color,$font,$text);
// header('content-type:image/png');
imagepng($img,'new'.$imgfile);
imagedestroy($img);

echo '生成图像文件成功';

5.生成一个新图像(在文件夹下)会在名字前面加new

输出加水印的图片如下:

newxxb,jpg

整体代码如下:

<?php
//加载图片
$imgfile = "xxb.jpg";
//将图片文件读取出来,存入到一个变量中
$str = file_get_contents("$imgfile");

//字符串编码gb2312->utf8
// $str = iconv('gb2312','utf-8',$str);
// $str = mb_convert_encoding($str,'utf-8','gb2312');
// $str = nl2br($str);//将换行符转换成br标签进行输出
//创建图像
$img = imagecreatefromstring($str);
if($img === false){
	die('创建图像失败');
}

//加水印(即在图像上输出字符)
$font = "STCAIYUN.TTF";
if(!file_exists($font)){
	die('字体库文件不存在');
}

$text = "XXX版权所有";
$color = imagecolorallocate($img, 255, 255, 255);
imagettftext($img,18,0,25,25,$color,$font,$text);
// header('content-type:image/png');
imagepng($img,'new'.$imgfile);
imagedestroy($img);

echo '生成图像文件成功';

猜你喜欢

转载自blog.csdn.net/qq_43628350/article/details/84928884