Home >Backend Development >PHP Tutorial >PHP image adding text watermark implementation code
The php library adds text watermarks to existing images. The code is not very complete. Welcome everyone to give you advice! The code is as follows:
<?php /*PHP图片加文字水印类库 QQ:3697578482 伤心的歌 该类库暂时只支持文字水印,位置为右下角,颜色随机 调用方法: 1、在需要加水印的文件顶部引入类库: include_once 'imageClass.php'; 2、声明新类: $tpl=new image_fu; 3、给图片水印提供参数: $tpl->img(图片路径,水印文字,字体路径,字体大小,字体角度); 比如:$tpl->img('abc.jpg','这是水印文字','ziti.ttf',30,0) */ class image_fu{ private $image; private $img_info; private $img_width; private $img_height; private $img_im; private $img_text; private $img_ttf=''; private $img_new; private $img_text_size; private $img_jd; function img($img='',$txt='',$ttf='',$size=12,$jiaodu=0){ if(isset($img)&&file_exists($img)){//检测图片是否存在 $this->image =$img; $this->img_text=$txt; $this->img_text_size=$size; $this->img_jd=$jiaodu; if(file_exists($ttf)){ $this->img_ttf=$ttf; }else{ exit('字体文件:'.$ttf.'不存在!'); } $this->imgyesno(); }else{ exit('图片文件:'.$img.'不存在'); } } private function imgyesno(){ $this->img_info =getimagesize($this->image); $this->img_width =$this->img_info[0];//图片宽 $this->img_height=$this->img_info[1];//图片高 //检测图片类型 switch($this->img_info[2]){ case 1:$this->img_im = imagecreatefromgif($this->image);break; case 2:$this->img_im = imagecreatefromjpeg($this->image);break; case 3:$this->img_im = imagecreatefrompng($this->image);break; default:exit('图片格式不支持水印'); } $this->img_text(); } private function img_text(){ imagealphablending($this->img_im,true); //设定颜色 $color=imagecolorallocate($this->img_im,rand(0,255),rand(0,255),rand(0,255)); $txt_height=$this->img_text_size; $txt_jiaodu=$this->img_jd; $ttf_im=imagettfbbox($txt_height,$txt_jiaodu,$this->img_ttf,$this->img_text); $w = $ttf_im[2] - $ttf_im[6]; $h = $ttf_im[3] - $ttf_im[7]; //$w = $ttf_im[7]; //$h = $ttf_im[8]; unset($ttf_im); $txt_y =$this->img_height-$h; $txt_x =$this->img_width-$w; //$txt_y =0; //$txt_x =0; $this->img_new=@imagettftext($this->img_im,$txt_height,$txt_jiaodu,$txt_x,$txt_y,$color,$this->img_ttf,$this->img_text); @unlink($this->image);//删除图片 switch($this->img_info[2]) {//取得背景图片的格式 case 1:imagegif($this->img_im,$this->image);break; case 2:imagejpeg($this->img_im,$this->image);break; case 3:imagepng($this->img_im,$this->image);break; default: exit('水印图片失败'); } } //显示图片 function img_show(){echo '<img src="'.$this->image.'" border="0" alt="php图片添加文字水印实现代码".$this->img_text.'" />';} //释放内存 private function img_nothing(){ unset($this->img_info); imagedestroy($this->img_im); } } ?>
The above is the entire content of this article, I hope it will be helpful to everyone’s learning.
The above introduces the implementation code of adding text watermark to PHP images, including the relevant content. I hope it will be helpful to friends who are interested in PHP tutorials.