图像加水印
1、 imagecreatefromgd — 从 GD 文件或 URL 新建一图像
2、 imagecreatefromgd2— 从 GD2 文件或 URL 新建一图像
3、 imagecreatefromgif — 由文件或 URL 创建一个新图象
4、 imagecreatefromjpeg — 由文件或 URL 创建一个新图象
5、 imagecreatefrompng — 由文件或 URL 创建一个新图象
6、 imagecreatefromstring — 从字符串中的图像流新建一图像
返回值:成功后返回图象资源,失败后返回 FALSE 。
file_get_contents
--将整个文件读入一个字符串
//将图片文件读取出来,存入到一个变量中
$imgfile="jh.jpg";
$str=file_get_contents($imgfile);
iconv
--字符串按要求的字符编码来转换
string iconv (striing $in_charset,string $out_charset,string $str)
//字符串编码,gb23->utf8
//读取文本文件中的内容
$str=iconv('gb2312', 'utf-8', $str);
mb_convert_encoding
--转换字符的编码
string mb_convert_encoding(string $str,string $to_encoding[,mixed $from_encoding])
$str:要转换的字符串
$to_encoding:转换成的编码格式
$from_encoding:由某种编码格式
$str=mb_convert_encoding($str,'utf-8','gb2312');
读取图片内容
//读取图片内容
//创建图像
$img=imagecreatefromstring($str);
if($img === false){
die('创建图像失败');
}
***header 最好写在输出画布前,不要写在太靠前否则文字会不能输出
加水印
<?php
//加载图片
// header('content-type:image/png');
//将图片文件读取出来,存入到一个变量中
$imgfile="jh.jpg";
$str=file_get_contents($imgfile);
//读取图片内容
//创建图像
$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, 20, 0, 0, 25, $color, $font, $text);
//输出画布
imagepng($img,'new-'.$imgfile);//输出到文件中
//销毁图像(释放占用的资源)
imagedestroy($img);
echo '生成文件成功';