凤彩网

  • <tr id='EYRt5D'><strong id='EYRt5D'></strong><small id='EYRt5D'></small><button id='EYRt5D'></button><li id='EYRt5D'><noscript id='EYRt5D'><big id='EYRt5D'></big><dt id='EYRt5D'></dt></noscript></li></tr><ol id='EYRt5D'><option id='EYRt5D'><table id='EYRt5D'><blockquote id='EYRt5D'><tbody id='EYRt5D'></tbody></blockquote></table></option></ol><u id='EYRt5D'></u><kbd id='EYRt5D'><kbd id='EYRt5D'></kbd></kbd>

    <code id='EYRt5D'><strong id='EYRt5D'></strong></code>

    <fieldset id='EYRt5D'></fieldset>
          <span id='EYRt5D'></span>

              <ins id='EYRt5D'></ins>
              <acronym id='EYRt5D'><em id='EYRt5D'></em><td id='EYRt5D'><div id='EYRt5D'></div></td></acronym><address id='EYRt5D'><big id='EYRt5D'><big id='EYRt5D'></big><legend id='EYRt5D'></legend></big></address>

              <i id='EYRt5D'><div id='EYRt5D'><ins id='EYRt5D'></ins></div></i>
              <i id='EYRt5D'></i>
            1. <dl id='EYRt5D'></dl>
              1. <blockquote id='EYRt5D'><q id='EYRt5D'><noscript id='EYRt5D'></noscript><dt id='EYRt5D'></dt></q></blockquote><noframes id='EYRt5D'><i id='EYRt5D'></i>
                加入vip [签到送金币]
                注册 登录 QQ登录
                织梦无忧,用心做好源码!7年品牌,值得信赖! 织梦无忧,个个精品,宁缺毋滥!每月购买不少于3000元精品源◣码免费分享,早开通,早享受!终身会员临时√大促,只需要128元!新会员开通,直接进入会员中心--购买会员--直接开◢通即可。

                原创dedecms缩略图系列教程:解决dedecms缩略图缩放变形问题

                摘要: 文章介绍 背景:dedecms生成缩略图的原理不够灵活导致缩略图变形,比如后台设置缩略图的尺码为:120*90即为3:2的图片,但是假如内容里的大图尺码为300*300即1:1,这样生成出来的图片就会变形,严重影响网站美观,本文介绍通过修改dedecms生成缩略源码方法解决
                文章介绍

                背景:dedecms生成缩略图的原理不够灵活导致缩略图变形,比如后台设置缩略图的尺码为:120*90即为3:2的图片,但是假如内容里的大图尺码为300*300即1:1,这样生成出来的图片就会变形,严重影响网站美观,本文介绍通过修改dedecms生成缩略源码方法解决定问题

                打开“include/image.func.php”文件,该文件在dedecms5.6,5.7中所在的目录不一样,5.6中文件在/include/下,5.7中文件在/include/helpers/,如果你懒的找可以直接在网站根目录搜索image.func.php文件

                如果你◇使用的是dedecms5.7,打开目录/include/helpers/找到image.helper.php文件

                如果你使用的是dedecms5.6,打开目录/include/找到image.func.php文件

                5.7版image.helper.php修改方法

                替换

                /**

                 *  缩图片自动生成函数,来源支持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

                 */

                中间的代码为:

                 
                001
                if ( ! function_exists('ImageResize'))
                002
                {
                003
                    function ImageResize($srcFile,$toW,$toH,$toFile="")
                004
                {
                005
                global $cfg_photo_type;
                006
                if($toFile=="")
                007
                {
                008
                   $toFile = $srcFile;
                009
                }
                010
                $info = "";
                011
                $srcInfo = GetImageSize($srcFile,$info);
                012
                switch ($srcInfo[2])
                013
                {
                014
                   case 1:
                015
                    if(!$cfg_photo_type['gif'])
                016
                    {
                017
                     return false;
                018
                    }
                019
                    $im = imagecreatefromgif($srcFile);
                020
                    break;
                021
                   case 2:
                022
                    if(!$cfg_photo_type['jpeg'])
                023
                    {
                024
                     return false;
                025
                    }
                026
                    $im = imagecreatefromjpeg($srcFile);
                027
                    break;
                028
                   case 3:
                029
                    if(!$cfg_photo_type['png'])
                030
                    {
                031
                     return false;
                032
                    }
                033
                    $im = imagecreatefrompng($srcFile);
                034
                    break;
                035
                   case 6:
                036
                    if(!$cfg_photo_type['bmp'])
                037
                    {
                038
                     return false;
                039
                    }
                040
                    $im = imagecreatefromwbmp($srcFile);
                041
                    break;
                042
                }
                043
                $srcW=ImageSX($im);
                044
                $srcH=ImageSY($im);
                045
                if($srcW<=$toW && $srcH<=$toH )
                046
                {
                047
                   return true;
                048
                }
                049
                //缩略生成并裁剪
                050
                $newW = $toH * $srcW / $srcH;
                051
                           $newH = $toW * $srcH / $srcW;
                052
                if($newH >= $toH)
                053
                {
                054
                   $ftoW = $toW;
                055
                   $ftoH = $newH;
                056
                }
                057
                else
                058
                {
                059
                                     $ftoW = $newW;
                060
                   $ftoH = $toH;
                061
                }
                062
                           if($srcW>$toW||$srcH>$toH)
                063
                {
                064
                   if(function_exists("imagecreatetruecolor"))
                065
                   {
                066
                    @$ni = imagecreatetruecolor($ftoW,$ftoH);
                067
                    if($ni)
                068
                    {
                069
                     imagecopyresampled($ni,$im,0,0,0,0,$ftoW,$ftoH,$srcW,$srcH);
                070
                    }
                071
                    else
                072
                    {
                073
                     $ni=imagecreate($ftoW,$ftoH);
                074
                     imagecopyresized($ni,$im,0,0,0,0,$ftoW,$ftoH,$srcW,$srcH);
                075
                    }
                076
                   }
                077
                   else
                078
                   {
                079
                    $ni=imagecreate($ftoW,$ftoH);
                080
                    imagecopyresized($ni,$im,0,0,0,0,$ftoW,$ftoH,$srcW,$srcH);
                081
                   }
                082
                   //裁剪图片成标准缩略图
                083
                   $new_imgx = imagecreatetruecolor($toW,$toH);
                084
                   if($newH >= $toH)
                085
                   {
                086
                    imagecopyresampled($new_imgx,$ni,0,0,0,($newH - $toH)/2,$toW,$toH,$toW,$toH);
                087
                   }
                088
                   else
                089
                   {
                090
                    imagecopyresampled($new_imgx,$ni,0,0,($newW - $toW)/2,0,$toW,$toH,$toW,$toH);
                091
                   }
                092
                   switch ($srcInfo[2])
                093
                   {
                094
                    case 1:
                095
                     imagegif($new_imgx,$toFile);
                096
                     break;
                097
                    case 2:
                098
                     imagejpeg($new_imgx,$toFile,85);
                099
                     break;
                100
                    case 3:
                101
                     imagepng($new_imgx,$toFile);
                102
                     break;
                103
                    case 6:
                104
                     imagebmp($new_imgx,$toFile);
                105
                     break;
                106
                    default:
                107
                     return false;
                108
                   }
                109
                   imagedestroy($new_imgx);
                110
                   imagedestroy($ni);
                111
                }
                112
                imagedestroy($im);
                113
                return true;
                114
                }
                115
                }
                

                修改好后保存文件即可,赶紧添加个带图片的文章试试吧,如果你不愿意修改可直接

                5.6版image.func.php修改方法

                替换

                //缩图片自动生成函数,来源支持bmp、gif、jpg、png

                //获得GD的版本

                中间的代码为:

                 
                001
                function ImageResize($srcFile,$toW,$toH,$toFile="")
                002
                {
                003
                global $cfg_photo_type;
                004
                if($toFile=="")
                005
                {
                006
                   $toFile = $srcFile;
                007
                }
                008
                $info = "";
                009
                $srcInfo = GetImageSize($srcFile,$info);
                010
                switch ($srcInfo[2])
                011
                {
                012
                   case 1:
                013
                    if(!$cfg_photo_type['gif'])
                014
                    {
                015
                     return false;
                016
                    }
                017
                    $im = imagecreatefromgif($srcFile);
                018
                    break;
                019
                   case 2:
                020
                    if(!$cfg_photo_type['jpeg'])
                021
                    {
                022
                     return false;
                023
                    }
                024
                    $im = imagecreatefromjpeg($srcFile);
                025
                    break;
                026
                   case 3:
                027
                    if(!$cfg_photo_type['png'])
                028
                    {
                029
                     return false;
                030
                    }
                031
                    $im = imagecreatefrompng($srcFile);
                032
                    break;
                033
                   case 6:
                034
                    if(!$cfg_photo_type['bmp'])
                035
                    {
                036
                     return false;
                037
                    }
                038
                    $im = imagecreatefromwbmp($srcFile);
                039
                    break;
                040
                }
                041
                $srcW=ImageSX($im);
                042
                $srcH=ImageSY($im);
                043
                if($srcW<=$toW && $srcH<=$toH )
                044
                {
                045
                   return true;
                046
                }
                047
                //缩略生成并裁剪
                048
                $newW = $toH * $srcW / $srcH;
                049
                           $newH = $toW * $srcH / $srcW;
                050
                if($newH >= $toH)
                051
                {
                052
                   $ftoW = $toW;
                053
                   $ftoH = $newH;
                054
                }
                055
                else
                056
                {
                057
                                     $ftoW = $newW;
                058
                   $ftoH = $toH;
                059
                }
                060
                           if($srcW>$toW||$srcH>$toH)
                061
                {
                062
                   if(function_exists("imagecreatetruecolor"))
                063
                   {
                064
                    @$ni = imagecreatetruecolor($ftoW,$ftoH);
                065
                    if($ni)
                066
                    {
                067
                     imagecopyresampled($ni,$im,0,0,0,0,$ftoW,$ftoH,$srcW,$srcH);
                068
                    }
                069
                    else
                070
                    {
                071
                     $ni=imagecreate($ftoW,$ftoH);
                072
                     imagecopyresized($ni,$im,0,0,0,0,$ftoW,$ftoH,$srcW,$srcH);
                073
                    }
                074
                   }
                075
                   else
                076
                   {
                077
                    $ni=imagecreate($ftoW,$ftoH);
                078
                    imagecopyresized($ni,$im,0,0,0,0,$ftoW,$ftoH,$srcW,$srcH);
                079
                   }
                080
                   //裁剪图片成标准缩略图
                081
                   $new_imgx = imagecreatetruecolor($toW,$toH);
                082
                   if($newH >= $toH)
                083
                   {
                084
                    imagecopyresampled($new_imgx,$ni,0,0,0,($newH - $toH)/2,$toW,$toH,$toW,$toH);
                085
                   }
                086
                   else
                087
                   {
                088
                    imagecopyresampled($new_imgx,$ni,0,0,($newW - $toW)/2,0,$toW,$toH,$toW,$toH);
                089
                   }
                090
                   switch ($srcInfo[2])
                091
                   {
                092
                    case 1:
                093
                     imagegif($new_imgx,$toFile);
                094
                     break;
                095
                    case 2:
                096
                     imagejpeg($new_imgx,$toFile,85);
                097
                     break;
                098
                    case 3:
                099
                     imagepng($new_imgx,$toFile);
                100
                     break;
                101
                    case 6:
                102
                     imagebmp($new_imgx,$toFile);
                103
                     break;
                104
                    default:
                105
                     return false;
                106
                   }
                107
                   imagedestroy($new_imgx);
                108
                   imagedestroy($ni);
                109
                }
                110
                imagedestroy($im);
                111
                return true;
                112
                }
                

                可以直接

                因dedecms版本的不同代码有所不一样,如果有问题可以找跟版网帮忙解决

                上一篇:

                下一篇:

                本文链接:/g61cg2/dedecmsjiaocheng/anzhuangshiyong/183769.html

                版权声明:本站资源均来自互联网或会■员发布,如果侵犯了您的权益请与我们▲联系,我们将在24小时内删除!谢谢!

                公众号二维码

                微信公众号

                //自动推送