X 提示語:您的IE瀏覽器版本太低,部分重要功能無法體驗或使用,請升級到IE8以上或者使用火狐、谷歌瀏覽器,瀏覽器下載:IE8,火狐瀏覽器,谷歌瀏覽器
php使用GD創建保持寬高比縮略圖的方法
發布時間:2020-06-01 10:11:00    來源:容大互聯

本文實例講述了php使用GD創建保持寬高比縮略圖的方法。分享給大家供大家參考。具體如下:


/**
* Create a thumbnail image from $inputFileName no taller or wider than
* $maxSize. Returns the new image resource or false on error.
* Author: mthorn.net
*/
function thumbnail($inputFileName, $maxSize = 100)
{
 $info = getimagesize($inputFileName);
  $type = isset($info['type']) ? $info['type'] : $info[2];
  // Check support of file type
 if ( !(imagetypes() & $type) )
 {
   // Server does not support file type
   return false;
 }
  $width = isset($info['width']) ? $info['width'] : $info[0];
 $height = isset($info['height']) ? $info['height'] : $info[1];
  // Calculate aspect ratio
 $wRatio = $maxSize / $width;
 $hRatio = $maxSize / $height;
  // Using imagecreatefromstring will automatically detect the file type
 $sourceImage = imagecreatefromstring(file_get_contents($inputFileName));
  // Calculate a proportional width and height no larger than the max size.
 if ( ($width <= $maxSize) && ($height <= $maxSize) )
 {
   // Input is smaller than thumbnail, do nothing
   return $sourceImage;
 }
 elseif ( ($wRatio * $height) < $maxSize )
 {
   // Image is horizontal
   $tHeight = ceil($wRatio * $height);
   $tWidth = $maxSize;
 }
 else
 {
   // Image is vertical
   $tWidth = ceil($hRatio * $width);
   $tHeight = $maxSize;
 }
  $thumb = imagecreatetruecolor($tWidth, $tHeight);
  if ( $sourceImage === false )
 {
   // Could not load image
   return false;
 }
  // Copy resampled makes a smooth thumbnail
 imagecopyresampled($thumb,$sourceImage,0,0,0,0,$tWidth,$tHeight,$width,$height);
 imagedestroy($sourceImage);
  return $thumb;
}
 /**
* Save the image to a file. Type is determined from the extension.
* $quality is only used for jpegs.
* Author: mthorn.net
*/
function imageToFile($im, $fileName, $quality = 80)
{
 if ( !$im || file_exists($fileName) )
 {
   return false;
 }
  $ext = strtolower(substr($fileName, strrpos($fileName, '.')));
  switch ( $ext )
 {
  case '.gif':
  imagegif($im, $fileName);
  break;
  case '.jpg':
  case '.jpeg':
  imagejpeg($im, $fileName, $quality);
  break;
  case '.png':
  imagepng($im, $fileName);
  break;
  case '.bmp':
  imagewbmp($im, $fileName);
  break;
  default:
  return false;
 }
  return true;
}
$im = thumbnail('temp.jpg', 100);
imageToFile($im, 'temp-thumbnail.jpg');

希望本文所述對大家的php程序設計有所幫助。


文章來源:網絡。如侵犯你的版權,請聯系我們的客服人員,我們會第一時間刪除文章。



容大互聯推薦閱讀:

 

穿透虛擬化網絡診斷技術 構建靈活架構

修復物理環境的網絡性能問題已非易事,而修復虛擬化環境的網絡問題則更為復雜。畢竟,在數據中心物理環境中,網絡管理員可以使用很多的工具修改端到端流量,但是在虛擬化數據中心內,物理網絡基礎架構是無法監測到在同一臺物理服務器的虛擬機之間橫向傳輸的網

攜程宣布總額達3億美元股票回購計劃

  網易科技訊6月14日消息,攜程(Nasdaq:CTRP)宣布公司董事會已通過新的總額達3億美元的股票回購計劃。攜程將以公司自有現金拔付,包括來自攜程中國子公司的現金股利?! 闹袊庸緟R往香港公司的股利將會繳納5%,即金額1500萬美

新建網站優化排名八要素

在網絡營銷中,上每一個新網站就相當于一個“小孩子”,如何讓小孩子健康、茁壯的成長便是浮生今天所要和大家一起探討的,更好的為新站制訂一套完善的優化方案,然后一步一步的去穩定執行,最終獲得良好滿意的網站推廣關鍵詞排名。一


本文來自容大互聯,專業的云計算數據中心服務商,國家高新技術企業,16年的專業深圳服務器托管、大帶寬出售、光纖專線接入、云服務器等行業沉淀,提供高性價比的產品和優秀的技術服務,贏得數十萬用戶的青睞。

為什么選擇我們
  • 19年品質

    專業服務團隊,19年運營經驗,值得信賴
  • 高新企業

    國家高新技術企業,深圳行業唯一
  • 雙軟企業

    深圳市“雙軟”企業,技術可靠
  • 全程服務

    7X24小時全程服務,不僅僅只是銷售產品
代理公司赚钱吗 极速11选5是哪里开的 甘肃快3开奖号 有人工精准计划软件彩票 新手炒股快速入门必读 上海十一选五遗漏一定牛遗漏 辽宁快乐十一选五开 排列七玩法介绍 上海11选5前3一定牛 大乐透复式6加3 股票亏了死守会回本吗