主頁 > 知識庫 > PHP生成縮略圖實例講解

PHP生成縮略圖實例講解

熱門標簽:新河科技智能外呼系統(tǒng)怎么樣 常州地圖標注服務商 衡水外呼系統(tǒng)平臺 福州人工外呼系統(tǒng)哪家強 安裝電銷外呼系統(tǒng) 注冊400電話申請 釘釘打卡地圖標注 百度商鋪地圖標注 地圖標注平臺怎么給錢注冊

封裝的方法函數(shù):

?php
	/**
  * 生成縮略圖
  * $imgSrc     圖片源路徑
  * $thumbWidth   縮略圖寬度
  * $thumbHeight  縮略圖高度
  * $thumbSrc    縮略圖路徑
  * $isCut     是否剪切圖片
  */
  function createThumbImg($imgSrc, $thumbWidth, $thumbHeight, $thumbSrc, $isCut = false) {
    //1.獲取圖片的類型
    $type = substr(strrchr($imgSrc, "."), 1);
    //2.初始化圖象
    if ($type == "jpg" || $type == "jpeg") {
			//創(chuàng)建一塊畫布,并從JPEG文件或URL地址載入一副圖像
      $sourceImg = imagecreatefromjpeg($imgSrc);
    }elseif ($type == "gif") {
			//創(chuàng)建一塊畫布,并從GIF文件或URL地址載入一副圖像
      $sourceImg = imagecreatefromgif($imgSrc);
    }elseif ($type == "png") {
			//創(chuàng)建一塊畫布,并從PNG文件或URL地址載入一副圖像
      $sourceImg = imagecreatefrompng($imgSrc);
    }
		elseif ($type == "wbmp") {
			//創(chuàng)建一塊畫布,并從WBMP文件或URL地址載入一副圖像
      $sourceImg = imagecreatefromwbmp($imgSrc);
    }
		//取得圖像寬度
    $width = imagesx($sourceImg);
		//取得圖像高度
    $height = imagesy($sourceImg);
 
    //3.生成圖象
    //縮略圖的圖象比例
    $scale = ($thumbWidth) / ($thumbHeight);
    //源圖片的圖象比例
    $ratio = ($width) / ($height);
    if (($isCut) == 1) {
			//高度優(yōu)先
      if ($ratio >= $scale) {        
				//創(chuàng)建真彩圖像資源(imagecreatetruecolor()函數(shù)使用GDLibrary創(chuàng)建新的真彩色圖像)
        $newimg = imagecreatetruecolor($thumbWidth, $thumbHeight);
				//圖像處理
        imagecopyresampled($newimg, $sourceImg, 0, 0, 0, 0, $thumbWidth, $thumbHeight, (($height) * $scale), $height);
        //以JPEG格式將圖像輸出到瀏覽器或文件
				ImageJpeg($newimg, $thumbSrc);
      }
			 //寬度優(yōu)先
      if ($ratio  $scale) {       
        $newimg = imagecreatetruecolor($thumbWidth, $thumbHeight);
        imagecopyresampled($newimg, $sourceImg, 0, 0, 0, 0, $thumbWidth, $thumbHeight, $width, (($width) / $scale));
        ImageJpeg($newimg, $thumbSrc);
      }
    } else {
      if ($ratio >= $scale) {
        $newimg = imagecreatetruecolor($thumbWidth, ($thumbWidth) / $ratio);
        imagecopyresampled($newimg, $sourceImg, 0, 0, 0, 0, $thumbWidth, ($thumbWidth) / $ratio, $width, $height);
        ImageJpeg($newimg, $thumbSrc);
      }
      if ($ratio  $scale) {
        $newimg = imagecreatetruecolor(($thumbHeight) * $ratio, $thumbHeight);
        imagecopyresampled($newimg, $sourceImg, 0, 0, 0, 0, ($thumbHeight) * $ratio, $thumbHeight, $width, $height);
        ImageJpeg($newimg, $thumbSrc);
      }
    }
		//銷毀圖像
    ImageDestroy($sourceImg);
  }
?>

調(diào)用示例:

?php
	//圖片源路徑
	$imgSrc="D:/PHP/test/demo.jpg";
	//縮略圖路徑
	$thumbSrc="D:/PHP/test/thumb.jpg";
	createThumbImg($path,100,100,$thumbSrc);
?>

到此這篇關于PHP生成縮略圖實例講解的文章就介紹到這了,更多相關PHP生成縮略圖內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

您可能感興趣的文章:
  • ThinkPHP菜單無極分類實例講解
  • Thinkphp自定義美化success和error提示跳轉(zhuǎn)頁面代碼實例
  • PHP隨機生成18位不重復的訂單號代碼實例
  • PHP上傳目錄禁止執(zhí)行php文件實例講解

標簽:鷹潭 柳州 鶴崗 六安 遼陽 白城 唐山 克拉瑪依

巨人網(wǎng)絡通訊聲明:本文標題《PHP生成縮略圖實例講解》,本文關鍵詞  PHP,生成,縮,略圖,實例,講解,;如發(fā)現(xiàn)本文內(nèi)容存在版權問題,煩請?zhí)峁┫嚓P信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《PHP生成縮略圖實例講解》相關的同類信息!
  • 本頁收集關于PHP生成縮略圖實例講解的相關信息資訊供網(wǎng)民參考!
  • 推薦文章