做网站犯法吗设计网站公司湖南岚鸿公司
做网站犯法吗,设计网站公司湖南岚鸿公司,怎样增加网站浏览量,请你设计一个网络营销方案本篇文章主要介绍php图片处理类#xff0c;感兴趣的朋友参考下#xff0c;希望对大家有所帮助。示例代码如下#xff1a;?php /*已知问题#xff1a;1.在图片缩放功能中#xff0c;使用imagecreatetruecolor函数创建画布#xff0c;并使用透明处理算法#xff0c;但…本篇文章主要介绍php图片处理类感兴趣的朋友参考下希望对大家有所帮助。示例代码如下?php /*已知问题1.在图片缩放功能中使用imagecreatetruecolor函数创建画布并使用透明处理算法但PNG格式的图片无法透明。用imagecreate函数创建画布可以解决这个问题但是缩放出来的图片色数太少了***type值* (1)代表使用图片缩放功能此时$value1代表缩放后图片的宽度$value2代表缩放后图片的高度* (2):代表使用图片裁剪功能此时$value1代表裁剪开始点的坐标例从原点开始即是“0,0”前面是x轴后面是y轴中间用,分隔$value2代表裁剪的宽度和高度同样也是“2020”的形式使用* (3):代表使用加图片水印功能此时$value1代表水印图片的文件名$value2代表水印在图片中的位置有10值个可以选,1代表左上2代表左中3代表左右4代表中左5代表中中6代表中右7代表下做8代表下中9代表下右0代表随机位置**/class image{private $types; //使用的功能编号1为图片缩放功能 2为图片裁剪功能 3,为图片加图片水印功能private $imgtype;//图片的格式private $image; //图片资源private $width;//图片宽度private $height;//图片高度private $value1;//根据所传type值的不同$value1分别代表不同的值private $value2;//根据所传type值的不同$value2分别代表不同的值private $endaddress;//输出后的地址文件名function __construct($imageaddress, $types, $value1, $value2, $endaddress){$this-types$types;$this-image$this-imagesources($imageaddress);$this-width$this-imagesizex();$this-height$this-imagesizey();$this-value1$value1;$this-value2$value2;$this-endaddress$endaddress;}function outimage(){ //根据传入type值的不同输出不同的功能switch($this-types){case 1:$this-scaling();break;case 2:$this-clipping();break;case 3:$this-imagewater();break;default:return false;}}private function imagewater(){ //http://www.hzhuti.com 加图片水印功能//用函数获取水印文件的长和宽$imagearrs$this-getimagearr($this-value1);//调用函数计算出水印加载的位置$positionarr$this-position($this-value2, $imagearrs[0], $imagearrs[1]);//加水印imagecopy($this-image, $this-imagesources($this-value1), $positionarr[0], $positionarr[1], 0, 0, $imagearrs[0], $imagearrs[1]);//调用输出方法保存$this-output($this-image);}private function clipping(){ //图片裁剪功能//将传进来的值分别赋给变量list($src_x, $src_y)explode(,, $this-value1);list($dst_w, $dst_h)explode(,, $this-value2);if($this-width $src_x$dst_w || $this-height $src_y$dst_h){ //这个判断就是限制不能截取到图片外面去return false;}//创建新的画布资源$newimgimagecreatetruecolor($dst_w, $dst_h);//进行裁剪imagecopyresampled($newimg, $this-image, 0, 0, $src_x, $src_y, $dst_w, $dst_h, $dst_w, $dst_h);//调用输出方法保存$this-output($newimg);}private function scaling(){ //图片缩放功能//获取等比缩放的宽和高$this- proimagesize();//根据参数进行缩放,并调用输出函数保存处理后的文件$this-output($this-imagescaling());}private function imagesources($imgad){ //获取图片类型并打开图像资源$imagearray$this-getimagearr($imgad);switch($imagearray[2]){case 1://gif$this-imgtype1;$imgimagecreatefromgif($imgad);break;case 2://jpeg$this-imgtype2;$imgimagecreatefromjpeg($imgad);break;case 3://png$this-imgtype3;$imgimagecreatefrompng($imgad);break;default:return false;}return $img;}private function imagesizex(){ //获得图片宽度return imagesx($this-image);}private function imagesizey(){ //获取图片高度return imagesy($this-image);}private function proimagesize(){ //计算等比缩放的图片的宽和高if($this-value1 ($this-width $this-height)) { //等比缩放算法$this-value1round(($this-value2/ $this-height)*$this-width);}else{$this-value2round(($this-value1/ $this-width) * $this-height);}}private function imagescaling(){//图像缩放功能返回处理后的图像资源$newimgimagecreatetruecolor($this-value1, $this-value2);$tranimagecolortransparent($this-image);//处理透明算法if($tran 0 $tran imagecolorstotal($this-image)){$tranarrimagecolorsforindex($this-image, $tran);$newcolorimagecolorallocate($newimg, $tranarr[red], $tranarr[green], $tranarr[blue]);imagefill($newimg, 0, 0, $newcolor);imagecolortransparent($newimg, $newcolor);}imagecopyresampled($newimg, $this-image, 0, 0, 0, 0, $this-value1, $this-value2, $this-width, $this-height);return $newimg;}private function output($image){//输出图像switch($this-imgtype){case 1:imagegif($image, $this-endaddress);break;case 2:imagejpeg($image, $this-endaddress);break;case 3:imagepng($image, $this-endaddress);break;default:return false;}}private function getimagearr($imagesou){//返回图像属性数组方法return getimagesize($imagesou);}private function position($num, $width, $height){//根据传入的数字返回一个位置的坐标,$width和$height分别代表插入图像的宽和高switch($num){case 1:$positionarr[0]0;$positionarr[1]0;break;case 2:$positionarr[0]($this-width-$width)/2;$positionarr[1]0;break;case 3:$positionarr[0]$this-width-$width;$positionarr[1]0;break;case 4:$positionarr[0]0;$positionarr[1]($this-height-$height)/2;break;case 5:$positionarr[0]($this-width-$width)/2;$positionarr[1]($this-height-$height)/2;break;case 6:$positionarr[0]$this-width-$width;$positionarr[1]($this-height-$height)/2;break;case 7:$positionarr[0]0;$positionarr[1]$this-height-$height;break;case 8:$positionarr[0]($this-width-$width)/2;$positionarr[1]$this-height-$height;break;case 9:$positionarr[0]$this-width-$width;$positionarr[1]$this-height-$height;break;case 0:$positionarr[0]rand(0, $this-width-$width);$positionarr[1]rand(0, $this-height-$height);break;}return $positionarr;}function __destruct(){imagedestroy($this-image);}}?总结以上就是本篇文的全部内容希望能对大家的学习有所帮助。相关推荐
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/89211.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!