程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> php 創建等比例圖片代碼

php 創建等比例圖片代碼

編輯:關於PHP編程

說 明:$maxwidth和$maxheight只能傳遞一個,如果傳最大寬度將自動計算高度,如果傳最大高度將自動計算寬度 * 返 回 值:如果創建成功返回文件保存的地址,否則返回false

 說    明:$maxwidth和$maxheight只能傳遞一個,如果傳最大寬度將自動計算高度,如果傳最大高度將自動計算寬度
* 返 回 值:如果創建成功返回文件保存的地址,否則返回false

<?php教程
/************************************************************************
* 函數名稱:createSmallImg()
* 函數說明:創建等比例圖片
* 輸入參數:
 $dir 保存路徑
 $source_img 原圖片名稱
 $small_ex 縮率圖文件名後綴
 $maxwidth 最大寬度
 $maxheight 最大高度
* 說    明:$maxwidth和$maxheight只能傳遞一個,如果傳最大寬度將自動計算高度,如果傳最大高度將自動計算寬度
* 返 回 值:如果創建成功返回文件保存的地址,否則返回false
* 編 寫 者:李小宇
* 編寫時間:2011/8/18
**************************************************************************/
function createSmallImg($dir,$source_img,$small_ex="_s",$maxwidth='',$maxheight='') {
 if(!empty($maxwidth) && !empty($maxheight)) {
  return false;
 }
 $img_name=substr($source_img,0,-4);
 $img_ex = strtolower(substr(strrchr($source_img,"."),1));
 /*注釋的這段用作直接在浏覽器上顯示圖片
 $im=imagecreatefromjpeg($file);
 header("Content-type: image/jpeg");
 imagejpeg($im);*/
 switch($img_ex) {
  case "jpg":
   $src_img=imagecreatefromjpeg($dir.$source_img);
   break;
  case "gif":
   $src_img=imagecreatefromgif($dir.$source_img);
   break;
  case "png":
   $src_img=imagecreatefrompng($dir.$source_img);
   break;
 }
 $old_width=imagesx($src_img);
 $old_height=imagesy($src_img);
 if(!empty($maxheight) && $old_height>=$maxheight) {
  $new_height=$maxheight;
  $new_width=round(($old_width*$new_height)/$old_height);
 } elseif(!empty($maxwidth) && $old_width>=$maxwidth) {
  $new_width=$maxwidth;
  $new_height=round(($old_height*$new_width)/$old_width);
 }
 if(!empty($new_width) || !empty($new_height)) {
  if($img_ex=="jpg" || $img_ex=="png") {
   $dst_img=imagecreatetruecolor($new_width,$new_height);
  } else {
   $dst_img=imagecreate($new_width,$new_height);
  }
  imagecopyresampled($dst_img,$src_img,0,0,0,0,$new_width,$new_height,$old_width,$old_height);
  $smallname=$dir.$img_name.$small_ex.".".$img_ex;
  switch($img_ex) {
   case "jpg":
    imagejpeg($dst_img,$smallname,100);
    break;
   case "gif":
    imagegif($dst_img,$smallname);
    break;
   case "png":
    imagepng($dst_img,$smallname);
    break;
  }
 }
 return $smallname;
}

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved