时间:2021-07-01 10:21:17 帮助过:28人阅读
class Cimgtoico { var $srcimg; var $icoName; var $icoWidth; var $icoHeight; var $icoPath; var $srcPath; var $icoType; var $img; function Cimgtoico($srcimg='',$icoPath,$icoWidth,$icoHeight) { $this->srcimg=$srcimg; $this->srcPath=$srcPath; $this->icoPath=$icoPath; $this->icoWidth=$icoWidth; $this->Height=$icoHeight; } function CreateIco() { if($this->srcimg!="") { $img_info=getimagesize($this->srcimg); $filen="ico".date(YmdHis); switch ($img_info[2]) { case 1: $this->icoType="gif"; $this->img = imagecreatefromgif($this->srcimg); break; case 2: $this->icoType= "jpg"; $this->img=imagecreatefromjpeg($this->srcimg); break; case 3: $this->icoType= "png"; $this->img= imagecreatefrompng($this->srcimg); break; } $this->ResizeImage($this->icoWidth,$this->Height,$this->icoPath.$filen); ImageDestroy ($this->img); $this->icoName=$filen.".jpg"; return $this->icoName; }else { return ""; } } function ResizeImage($maxwidth,$maxheight,$name){ $width = imagesx($this->img); $height =imagesy($this->img); if(($maxwidth && $width > $maxwidth) || ($maxheight && $height > $maxheight)){ if($maxwidth && $width > $maxwidth){ $widthratio = $maxwidth/$width; $RESIZEWIDTH=true; } if($maxheight && $height > $maxheight){ $heightratio = $maxheight/$height; $RESIZEHEIGHT=true; } if($RESIZEWIDTH && $RESIZEHEIGHT) { if($widthratio < $heightratio) { $ratio = $widthratio; } else{ $ratio = $heightratio; } } elseif($RESIZEWIDTH) { $ratio = $widthratio; }elseif($RESIZEHEIGHT) { $ratio = $heightratio; } $newwidth = $width * $ratio; $newheight = $height * $ratio; if(function_exists("imagecopyresampled")) { $newim = imagecreatetruecolor($newwidth, $newheight); imagecopyresampled($newim, $this->img, 0, 0, 0, 0, $newwidth, $newheight, $width, $height); }else{ $newim = imagecreate($newwidth, $newheight); imagecopyresized($newim, $this->img, 0, 0, 0, 0, $newwidth, $newheight, $width, $height); } ImageJpeg ($newim,$name.".jpg"); ImageDestroy ($newim); }else{ ImageJpeg ($this->img,$name.".jpg"); ImageDestroy ($newim); } } } /* $ico=new Cimgtoico("./images/1Yuan.jpg","./images/",100,100); $ico->CreateIco(); */ ?>