加载图片
首先先加载图片,此处分为两种方法。
第一种,imagecreatefromgd 从GD文件或URL新建图像。gd可以换成gd2、gif、png、jpeg。
第二种,imagecreatefromstring() 从字符串中的图像流新建图像(php支持jpeg、png、gif、wbmp、GD2)。
语法为resource ~(string $image) $image表示字符串流,一个字符串包含图片的所有数据。成功返回图片资源,失败false。
将整个文件读入一个字符串
file_get_contents()
$str = file_get_contents($imgfile);
加载一个字符串时,编码格式若不是utf8格式需要进行转换。涉及两个函数,iconv() , mb_convert_encoding()
iconv(原,新,字符串);
mb_convert_encoding(字符串,新,原)。
// $str = iconv("gb2312", "utf-8", $str);
$str = mb_convert_encoding($str, "utf-8","gb2312");
检查文件或目录是否存在
file_exists() 存在true不存在false
$font = "STCAIYUN.TTF"; //中文库
if(!file_exists($font)){
die('字体库文件不存在');
}
加水印
即在图像上输出字符串
1)将.jpg文件放入一个字符串(file_get_contents)
2)创建图像并判断是否成功(imagecreatefromstring)
3)写文字,判断字体库是否存在,还要注意是中文库(imagettftext、file_exists)
4)输出图像 imagepng($img,new ' ') new中可以写新的文件名
5)销毁图像
这样水印就加好啦。