日期:2014-05-17 浏览次数:20666 次
<?
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();
*/
?>