文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>缩略图类

缩略图类

时间:2006-01-16  来源:wleige

imgType);$i++)
  {
   if(Strcmp($this->imgType[$i],$var)==0)
   {
    $this->fileType=$var;
    return true;
   }else{
    return false;
   }
  }
}
/**

[email=*@param]*@param[/email]
    $fileType     文件类型

[email=*@return]*@return[/email]
   resource      打开图片的资源句柄
*/
function loadImg($fileType)
{
  $type=$this->isNull($fileType);
  switch($type)
  {
   case "jpg":
    $im=ImageCreateFromjpeg($this->srcFile);
    break;
   case "gif":
    $im=ImageCreateFromGIF($this->srcFile);
    break;
   case "png":
    $im=imagecreatefrompng($this->srcFile);
    break;
   case "bmp":
    $im=imagecreatefromwbmp($this->srcFile);
    break;
   default:
    $im=0;
    echo "not you input file type!
";
    break;
  }
  $this->im=$im;
  return $im;
}
/**
*说明: 判断标量是否为空,不为空返回变量
*/
function isNull($var)
    {
       if(!isset($var)||empty($var))
        {
            echo "变量值为null!
";
            exit(0);
         }
         return $var;
     }
/**
*说明:   设置源文件名和生成文件名,同时完成了文件类型的确定
*    还有对文件的打开

[email=*@param]*@param[/email]
string  srcFile      目标文件

[email=*@param]*@param[/email]
String  dstFile      建立文件
*/
function setParam($srcFile,$dstFile)
{
  $this->srcFile=$this->isNull($srcFile);
  $this->dstFile=$this->isNull($dstFile);
  if(!$this->findType($srcFile))
  {
   echo "file type error!";
  }
  if(!$this->loadImg($this->fileType))
  {
   echo "open ".$this->srcFile."error!
";
  }
}
/**
*说明       取得图象的宽度

[email=*@param]*@param[/email]
    resource im      打开图象成功的资源

[email=*@return]*@return[/email]
   int      width   图象的宽度  
*/
function getImgWidth($im)
{
  $im=$this->isNull($im);
  $width=imagesx($im);
  return $width;
}
/**
*说明       取得图象的高度

[email=*@param]*@param[/email]
    resource im      打开图象成功的资源

[email=*@return]*@return[/email]
   int      height  图象的高度
*/
function getImgHeight($im)
{
  $im=$this->isNull($im);
  $height=imagesy($im);
  return $height;
}
/**
*说明        建立图象

[email=*@param]*@param[/email]
     resource im      打开图象成功的资源

[email=*@param]*@param[/email]
     int      scale   生成图象是与原图象的比例为百分比

[email=*@param]*@param[/email]
     boolean  page    是否输出到页面
*/
function createImg($im,$scale,$page)
{
  $im=$this->isNull($im);
  $scale=$this->isNull($scale);
  $srcW=$this->getImgWidth($im);
  $srcH=$this->getImgHeight($im);
  $detW=round($srcW*$scale/100);
  $detH=round($srcH*$scale/100);
  //$om=ImageCreate($detW,$detH);//普通的使用
  $om=imagecreatetruecolor($detW,$detH);//真色彩对gb库有要求
  //ImageCopyResized($om,$im,0,0,0,0,$detW,$detH,$srcW,$srcH);
  imagecopyresampled($om,$im,0,0,0,0,$detW,$detH,$srcW,$srcH);
  $this->showImg($om,$this->fileType,$page);
}
  /**
*说明        建立图象

[email=*@param]*@param[/email]
     resource im      打开图象成功的资源

[email=*@param]*@param[/email]
     int      scale   生成图象是与原图象的比例为百分比

[email=*@param]*@param[/email]
     boolean  page    是否输出到页面
*/
function createNewImg($im,$width,$height,$page)
{
  $im=$this->isNull($im);
  //$scale=$this->isNull($scale);
  $srcW=$this->getImgWidth($im);
  $srcH=$this->getImgHeight($im);
  $detW=$this->isNull($width);
  $detH=$this->isNull($height);
  //$om=ImageCreate($detW,$detH);//普通的使用
  $om=imagecreatetruecolor($detW,$detH);//真色彩对gb库有要求
  //ImageCopyResized($om,$im,0,0,0,0,$detW,$detH,$srcW,$srcH);
  imagecopyresampled($om,$im,0,0,0,0,$detW,$detH,$srcW,$srcH);
  $this->showImg($om,$this->fileType,$page);
}
/**
*说明   输出图象建立失败的提示

[email=*@param]*@param[/email]
boolean   boolean   判断是否输出
*/
function inputError($boolean)
{
  if(!$boolean)
  {
   echo "img input error!
";
  }
}
/**
*说明     根据条件显示图片输出位置和类型

[email=*@param]*@param[/email]
  resource     $om       图象输出的资源

[email=*@param]*@param[/email]
  String       $type     输出图象的类型,现在使用源图象的类型

[email=*@param]*@param[/email]
  boolean      $page     是否在页面上显示
*/
function showImg($om,$type,$page)
{
  $om=$this->isNull($om);
  $type=$this->isNull($type);
  switch($type)
  {
   case "jpg":
    if($page)
    {
      $suc=imagejpeg($om);
      $this->inputError($suc);
    }else{
      $suc=imagejpeg($om,$this->dstFile);
      $this->inputError($suc);
    }
    break;
   case "gif":
    if($page)
    {
      $suc=imagegif($om);
      $this->inputError($suc);
    }else{
      $suc=imagegif($om,$this->dstFile);
      $this->inputError($suc);
    }
    break;
   case "png":
    if($page)
    {
      $suc=imagepng($om);
      $this->inputError($suc);
    }else{
      $suc=imagepng($om,$this->dstFile);
      $this->inputError($suc);
    }
    break;
   case "bmp":
    if($page)
    {
      $suc=imagewbmp($om);
      $this->inputError($suc);
    }else{
      $suc=imagewbmp($om,$this->dstFile);
      $this->inputError($suc);
    }
    break;
   default:
    echo "not you input file type!
";
    break;
  }
}
}
$file=new MakeMiniature();
$file->setParam("img/logo.jpg","img/logo1.jpg");//设置源文件,跟生成文件
$file->createImg($file->im,50,true);//按比例生成图象,比例为200%,在页面上显示
$file->createImg($file->im,50,false);//按比例生成图象,比例为200%,生成图片保存到上面设置的名字和路径
//$file->createNewImg($file->im,100,100,true);//按照自己设计的长宽生成图象,保存或者显示在页面上
?>

相关阅读 更多 +
排行榜 更多 +
辰域智控app

辰域智控app

系统工具 下载
网医联盟app

网医联盟app

运动健身 下载
汇丰汇选App

汇丰汇选App

金融理财 下载