程序员人生 网站导航

DedeCMS图集中缩略图不能显示的解决方法

栏目:DedeCMS时间:2014-02-15 12:55:34

图集中缩略图不显示的原因在于:你上传的图片尺寸同时小于DEDE后台设置的默认缩略图尺寸.

解决方式有二种:
其一:在后台把默认缩略图宽或高的一个尺寸调小,让你上传的图片二个尺寸中的一个大于,默认值.
其二就是通过修改程序的方式来解决。

本方法在DEDE5.5GBK版下测试通过,在文件include/image.func.php中找到
if($srcW<=$toW && $srcH<=$toH ) return true;

替换成

//增加小于缩略图尺寸处理开始
if($srcW<=$toW && $srcH<=$toH )
{
$ftoH=$toH;
$ftoW=$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);
}
switch ($srcInfo[2])
{
case 1:
imagegif($ni,$toFile);
break;
case 2:
imagejpeg($ni,$toFile,100);
break;
case 3:
imagepng($ni,$toFile);
break;
case 6:
imagebmp($ni,$toFile);
break;
default:
return false;
}
imagedestroy($ni);
}
//增加小于缩略图尺寸处理结束

------分隔线----------------------------
------分隔线----------------------------

最新技术推荐