一段php图片水印代码,php为图片添加文字水印效果,php5无法获知文字的字体,所以要载入文字字体,php文字水印的特效代码。
<?php
$img='22.jpg';
$arr=getimagesize($img);
//print_r($arr); //$arr[0]为图片的宽度,$arr[1]为图片的高度,$arr[2]为图片的类型,即图片的扩展名,
switch($arr[2]){
case 1:
$imgn = imagecreatefromgif($img);
break;
case 2:
$imgn = imagecreatefromjpeg($img);
break;
case 3:
$imgn = imagecreatefrompng($img);
break;
case 6:
$imgn = imagecreatefromwbmp($img);
break;
default:
die("不支持的文件类型");
exit;
}
//开始打水印。准备打上的文字(php文字水印)
$str = "要打印的文字";
$str1 = "要打印的文字";
//$str = iconv("gb2312","utf-8","要打印的文字"); //(这个语句最后说明);
//然后以用调色板设置文字的颜色:
//$dest=imagecreatetruecolor(100,100);
$bg = imagecolorallocate($imgn,255,255,255);
//$bg = imagecolorallocate($imgn,0,0,0 );
//php5无法获知文字的字体,所以载入文字字体,此处载入windows自带的simhei.ttf黑体字,(载入之前把该字体文件复制到项目的文件夹下面) 如下:
imagettftext($imgn,10,0,20,10,$bg,'simhei.ttf',$str); //这样就将$str文字打到$imgn上
imagettftext($imgn,10,0,20,46,$bg,'simhei.ttf',$str1);
header('content-type:image/jpeg');
$uploaddir = './image/';
$thumb_path = './image/'.date("Ymd").'/';
if(!is_dir($uploaddir)){
mkdir($uploaddir,0777);
}
if(!is_dir($thumb_path)){
mkdir($thumb_path,0777);
}
$imgs = $thumb_path.time().'.jpg';
imagejpeg($imgn,$imgs,'80');
echo "<img src='{$imgs}'>";
//:GetImageSize,$str = iconv("gbk","utf-8","要打上的文字");说明将页面默认的编码属性gbk改成utf-8国际标准编码。$bg = imagecolorallocate()将图片的前景文字设置成白色其中0,0,0分别代表red green blue颜色的分量,imagettftext函数 12代表字体大小 9标示倾斜度 10,10为打上水印的颜色的像素位置 header('content-type:image/jpeg'); imagejpeg($imgn);表示该php5页面输出的文件类型是图片类型。
?>