首页 » 开源/框架 » DEDE » 正文

DEDECMS图集上传图片显示不清楚的解决办法

前面我们写到了DEDE(织梦CMS)图集的三种表现方式,可以看到,第三种表现方式在上传图片时会自动为每张图片生成一个缩略图,在文章页调用出来的图片是这张缩略图,点击之后才会显示原图。

在这种方式下,有可能出现图片显示不清楚的情况,我认为可能原因是系统生成的缩略图的大小与你设置的图片位的大小不符:比如默认生成的缩略图是200px宽的,而你却把图片按400px宽显示,这样图片肯定就显得不清楚了。

如果是这种原因引起的话,可以有下面两种方法来解决。

方法一:修改系统参数,默认设置在“系统”–“系统基本参数”–“附件设置”中可以找到

dede_tuji_shezhi

 

修改上图中“图集默认缩略图大小”为你图集文章中图片显示的大小。

方法二:类似于方法一,也可以在上传图片那里进行修改,只不过这样的话每次发布新图集,都需要修改

dede_tuji_shezhi_2

 

方法三:修改程序文件/include/taglib/channel/img.lib.php

dede_tuji_code

上图中,我们可以看到,$fields['imgsrc'] 获得的是图集图片的原图路径,而 $fields['imgsrctrue'] 也是原图路径,$fields['ddimg'] 获取的是缩略图的路径,在没有缩略图是,它获得的将是原图路径。

前面我们已经讲过,在选择图集表现方式3的时候,系统会自动生成缩略图。所以  $fields[‘ddimg’] 此时就是缩略图的路径。

dede_tuji_code_2

通过上图,我们看到,在选用第三种表现方式的时候,$fields['imgsrc'] 的值被改成了 缩略图的路径,因此文章页中显示的是缩略图而非原图。我们可以把这一行代码去掉,然后在文章页控制图片的宽高,就可以把原图显示出来,这种方法也可以防止图片出现不清楚的情况。

方法四:当然,我们还可以修改 /dede/album_add.php/dede/album_edit.php 两个文件,让图片不生成缩略图,这样也可以解决问题。

/dede/album_add.php

dede_tuji_code_3

/dede/album_edit.php

dede_tuji_code_4

把 $pagestyle > 2 ? GetImageMapDD($iurl, $cfg_ddimg_width) : $iurl;  改成 $iurl; 即可。此时,$fields['ddimg'] 获取到的还是原图路径,所以文章页显示的最终还是原图,也可避免图片不清楚。

上述两种方法,我们更推荐第一种。虽然这样会产生一张缩略图,但是在浏览网站时,查看图片时调用缩略图比直接调用原图加载速度更快,对服务器压力更小。

本文共 4 个回复

  • 七云哥 2014/04/09 22:23

    看博主是高手啊,果断收藏了

  • cy 2014/04/10 16:50

    曾经想过用这个主题。。话说,明明是wp,为何折腾 得得。

发表评论