亚洲免费乱码视频,日韩 欧美 国产 动漫 一区,97在线观看免费视频播国产,中文字幕亚洲图片

      1. <legend id="ppnor"></legend>

      2. 
        
        <sup id="ppnor"><input id="ppnor"></input></sup>
        <s id="ppnor"></s>

        dedecms 5.6 縮略圖按大小比例縮小裁剪

        字號(hào):


            由于DEDECMS v5.6縮略圖生成方法是按比例進(jìn)行放縮的,和之前的版本問題一樣,dedecms的官方也許根本沒有注意到,或者他們覺得這樣才是最好的縮略圖生成方式
            這樣的話,如果圖片的寬高比例不合適,那么縮略圖將會(huì)被壓縮得很不好看,在這里,我是先對(duì)圖片進(jìn)行按寬或高進(jìn)行放縮,超過縮略圖大小的部分再進(jìn)行裁剪,這樣生成的縮略圖的顯示效果要比原來的要好得多了。
            于是重新修改了一下DEDECMS v5.6縮略圖生成方法。
            默認(rèn)dedecms5.6默認(rèn)生成的縮略圖,縮略圖大小設(shè)置為:100*100(直接把圖片縮小了)
            看起來很不美觀,影響了圖片的觀賞性
            DEDECMS v5.6縮略圖裁剪優(yōu)化方法
            修改如下:
            打開/includes/image.func.php文件,
            //縮圖片自動(dòng)生成函數(shù),來源支持bmp、gif、jpg、png
            //但生成的小圖只用jpg或png格式
            找到代碼第44行function ImageResize
            至
            //獲得GD的版本之間的代碼
            ,用如下的代碼覆蓋(大家請注意備份)。
            代碼如下:
            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);
            }
            //裁剪圖片成標(biāo)準(zhǔn)縮略圖
            $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,85);
            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;
            }