亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > CMS > 織夢DEDE > 正文

織夢縮略圖終極解決辦法(不變形、居中裁剪)的三種方法

2024-07-12 09:08:20
字體:
來源:轉載
供稿:網友

剛才我在做一個織夢站的時候出現了一個問題就是不管怎樣弄自動生成的縮略圖文件在列表里都是失真的,變形很嚴重特別影響美觀尤其是那種圖片特別長的或者是特別寬的主要元素不集中的圖片來說簡直就是災難。

好了,下面的方法我們都用這張圖片來演示一下吧我們暫且叫它原圖:

織夢縮略圖終極解決辦法(不變形、居中裁剪)的三種方法

第一種方法:原生縮略圖不用動不用改生成的縮略圖

第二種方法:大眾方法縮略圖

操作流程:打開網站根目錄下的include/helpers/文件夾中的“image.helper.php”文件。

查找如下代碼:

$srcW=ImageSX($im);$srcH=ImageSY($im);if($srcW<=$toW && $srcH<=$toH )return TRUE;$toWH=$toW/$toH;$srcWH=$srcW/$srcH;if($toWH<=$srcWH){$ftoW=$toW;$ftoH=$ftoW*($srcH/$srcW);}else{$ftoH=$toH;$ftoW=$ftoH*($srcW/$srcH);}把上面的這些代碼全部替換成下面的代碼:$srcW=ImageSX($im);$srcH=ImageSY($im);if($srcW<=$toW && $srcH<=$toH )return TRUE;$toWH=$toW/$toH;$srcWH=$srcW/$srcH;$ftoH=$toH;$ftoW=$toW;if ($toWH<=$srcWH) {$src_Y = 0;$src_X = ($srcW-$srcH*$toWH)/2;$srcW = $srcH*$toWH;}else{$src_X = 0;$src_Y = ($srcH-$srcW/$toWH)/2;$srcH = $srcW/$toWH;}

把上面的這些代碼全部替換成下面的代碼:

$srcW=ImageSX($im);$srcH=ImageSY($im);if($srcW<=$toW && $srcH<=$toH )return TRUE;$toWH=$toW/$toH;$srcWH=$srcW/$srcH;$ftoH=$toH;$ftoW=$toW;if ($toWH<=$srcWH) {$src_Y = 0;$src_X = ($srcW-$srcH*$toWH)/2;$srcW = $srcH*$toWH;}else{$src_X = 0;$src_Y = ($srcH-$srcW/$toWH)/2;$srcH = $srcW/$toWH;}

上面的方法是超過縮略圖大小的部分就進行裁剪如果說一張圖片高是1000像素但只有中間有點20像素的圖片則裁剪出來的縮略圖就是空白,它剪的是左上角的部分,原理是把一張原圖從左上角裁剪出織夢系統設置的高寬后其它的內容全部扔掉。可以對比本文開頭的“原圖”和“第二種方法”縮略圖這兩張圖片。

 

第三種方法(強烈推薦):終極長寬高等比例自適應裁剪縮略圖

操作流程:同方法二打開網站根目錄下的include/helpers/文件夾中的“image.helper.php”文件。查找“縮圖片自動生成函數,來源支持bmp、gif、jpg、png”

看到了吧,在這些注釋的下面從以下代碼開始:

if ( ! function_exists('ImageResize'))

到“獲得GD的版本”這些注釋結束的所有內容替換成下面的代碼(注意是除注釋外全部替換哦):

if ( ! function_exists('ImageResize')){ function ImageResize($srcFile,$toW,$toH,$toFile=""){global $cfg_photo_type;if($toFile==""){ $toFile = $srcFile;}$info = "";$srcInfo = GetImageSize($srcFile,$info);switch ($srcInfo[2]){ case 1: if(!$cfg_photo_type['gif']) { return false; } $im = imagecreatefromgif($srcFile); break; case 2: if(!$cfg_photo_type['jpeg']) { return false; } $im = imagecreatefromjpeg($srcFile); break; case 3: if(!$cfg_photo_type['png']) { return false; } $im = imagecreatefrompng($srcFile); break; case 6: if(!$cfg_photo_type['bmp']) { return false; } $im = imagecreatefromwbmp($srcFile); break;}$srcW=ImageSX($im);$srcH=ImageSY($im);if($srcW<=$toW && $srcH<=$toH ){ return true;}//縮略生成并裁剪$newW = $toH * $srcW / $srcH; $newH = $toW * $srcH / $srcW;if($newH >= $toH){ $ftoW = $toW; $ftoH = $newH;}else{ $ftoW = $newW; $ftoH = $toH;} if($srcW>$toW||$srcH>$toH){ if(function_exists("imagecreatetruecolor")) { @$ni = imagecreatetruecolor($ftoW,$ftoH); if($ni) { imagecopyresampled($ni,$im,0,0,0,0,$ftoW,$ftoH,$srcW,$srcH); } else { $ni=imagecreate($ftoW,$ftoH); imagecopyresized($ni,$im,0,0,0,0,$ftoW,$ftoH,$srcW,$srcH); } } else { $ni=imagecreate($ftoW,$ftoH); imagecopyresized($ni,$im,0,0,0,0,$ftoW,$ftoH,$srcW,$srcH); }//裁剪圖片成標準縮略圖$new_imgx = imagecreatetruecolor($toW,$toH);if($newH >= $toH){imagecopyresampled($new_imgx,$ni,0,0,0,($newH - $toH)/2,$toW,$toH,$toW,$toH);}else{imagecopyresampled($new_imgx,$ni,0,0,($newW - $toW)/2,0,$toW,$toH,$toW,$toH);}switch ($srcInfo[2]){ case 1: imagegif($new_imgx,$toFile); break; case 2: imagejpeg($new_imgx,$toFile,90); break; case 3: imagepng($new_imgx,$toFile); break; case 6: imagebmp($new_imgx,$toFile); break; default: return false;} imagedestroy($new_imgx); imagedestroy($ni);}imagedestroy($im);return true;}}

 

為了避免出錯下面給一個示例:

/*** 縮圖片自動生成函數,來源支持bmp、gif、jpg、png* 但生成的小圖只用jpg或png格式** @access public* @param string $srcFile 圖片路徑* @param string $toW 轉換到的寬度* @param string $toH 轉換到的高度* @param string $toFile 輸出文件到* @return string*/(注意哦替換的是這里全部的內容哦很長的一幾段內容)/*** 獲得GD的版本** @access public* @return int*/

好了到此保存上傳然后試著生成一個縮略圖看看吧。到目前為止第三種方法是我見過最好的了它最大的特點就是居中裁剪這樣無論如何也不會變形了,而且一般圖片的主要像素都是從中間開始的,裁剪出來的縮略圖和原圖的中間部分都是一模一樣的只是把原圖中間變小了。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
欧美高清自拍一区| 亚洲电影成人av99爱色| 亚洲另类xxxx| 久久久精品久久久| 亚洲视频axxx| 精品久久久一区二区| 欧美人交a欧美精品| 日韩电影在线观看永久视频免费网站| 日韩av免费在线看| 日本午夜在线亚洲.国产| 国产成人精品久久二区二区| 成人免费淫片视频软件| 亚洲激情成人网| 亚洲午夜久久久久久久| 成人精品视频久久久久| 国产精品视频免费观看www| 国产v综合v亚洲欧美久久| 91精品国产自产在线观看永久| 欧美成人手机在线| 欧洲永久精品大片ww免费漫画| 91av国产在线| 精品在线欧美视频| 欧美裸身视频免费观看| 日韩动漫免费观看电视剧高清| 日韩欧美一区二区三区| 亚洲免费av网址| 久久97久久97精品免视看| 久久久在线视频| 欧美亚洲在线播放| 国内成人精品视频| 亚洲欧洲免费视频| 日本精品视频在线播放| 中文国产亚洲喷潮| 欧美有码在线观看| 日韩视频欧美视频| 亚洲男人天堂视频| 欧美大片欧美激情性色a∨久久| 中文字幕日韩免费视频| 亚洲色图综合网| 上原亚衣av一区二区三区| 亚洲美女黄色片| 亚洲色无码播放| 国产不卡av在线| 久久久久久网址| 日韩二区三区在线| 日韩精品中文字幕在线播放| 久久久国产一区二区三区| 欧美人在线视频| 97婷婷大伊香蕉精品视频| 亚洲午夜av久久乱码| 久久福利网址导航| 91久久国产综合久久91精品网站| 亚洲精品欧美极品| 最近中文字幕2019免费| 日韩av大片在线| 久久久国产精彩视频美女艺术照福利| 欧美猛少妇色xxxxx| 国产亚洲在线播放| 精品国内亚洲在观看18黄| 国产欧美一区二区三区四区| 91精品综合视频| 成人h片在线播放免费网站| 亚洲精品99久久久久中文字幕| 国产精品吹潮在线观看| 国产成人亚洲综合91精品| 精品一区二区亚洲| 91高清在线免费观看| 超碰97人人做人人爱少妇| 91亚洲国产精品| 亚洲在线一区二区| 91精品国产亚洲| 中文字幕亚洲在线| 久久久视频精品| 亚洲精品美女久久久| 国产午夜精品一区理论片飘花| 国产精品亚发布| 国产91色在线|| 久久91亚洲精品中文字幕奶水| 欧美另类暴力丝袜| 亚洲欧美综合v| 性欧美办公室18xxxxhd| 午夜剧场成人观在线视频免费观看| 欧美黄色片视频| 日本久久91av| 国产91精品在线播放| 欧美日韩国产专区| 日本午夜精品理论片a级appf发布| 欧美亚洲第一区| 日韩在线小视频| 亚洲aaaaaa| 欧美激情xxxx| 欧美激情国产日韩精品一区18| 亚洲精品视频免费在线观看| 久久久99免费视频| 91精品在线看| 国产精品日韩av| 97国产精品人人爽人人做| 亚洲国产精品美女| 国产精品午夜视频| 欧美日本啪啪无遮挡网站| 欧美极品少妇xxxxⅹ免费视频| 欧美成人精品xxx| 91成人在线视频| 亚洲综合在线播放| 亚洲精品成人av| 久久免费视频在线| 国产成人一区二区在线| 日韩一级黄色av| 亚洲一区二区三| 欧美日韩亚洲网| 欧美日韩性生活视频| 亚洲影院色在线观看免费| 91深夜福利视频| 欧美成人国产va精品日本一级| 亚洲另类欧美自拍| 亚洲国产成人久久综合一区| 国产精品高潮在线| 欧美国产激情18| 久久av中文字幕| 欧美高清视频在线观看| 国产欧美精品久久久| 亚洲欧美在线磁力| 国产精品久久久久aaaa九色| 亚洲专区中文字幕| 久久久免费av| 国产精品久久久久免费a∨大胸| 亚洲美女精品成人在线视频| 日本一区二区不卡| 日韩高清免费在线| 亚洲一区二区三区777| 亚洲一区中文字幕| 亚洲另类图片色| 久久久久久一区二区三区| 久久久久久久久91| 国产99久久精品一区二区永久免费| 色婷婷综合久久久久| 亚洲tv在线观看| 91禁国产网站| 亚洲乱码一区av黑人高潮| 欧美精品久久一区二区| 久久综合伊人77777| 亚洲综合日韩中文字幕v在线| 日本欧美一级片| 国产精品99久久久久久久久久久久| 欧美成人精品一区二区三区| 国产裸体写真av一区二区| 亚洲欧美日韩精品| 久久久久久久久久久人体| 欧美一级淫片丝袜脚交| 中文字幕久久亚洲| 亚洲一区二区少妇| 国产一区二区精品丝袜| 热久久免费国产视频| 国产一区二区美女视频| 国产成人一区二| 一区二区成人精品| 国产成人精品视频在线| 国内精品模特av私拍在线观看| 2020欧美日韩在线视频| 国产亚洲欧美一区| 国产一区二区三区18| 国产亚洲欧洲黄色| 欧美视频在线看| 91成人天堂久久成人|