php给图片加水印(下篇:添加文字水印)

  • 时间:
  • 浏览:36

相比添加图片水印,添加文字水印就比较简单、熟悉了,大家都做过验证码吧?就相当于把要打水印的图片看成是验证码的背景,往上面打上文字就行了。


上篇文章中介绍了添加图片水印的方法,比较详细,大家可以看一下。文字水印跟图片水印最重要的区别是,文字水印只能使用简单的字体,样式来为图片添加水印;而图片水印的,可以实现漂亮多样的水印效果了。因此,可以根据自己的需求去选择相应的方式。


(文字水印和图片水印)


实现源码:


PHP

$ori_img = "images/13801220684507.jpg";//原图

$new_img = "images/daixiaorui.jpg";//生成水印后的图片

$original = getimagesize($ori_img);//得到图片的信息,可以print_r($original)发现它就是一个数组

$s_original = imgCreateFrom($ori_img, $original[2]);//$original[2]是图片类型,其中1表示gif、2表示jpg、3表示png

$posX = 90;//X坐标

$poxY = 330;//Y坐标

$font_size = 22;//字号

$tilt = 8;//文字的倾斜度

$color = imagecolorallocate($s_original,255,0,0);// 为一幅图像分配颜色 255,0,0表示红色

$str = "欢迎访问:https://www.codeinlife.com";

//打水印

imagettftext($s_original, $font_size, $tilt, $posX, $poxY, $color, 'C:/Windows/Fonts/simfang.ttf', $str);

//header("Content-type:image/jpeg");

//imagejpeg($s_original);//向浏览器输出图片


$loop = imagejpeg($s_original, $new_img);//生成新的图片(jpg格式),如果用imagepng可以生成png格式

if($loop){

echo "水印添加成功!";

}

//根据文件类型 创建一个新图象

function imgCreateFrom($img_src, $val){

switch($val){

case 1 : $img = imagecreatefromgif($img_src);

break;

case 2 : $img = imagecreatefromjpeg($img_src);

break;

case 3 : $img = imagecreatefrompng($img_src);

break;

}

return $img;

}

?>