十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
一、帝国cms生成缩略图所用到的方法或函数是sys_ResizeImg(),依赖于php主机环境是否安装并支持gd库,通常都是支持的。
专注于为中小企业提供成都网站设计、网站制作服务,电脑端+手机端+微信端的三站合一,更高效的管理,为中小企业双台子免费做网站提供优质的服务。我们立足成都,凝聚了一批互联网行业人才,有力地推动了上千多家企业的稳健成长,帮助中小企业通过网站建设实现规模扩充和转变。
img src="?=sys_ResizeImg($bqr[titlepic],375,287,1)?" alt="?=$bqr['title']?"/
——代码摘自学而行营销网首页模板,效果如下。
用sys_ResizeImg()方法生成缩略图后,可以查看图片的路径,你发现图片路径并不在后台上传默认的d/file目录下,而是放在/e/data/tmp/目录中,由此可检验是否已经生效;另外方法中的第一个数字(本例中是375)表示缩略图的宽度,第2个数字(本例中是287)则是缩略图的高度,参数1则表示帝国默认的裁剪缩放生成缩略图的方式。
关于sys_ResizeImg()的最后参数说明。见如下:
帝国CMS缩略图函数改进(GD库改进)
本文关键字词:缩略图,缩略图函数,帝国CMS,帝国CMS,帝国CMS缩略图去黑边框
第一种方式 帝国默认:
sys_ResizeImg($r[titlepic],宽,高,0);//帝国默认的不裁剪缩放生成缩略图的方式
第二种方式 帝国默认:
sys_ResizeImg($r[titlepic],宽,高,1);//帝国默认的裁剪缩放生成缩略图的方式
第三种方式 去掉裁剪不够时的黑边并且从图片缩放后中间裁剪:
sys_ResizeImg($r[titlepic],宽,高,2);//新加去黑边裁剪生成缩略图的方式
第四种方式 只固定图片的宽,高度不限制(类似不规则瀑布流的图片形式),高填写为大于0的任意整数数字:
sys_ResizeImg($r[titlepic],宽,高,3);//新加去黑边生成类似瀑布流格式的方式
二、但是你看到的上图示例效果是经过改进后的,而默认sys_ResizeImg()生成的缩略图则是压缩比太高,图片质量很低,看上去很模糊失真,简直可用惨不忍睹来形容。如下。
(如果一个人审美正常的话,那么上图这个美女脸上的像素点如此明显,如此糙,或许你看了不会呕吐,但相信你会把自己的眼光移到别处的。)
要修改sys_ResizeImg()生成缩略图的质量倒是很容易。只需要打开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之间为好。
然后上传覆盖。再重新生成页面,查看是否有所变化。
讲真,这个修改方法以前华哥曾经实践过至少两次,但都没有成功。这次实践居然轻松就成功了,简直可说是如有神助!
不过也找不到以前失败的原因,或许是换了网站主机空间的缘故吧。可以判断的是,如果不成功看不到变化,那和这个修改方法无关,修改方法是正确的,这次得到测试和应用,没有任何变化或许要去检测主机系统或服务器的php环境配置。
TAG:帝国cms找到标签模版里边的ID为11的标签模版,在list.var模板里找到 [!--picname--] 把上面的这段代码换成下面的 [!--picname--] 然后在重新生成内容页就可以了,当我们点击图片的时候就可以直接打开大图了关键字:帝国CMS教程相关文章:帝国cms缩略图:网站不同地方生成不同的缩略图帝国CMS远程保存图片功能失效帝国CMS7.0新版本增加信息管理权限分配,权限控制更灵活教你如何给帝国CMS系统添加登陆失败次数限制实现帝国CMS在登录和注册点击刷新验证码
TAG:帝国cms
如何制作帝国cms内容页的调用栏目缩略图
帝国cms6.0后已经无法用[!--class.classimg--]直接调用栏目缩略图了,5.1以前的能行,现在只能在列表页能用[!--class.classimg--]调用缩略图标签,现在只有用灵动或者万能标签才能调用,调用代码如下
[e:loop={"select classimg from phome_enewsclass where classid='$GLOBAL[navclassid]'",1,24,0}]
[/e:loop]
如果是用[!--empirenews.listtemp--]!--list.var1-- [!--empirenews.listtemp--]这个标签,你应该可以把两套要循环的代码都放在下面的“列表内容模板”里吧,我想既然是切换的,那在你的css或者js里肯定有控制一套代码显示的时候另一套代码隐藏的代码的,所以不会两套都显示出来的
或者你也可以用灵动标签,根据参数循环你的两套代码,不用去管“列表内容模板”了,结果是一样的。