DeDecms中实现更漂亮整齐的缩略图的实现代码
更新时间:2008年03月23日 17:58:24 作者:
dede的缩略图被很多人投诉过,其原因是直接将原有的大图限制块宽度直接缩小或放大,如此一来自然缩略图的效果非常差。本身php就允许对图片进行各种截取、重新生成、合并、压缩等操作,因此为了追求完美,你可以参考下文。
刚开始使用DEDE不久,最初采集发现自动生成的缩略图片其实是根据自定义的最大长宽,原比例的缩小原图片,不利于图片索引页排版,不得已CSS里采用了自动判断调整高宽—但比较耗资源。所以还是决定改改缩图函数—-再次感谢DEDE的开源!!
修改文件:inc_photograph.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)
其实就一小小改动,就是在原图中截取最大面积的符合自定义缩略图长宽比列的一部分生成缩略图。
修改文件:inc_photograph.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)
其实就一小小改动,就是在原图中截取最大面积的符合自定义缩略图长宽比列的一部分生成缩略图。
相关文章
dedecms v5.1 WriteBookText() code injection vul注入漏洞
来源:Ph4nt0m Google Group by Flyh4t@126.com QQ:3783679422008-05-05
dedecms调用discuz论坛信息按照ID分类调用附详细说明
dedecms调用discuz论坛帖子、图片数据的方法很多人都有需要,大家一起整理了,我这里只有新帖、版块帖子调用方法。精华、回复、图片的调用还没有,请高手补充。2008-06-06


最新评论