php语言

PHP生成缩略图的类的方法

时间:2024-07-11 12:22:38 php语言 我要投稿
  • 相关推荐

PHP生成缩略图的类的方法

  PHP独特的语法混合了C、Java、Perl以及PHP自创的语法。它可以比CGI或者Perl更快速地执行动态网页。用PHP做出的动态页面与其他的编程语言相比,PHP是将程序嵌入到HTML文档中去执行,执行效率比完全生成HTML标记的CGI要高许多;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->srcW,$this->srcH);

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

  ImageDestroy($cImg);

  }

  }

  //生成最小裁剪后的缩图

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

  {

  $toWH=$toW/$toH;

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

  if($toWH<=$srcWH)

  {

  $ctoH=$toH;

  $ctoW=$ctoH*($this->srcW/$this->srcH);

  }

  else

  {

  $ctoW=$toW;

  $ctoH=$ctoW*($this->srcH/$this->srcW);

  }

  $allImg=$this->CreatImage($this->im,$ctoW,$ctoH,0,0,0,0,$this->srcW,$this->srcH);

  $cImg=$this->CreatImage($allImg,$toW,$toH,0,0,($ctoW-$toW)/2,($ctoH-$toH)/2,$toW,$toH);

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

  ImageDestroy($cImg);

  ImageDestroy($allImg);

  }

  //生成背景填充的缩图

  function BackFill($toFile,$toW,$toH,$bk1=255,$bk2=255,$bk3=255)

  {

  $toWH=$toW/$toH;

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

  if($toWH<=$srcWH)

  {

  $ftoW=$toW;

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

  }

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

php生成图片缩略图的方法08-23

php生成缩略图的两种方法05-24

php生成缩略图的两种方法(代码)08-08

php生成高清缩略图实例08-12

PHP生成Word文档的方法06-28

php生成圆角图片的方法技巧07-20

PHP学习:QRCode PHP生成二维码类库10-28

PHP编程:类和对象、方法调用09-26

php备份数据库类的方法09-04

php动态生成JavaScript代码10-03