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->im ); $this->height = imagesy ( $this->im ); //生成图象 $this->newimg (); ImageDestroy ( $this->im ); } 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; $name = substr ( $this->srcimg, 0, $name_length - 1 ); $this->dstimg = $dstpath; //echo $this->dstimg; } } $resizeimage = new resizeimage ( "11.jpg", "200", "150", "1", "17.jpg" ); ?>