PHP简单的图片加水印函数
简单的一段图片加水印的PHP函数,以往都是在使用PHP加水印类,其实我们在应用不大的网站上面,可以使用一个简单的函数即可以实现图片加水印,下面是一个图片加水印的函数,源代码没有多少行,支持加入中文水印,自定义水印文字的字体。
在实际应用时,我们只需将其作为一个简单的上传图片功能来用,提交表单接受就可以了,这个函数利用了PHP最基本的上传功能,再加上水印的合成功能,完全可以满足一般的网站需求,字体以及颜色可以自己来定义。
函数说明:
[code lang="php"]
$imag_url 为要加水印的图片的路径
$str 为要在图片上加上的字符串
$route 加水印后的存放路径
function watermark($imag_url,$str,$route) {
$type_array=explode('.',$imag_url);
$imag_type=$type_array[count($type_array)-1];
switch($imag_type) {
case 'gif': $img=imagecreatefromgif($imag_url); break;
case 'jpeg': $img=imagecreatefromjpeg($imag_url); break;
case 'jpg': $img=imagecreatefromjpeg($imag_url); break;
case 'png': $img=imagecreatefrompng($imag_url); break;
default: $img=imagecreatefromgif($imag_url); break;
}
//字体颜色
$gray = imagecolorallocate($img , 235 , 235 , 235);
$pink = imagecolorallocate($img, 255 , 128 , 255);
/* $fontfile 字体的路径,视操作系统而定,可以是 simhei.ttf(黑体) , SI
MKAI.TTF(楷体) , SIMFANG.TTF(仿宋) ,SIMSUN.TTC(宋体&新宋体) 等 GD 支持
的中文字体*/
$fontfile = "C:\WINDOWS\Fonts\SIMHEI.TTF";
$str = iconv('GB2312','UTF-8',$str); /*将 gb2312 的字符集
转换成 UTF-8 的字符*/
imagettftext($img, 30,0, 0, 200, $pink , $fontfile , $str);
/* 加入中文水印 */
imagepng($img,$route);
imagedestroy($img);
}
[/code]