解决DEDECMS缩略图变形

编程开发 / , / at

DEDECMS缩略图变形尤其体现在图文资讯栏目里,默认的是img的HTML代码里限制图片的高和宽,但DEDECMS实际的缩略图大小则是按照比例缩小的,未必和HTML代码里限制的相同,最终导致了DEDECMS缩略图变形,这个只有通过上传时对DEDECMS缩略图进行裁剪,保证其不变性。解决方法如下:

找到include/image.func.php,修改:

	if($toWH<=$srcWH)
	{
		$ftoW=$toW;
		$ftoH=$ftoW*($srcH/$srcW);
	}
	else
	{
		$ftoH=$toH;
		$ftoW=$ftoH*($srcW/$srcH);
	}

$ftoH=$toH; 
$ftoW=$toW; 
if ($toWH<=$srcWH) { 
$src_Y = 0; 
$src_X = ($srcW-$srcH*$toWH)/2; 
$srcW = $srcH*$toWH; 
}
else { 
$src_X = 0; 
$src_Y = ($srcH-$srcW/$toWH)/2; 
$srcH = $srcW/$toWH; 
}

更改
($ni,$im,0,0,0,0,$ftoW,$ftoH,$srcW,$srcH)

($ni,$im,0,0,$src_X,$src_Y,$ftoW,$ftoH,$srcW,$srcH)

修改后有一特征:发布文章,编辑器里上传图片时
1、若不选择生成缩略图
原图片路径类似uploads/090620/1_124844_1.jpg
缩略图路径类似uploads/allimg/090620/1_124TQD6.jpg
文章里显示为原图片
2、若选择生成缩略图
原图片路径类似uploads/090620/1_124844_1.jpg
缩略图路径类似uploads/090620/1_124844_1_lit.jpg
文章里显示为缩略图
本人不选择生成缩略图,用JS代码来控制图片大小,以防止顶破DIV,使网页变形。

一条回应:“解决DEDECMS缩略图变形”

  1. […] 最推崇这种方案,因为它是使用DEDE默认的缩略图提取函数GetDDImgFromBody,如果你结合解决DEDECMS缩略图变形和DEDECMS给PJPEG格式图片创建缩略图两篇文章,肯定会用DEDECMS提取出漂亮的、功能完整的缩略图。 1、首先下载插件批量提取缩略图dede5.5版,还有GBK版本,请去DEDE论坛下载,用里面的文件分别覆盖 /dede/article_description_main.php /dede/templets/article_description_main.htm 2、从DEDE后台核心-批量维护-自动摘要|分页,此程序是对DEDE默认自动摘要|分页的升级,加入了重新批量提取缩略图这一功能 3、以上过程提取完缩略图还没完成,因为文章的属性还没有标记上图文,这时需要运行两段SQL,打开DEDE后台的系统设置-SQL命令行工具,分别运行下面两段SQL: 首先更新有缩略图且为推荐的文章,设置属性为推荐和图文,SQL如下 update `dede_archives` set flag=’c,p,a’ WHERE litpic ” and flag=’c’ 然后更新有缩略图且不为推荐的文章,设置属性为图文即可,SQL如下 update `dede_archives` set flag=’p,a’ WHERE litpic ” […]

发表评论

电子邮件地址不会被公开。 必填项已用*标注