Heim  >  Artikel  >  CMS-Tutorial  >  Wie PHPCMS das Problem der Miniaturansichten löst, ist nicht klar

Wie PHPCMS das Problem der Miniaturansichten löst, ist nicht klar

Guanhui
GuanhuiOriginal
2020-05-20 14:08:212323Durchsuche

Wie PHPCMS das Problem der Miniaturansichten löst, ist nicht klar

Wie löst PHPCMS das Problem unklarer Miniaturansichten?

Suchen Sie zuerst das Klassenverzeichnis in libs unter phpcms und öffnen Sie es dann. image.class .php“-Datei und öffnen Sie sie; suchen Sie schließlich nach der Stelle, an der die Funktion „$imagefun()“ aufgerufen wird, und übergeben Sie den dritten Parameter als 90.

Suchen Sie nach dieser Funktion

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;
    }

und suchen Sie dann

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);

und ändern Sie sie in

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);

, um das Problem zu lösen

Empfohlenes Tutorial: „PHP-Tutorial

Das obige ist der detaillierte Inhalt vonWie PHPCMS das Problem der Miniaturansichten löst, ist nicht klar. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn