利用php给图片添加文字水印--面向对象与面向过程俩种方法的实现

王朝学院·作者佚名  2016-08-27
窄屏简体版  字體: 小  |  中  |  大  |  超大  

1: 面向过程的编写方法

//指定图片路径$src= '001.png';//获取图片信息$info=getimagesize($src);//获取图片扩展名$type= image_type_to_extension($info[2],false);//动态的把图片导入内存中$fun= "imagecreatefrom{$type}";$image=$fun('001.png');//指定字体颜色$col= imagecolorallocatealpha($image,255,255,255,50);//指定字体内容$content= 'helloworld';//给图片添加文字imagestring($image,5,20,30,$content,$col);//指定输入类型header('Content-type:'.$info['mime']);//动态的输出图片到浏览器中$func= "image{$type}";$func($image);//销毁图片imagedestroy($image);

2:面向对象的实现方法

classImage_class {PRivate$image;private$info;/**

* @param $src:图片路径

* 加载图片到内存中*/function__construct($src){$info=getimagesize($src);$type= image_type_to_extension($info[2],false);$this-> info =$info;$this->info['type'] =$type;$fun= "imagecreatefrom" .$type;$this-> image =$fun($src);

}/**

* @param $fontsize: 字体大小

* @param $x: 字体在图片中的x位置

* @param $y: 字体在图片中的y位置

* @param $color: 字体的颜色是一个包含rgba的数组

* @param $text: 想要添加的内容

* 操作内存中的图片,给图片添加文字水印*/publicfunctionfontMark($fontsize,$x,$y,$color,$text){$col= imagecolorallocatealpha($this->image,$color[0],$color[1],$color[2],$color[3]);

imagestring($this->image,$fontsize,$x,$y,$text,$col);

}/** 输出图片到浏览器中*/publicfunctionshow(){header('content-type:' .$this-> info['mime']);$fun='image' .$this->info['type'];$fun($this->image);

}/**

* 销毁图片*/function__destruct(){

imagedestroy($this->image);

}

}//对类的调用$obj=newImage_class('001.png');$obj->fontMark(20,20,30,array(255,255,255,60),'hello');$obj->show();

 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
© 2005- 王朝網路 版權所有 導航