PHP生成缩略图的类的方法有哪些

时间:2024-06-25 17:08:14 PHP 我要投稿
  • 相关推荐

PHP生成缩略图的类的方法有哪些

  PHP代码

  /**

  * 功能:生成缩略图

  * 作者:phpox

  * 日期:Thu May 17 09:57:05 CST 2007

  */

  class CreatMiniature

  {

  //公共变量

  var $srcFile=""; //原图

  var $echoType; //输出图片类型,link--不保存为文件;file--保存为文件

  var $im=""; //临时变量

  var $srcW=""; //原图宽

  var $srcH=""; //原图高

  //设置变量及初始化

  function SetVar($srcFile,$echoType)

  {

  if (!file_exists($srcFile)){

  echo 源图片文件不存在!;

  exit();

  }

  $this->srcFile=$srcFile;

  $this->echoType=$echoType;

  $info = "";

  $data = GetImageSize($this->srcFile,$info);

  switch ($data[2])

  {

  case 1:

  if(!function_exists("imagecreatefromgif")){

  echo "你的GD库不能使用GIF格式的图片,请使用Jpeg或PNG格式!返回";

  exit();

  }

  $this->im = ImageCreateFromGIF($this->srcFile);

  break;

  case 2:

  if(!function_exists("imagecreatefromjpeg")){

  echo "你的GD库不能使用jpeg格式的图片,请使用其它格式的图片!;

  exit();

  }

  $this->im = ImageCreateFromJpeg($this->srcFile);

  break;

  case 3:

  $this->im = ImageCreateFromPNG($this->srcFile);

  break;

  }

  $this->srcW=ImageSX($this->im);

  $this->srcH=ImageSY($this->im);

  }

  //生成扭曲型缩图

  function Distortion($toFile,$toW,$toH)

  {

  $cImg=$this->CreatImage($this->im,$toW,$toH,0,0,0,0,$this->srcW,$this->srcH);

  return $this->EchoImage($cImg,$toFile);

  ImageDestroy($cImg);

  }

  //生成按比例缩放的缩图

  function Prorate($toFile,$toW,$toH)

  {

  $toWH=$toW/$toH;

  $srcWH=$this->srcW/$this->srcH;

  if($toWH<=$srcWH)

  {

  $ftoW=$toW;

  $ftoH=$ftoW*($this->srcH/$this->srcW);

  }

  else

  {

  $ftoH=$toH;

  $ftoW=$ftoH*($this->srcW/$this->srcH);

  }

  if($this->srcW>$toW||$this->srcH>$toH)

  {

  $cImg=$this->CreatImage($this->im,$ftoW,$ftoH,0,0,0,0,$this->srcW,$this->srcH);

  return $this->EchoImage($cImg,$toFile);

  ImageDestroy($cImg);

  }

  else

  {

  $cImg=$this->CreatImage($this->im,$this->srcW,$this->srcH,0,0,0,0,$this-&gt

【PHP生成缩略图的类的方法有哪些】相关文章:

PHP开发环境安装的方法有哪些10-27

php生成带logo二维码方法08-20

java中File类有哪些使用方法06-30

激励方法有哪些01-06

健身方法有哪些09-19

跳绳的方法有哪些08-04

卸妆方法有哪些08-01

烹饪方法有哪些06-11

员工激励方法有哪些07-23

关于健身方法有哪些09-01