在进行网站优化时,我正好接触到了一个基于dedecms CMS系统5.7构建的网站。这个系统的文章模块中有一个非常实用的功能:自动将文章中的第一张图片生成缩略图。此功能对于首页展示图文集合非常有用。
然而,在实际使用中发现,当图片为jpeg格式时,生成的缩略图文件往往过大。这是因为系统默认采用了较高的图片质量参数(px质量),而实际上我们并不需要这么高的质量。毕竟,缩略图只是原图缩小后的版本,通常只有200像素乘以150像素的大小,与原图相比尺寸缩小了数倍。在这种情况下,图片的细节已经不再重要,也无法清晰呈现,因此只需要大概的样子即可。
根据我的经验,图像质量设置为50%就足够满足需求了。
例如:
原图尺寸为995 pixels X 557 pixels,格式为jpeg,文件大小为127KB。
原来的缩略图尺寸为200 pixels X 150 pixels,文件格式为jpeg,文件大小为31KB。
在对缩略图生成函数的参数进行修改后,新的缩略图保持相同的像素和文件格式,但文件大小降低至6KB。
从视觉效果来看,两张缩略图之间的差异几乎可以忽略不计,但文件大小却有显著不同。在dedecms CMS系统的首页中,通常会使用五六张甚至更多的缩略图来展示文章。此时,缩略图的文件大小将直接影响页面加载速度,从而影响用户体验。
需要注意的是,缩略图的压缩率或图片质量参数在DeDeCMS的后台并没有提供直接的设置选项。经过大量搜索,我终于找到了正确的函数及参数调整位置。不同版本的dedecms CMS系统中,图片缩略图的函数文件名和目录位置可能有所不同。这里仅以dedecms CMS系统5.7为例说明。
要修改的文件位于:\\\\include\\\\helpers\\\\image.helper.php
打开该文件:
找到第92行:

imagejpeg($ni,$toFile,85);
    
将其修改为:

imagejpeg($ni,$toFile,50);
    
接着,找到第318行:

imagejpeg($new_img, $toFile,100);
    
将其修改为:

imagejpeg($new_img, $toFile,50);
    
保存并覆盖原始文件即可。
通过以上修改,缩略图的质量被设置为50%,这不仅有效减少了文件大小,还显著提升了页面加载速度,从而改善了用户体验。