当前位置:首页 > PHP教程 > php图像处理 > 列表

php按比例生成缩略图代码

发布:smiling 来源: PHP粉丝网  添加日期:2014-08-19 16:32:43 浏览: 评论:0 
  1. <?php 
  2. class My_Lib_simpleimage {  
  3.  var $image;  
  4.  var $image_type;  
  5.  function load($filename) {   
  6.     //$filename 文件的临时文件名 $_FILES['name']['tmp_name'] 
  7.   $image_info = getimagesize($filename);  
  8.   $this->image_type = $image_info[2];  
  9.   if$this->image_type == IMAGETYPE_JPEG ) {  
  10.   $this->image = imagecreatefromjpeg($filename);  
  11.   } elseif$this->image_type == IMAGETYPE_GIF ) {  
  12.   $this->image = imagecreatefromgif($filename);  
  13.   } elseif$this->image_type == IMAGETYPE_PNG ) {  
  14.   $this->image = imagecreatefrompng($filename);  
  15.   }  
  16.  } 
  17.   
  18.  function save($filename$image_type=IMAGETYPE_JPEG, $compression=75, $permissions=null) {  
  19.   if$image_type == IMAGETYPE_JPEG ) {  
  20.   imagejpeg($this->image,$filename,$compression);  
  21.   } elseif$image_type == IMAGETYPE_GIF ) {  
  22.   imagegif($this->image,$filename);  
  23.   } elseif$image_type == IMAGETYPE_PNG ) {  
  24.   imagepng($this->image,$filename);  
  25.   }  
  26.   if$permissions != null) {  
  27.   chmod($filename,$permissions);  
  28.   }  
  29.  }  
  30.  function output($image_type=IMAGETYPE_JPEG) {  
  31.   if$image_type == IMAGETYPE_JPEG ) {  
  32.   imagejpeg($this->image);  
  33.   } elseif$image_type == IMAGETYPE_GIF ) {  
  34.   imagegif($this->image);  
  35.   } elseif$image_type == IMAGETYPE_PNG ) {  
  36.   imagepng($this->image);  
  37.   }  
  38.  } //开源代码phpfensi.com 
  39.  function getWidth() {  
  40.   return imagesx($this->image);  
  41.  }  
  42.  function getHeight() {  
  43.   return imagesy($this->image);  
  44.  } 
  45.   
  46.  #设置缩略图片高度 
  47.  function resizeToHeight($height) {  
  48.   $ratio = $height / $this->getHeight();  
  49.   $width = $this->getWidth() * $ratio;  
  50.   $this->resize($width,$height);  
  51.  }  
  52.  #设置缩略图片宽度 
  53.  function resizeToWidth($width) {  
  54.   $ratio = $width / $this->getWidth();  
  55.   $height = $this->getheight() * $ratio;  
  56.   $this->resize($width,$height);  
  57.  }  
  58.  function scale($scale) {  
  59.   $width = $this->getWidth() * $scale/100;  
  60.   $height = $this->getheight() * $scale/100;  
  61.   $this->resize($width,$height);  
  62.  }  
  63.  function resize($width,$height) {  
  64.   $new_image = imagecreatetruecolor($width$height);  
  65.   imagecopyresampled($new_image$this->image, 0, 0, 0, 0, $width$height$this->getWidth(), $this->getHeight());  
  66.   $this->image = $new_image;  
  67.  }  
  68. }  
  69. ?> 

Tags: php生成缩略图 php缩略图类

分享到: