首页 > 编程 > PHP > 正文

基于GD2图形库的PHP生成图片缩略图类代码分享

2020-03-22 20:26:11
字体:
来源:转载
供稿:网友
要使用PHP生成图片缩略图,要保证你的PHP服务器安装了GD2图形库 使用一个类生成图片的缩略图1.使用方法$resizeimage = new resizeimage("图片源文件地址", "200", "100", "0","缩略图地址");//就只用上面的一句话,就能生成缩略图,其中,源文件和缩略图地址可以相同,200,100分别代表宽和高2. 缩略图类代码//使用如下类就可以生成图片缩略图,html' target='_blank'>class resizeimage //图片类型 var $type; //实际宽度 var $width; //实际高度 var $height; //改变后的宽度 var $resize_width; //改变后的高度 var $resize_height; //是否裁图 var $cut; //源图象 var $srcimg; //目标图象地址 var $dstimg; //临时创建的图象 var $im; function resizeimage($img, $wid, $hei,$c,$dstpath) $this- srcimg = $img; $this- resize_width = $wid; $this- resize_height = $hei; $this- cut = $c; //图片的类型$this- type = strtolower(substr(strrchr($this- srcimg,"."),1)); //初始化图象 $this- initi_img(); //目标图象地址 $this - dst_img($dstpath); //-- $this- width = imagesx($this- $this- height = imagesy($this- //生成图象 $this- newimg(); ImageDestroy ($this- function newimg() //改变后的图象的比例 $resize_ratio = ($this- resize_width)/($this- resize_height); //实际图象的比例 $ratio = ($this- width)/($this- height); if(($this- cut)=="1") //裁图 if($ratio =$resize_ratio) //高度优先 $newimg = imagecreatetruecolor($this- resize_width,$this- resize_height); imagecopyresampled($newimg, $this- im, 0, 0, 0, 0, $this- resize_width,$this- resize_height, (($this- height)*$resize_ratio), $this- height); ImageJpeg ($newimg,$this- dstimg); if($ratio $resize_ratio) //宽度优先 $newimg = imagecreatetruecolor($this- resize_width,$this- resize_height); imagecopyresampled($newimg, $this- im, 0, 0, 0, 0, $this- resize_width, $this- resize_height, $this- width, (($this- width)/$resize_ratio)); ImageJpeg ($newimg,$this- dstimg); else //不裁图 if($ratio =$resize_ratio) $newimg = imagecreatetruecolor($this- resize_width,($this- resize_width)/$ratio); imagecopyresampled($newimg, $this- im, 0, 0, 0, 0, $this- resize_width, ($this- resize_width)/$ratio, $this- width, $this- height); ImageJpeg ($newimg,$this- dstimg); if($ratio $resize_ratio) $newimg = imagecreatetruecolor(($this- resize_height)*$ratio,$this- resize_height); imagecopyresampled($newimg, $this- im, 0, 0, 0, 0, ($this- resize_height)*$ratio, $this- resize_height, $this- width, $this- height); ImageJpeg ($newimg,$this- dstimg); //初始化图象 function initi_img() if($this- type=="jpg") $this- im = imagecreatefromjpeg($this- srcimg); if($this- type=="gif") $this- im = imagecreatefromgif($this- srcimg); if($this- type=="png") $this- im = imagecreatefrompng($this- srcimg); //图象目标地址 function dst_img($dstpath) $full_length = strlen($this- srcimg); $type_length = strlen($this- type); $name_length = $full_length-$type_length;PHP教程

郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表