首頁 >CMS教程 >PHPCMS >PHPCMS如何解決縮圖不清楚

PHPCMS如何解決縮圖不清楚

Guanhui
Guanhui原創
2020-05-20 14:08:212353瀏覽

PHPCMS如何解決縮圖不清楚

PHPCMS如何解決縮圖不清楚

#首先在phpcms下面的libs中找到classes目錄並開啟;然後找到「image.class .php」這個檔案並開啟;最後搜尋到呼叫「$imagefun()」函數的地方並傳第三個參數為90即可。

搜尋到下這個函數

function thumb($image, $filename = '', $maxwidth = 200, $maxheight = 200, $suffix='', $autocut = 0, $ftp = 0) {
        if(!$this->thumb_enable || !$this->check($image)) return false;
        $info  = image::info($image);
        if($info === false) return false;
                $srcwidth  = $info['width'];
                $srcheight = $info['height'];
                $pathinfo = pathinfo($image);
                $type =  $pathinfo['extension'];
                if(!$type) $type = $info['type'];
                $type = strtolower($type);
                unset($info);

                $creat_arr = $this->getpercent($srcwidth,$srcheight,$maxwidth,$maxheight);
                $createwidth = $width = $creat_arr['w'];
                $createheight = $height = $creat_arr['h'];

                $psrc_x = $psrc_y = 0;
                if($autocut && $maxwidth > 0 && $maxheight > 0) {
                        if($maxwidth/$maxheight<$srcwidth/$srcheight && $maxheight>=$height) {
                                $width = $maxheight/$height*$width;
                                $height = $maxheight;
                        }elseif($maxwidth/$maxheight>$srcwidth/$srcheight && $maxwidth>=$width) {
                                $height = $maxwidth/$width*$height;
                                $width = $maxwidth;
                        }
                        $createwidth = $maxwidth;
                        $createheight = $maxheight;
                }
                $createfun = &#39;imagecreatefrom&#39;.($type==&#39;jpg&#39; ? &#39;jpeg&#39; : $type);
                $srcimg = $createfun($image);
                if($type != &#39;gif&#39; && function_exists(&#39;imagecreatetruecolor&#39;))
                        $thumbimg = imagecreatetruecolor($createwidth, $createheight); 
                else
                        $thumbimg = imagecreate($width, $height); 

                if(function_exists(&#39;imagecopyresampled&#39;))
                        imagecopyresampled($thumbimg, $srcimg, 0, 0, $psrc_x, $psrc_y, $width, $height, $srcwidth, $srcheight); 
                else
                        imagecopyresized($thumbimg, $srcimg, 0, 0, $psrc_x, $psrc_y, $width, $height,  $srcwidth, $srcheight); 
                if($type==&#39;gif&#39; || $type==&#39;png&#39;) {
                        $background_color  =  imagecolorallocate($thumbimg,  0, 255, 0);  //  指派一个绿色  
                        imagecolortransparent($thumbimg, $background_color);  //  设置为透明色,若注释掉该行则输出绿色的图 
                }
                if($type==&#39;jpg&#39; || $type==&#39;jpeg&#39;) imageinterlace($thumbimg, $this->interlace);
                $imagefun = &#39;image&#39;.($type==&#39;jpg&#39; ? &#39;jpeg&#39; : $type);
                if(empty($filename)) $filename  = substr($image, 0, strrpos($image, &#39;.&#39;)).$suffix.&#39;.&#39;.$type;
                $imagefun($thumbimg, $filename);
                imagedestroy($thumbimg);
                imagedestroy($srcimg);
                if($ftp) {
                        @unlink($image);
                }
                return $filename;
    }

然後找到

if($type==&#39;jpg&#39; || $type==&#39;jpeg&#39;) imageinterlace($thumbimg, $this->interlace);
$imagefun = &#39;image&#39;.($type==&#39;jpg&#39; ? &#39;jpeg&#39; : $type);
if(empty($filename)) $filename  = substr($image, 0, strrpos($image, &#39;.&#39;)).$suffix.&#39;.&#39;.$type;
$imagefun($thumbimg, $filename);
imagedestroy($thumbimg);
imagedestroy($srcimg);

改為

if($type==&#39;jpg&#39; || $type==&#39;jpeg&#39;) imageinterlace($thumbimg, $this->interlace);
$imagefun = &#39;image&#39;.($type==&#39;jpg&#39; ? &#39;jpeg&#39; : $type);
if(empty($filename)) $filename  = substr($image, 0, strrpos($image, &#39;.&#39;)).$suffix.&#39;.&#39;.$type;
$imagefun($thumbimg, $filename, 90);
imagedestroy($thumbimg);
imagedestroy($srcimg);

即可解決問題

推薦教學:《PHP教學

以上是PHPCMS如何解決縮圖不清楚的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn