Heim >CMS-Tutorial >PHPCMS >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 = 'imagecreatefrom'.($type=='jpg' ? 'jpeg' : $type); $srcimg = $createfun($image); if($type != 'gif' && function_exists('imagecreatetruecolor')) $thumbimg = imagecreatetruecolor($createwidth, $createheight); else $thumbimg = imagecreate($width, $height); if(function_exists('imagecopyresampled')) 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=='gif' || $type=='png') { $background_color = imagecolorallocate($thumbimg, 0, 255, 0); // 指派一个绿色 imagecolortransparent($thumbimg, $background_color); // 设置为透明色,若注释掉该行则输出绿色的图 } if($type=='jpg' || $type=='jpeg') imageinterlace($thumbimg, $this->interlace); $imagefun = 'image'.($type=='jpg' ? 'jpeg' : $type); if(empty($filename)) $filename = substr($image, 0, strrpos($image, '.')).$suffix.'.'.$type; $imagefun($thumbimg, $filename); imagedestroy($thumbimg); imagedestroy($srcimg); if($ftp) { @unlink($image); } return $filename; }
und suchen Sie dann
if($type=='jpg' || $type=='jpeg') imageinterlace($thumbimg, $this->interlace); $imagefun = 'image'.($type=='jpg' ? 'jpeg' : $type); if(empty($filename)) $filename = substr($image, 0, strrpos($image, '.')).$suffix.'.'.$type; $imagefun($thumbimg, $filename); imagedestroy($thumbimg); imagedestroy($srcimg);
und ändern Sie sie in
if($type=='jpg' || $type=='jpeg') imageinterlace($thumbimg, $this->interlace); $imagefun = 'image'.($type=='jpg' ? 'jpeg' : $type); if(empty($filename)) $filename = substr($image, 0, strrpos($image, '.')).$suffix.'.'.$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!