sys_ResizeImg函数说明

sys_ResizeImg(原图片,缩图宽度,缩图高度,是否裁翦图片,目标文件名)

帝国cms生成自定义尺寸缩略图sys_ResizeImg()函数,依赖于php主机环境是否安装并支持gd库,通常都是支持的。

函数使用方法

PHP调用方法

<?
$newpic=sys_ResizeImg($bqr[titlepic],120,80,1,'');
<img src=<?=$newpic?> width=212 height=300 alt=[!--oldtitle--] oriheight=300 />
?>

灵动标签调用方法

[e:loop={'article',9,19,1}]
<?=sys_ResizeImg($bqr[titlepic],70,70,1,'')?>
[/e:loop]

列表页使用方法

$newpic=sys_ResizeImg($r[titlepic],200,180,3,1,pic.$r[classid].$r[id]);
$listtemp='<img src='.$newpic[0].' width=212 height=300 alt=[!--oldtitle--] oriheight=300 />';

函数模糊解决方法

打开e/class/gd.php文件。找到如下这行。

$func_output($temp_image, $new_name.$func_exname,9);

将最后一个数字修改为:

$func_output($temp_image, $new_name.$func_exname,85);

其中85就代表生成的缩略图压缩比,数字越高,压缩率越低,图片质量自然就越高,但要注意的是,图片质量高文件就会增大,如果图片过多、尺寸过大就会影响页面加载速度(通常),而我们使用缩略图的一个重要目的就是要减少图片尺寸以提高页面打开速度,因此这个数字华哥建议设置在65-90之间为好。

函数优缺点

sys_ResizeImg函数用起来虽然方便,但发现还是有很多小问题,不得放弃。很明显的感觉就是模板用了sys_ResizeImg函数之后,后台数据刷新会很卡,因为要生成图片,而且前端显示的图片路径会发现改变,sys_ResizeImg函数还只能处理是后台添加的图片等等问题。

或者说是:

例如你原先的列表页循环内容代码为:

<li><img src="[!---titlepic--]"><a href="[!---titleurl--]">[!---title--]</a></li>

 

现在则要在下面框子里输入

if ($r[titlepic]){$tpic=sys_ResizeImg($r[titlepic],120,80,1,'');} else {
$tpic="e/data/images/notimg.gif";
}
$listtemp='<li><img src="'.$tpic.'"><a href="[!---titleurl--]">[!---title--]</a></li>';

其中120,80 就是你像生成的缩略图宽度 高度 ! 自己就可以在不同列表页生成不同大小的缩略图了!