phpcms v9按比例等宽完美缩略图方案
也是参考各位前辈的意见,一直测试,终于成功
PhpcmsV9 的 thumb有个麻烦,总是比例不对,看着怪怪的;
我希望等宽,让高度按比例。其实我们看一些图片网站、设计网站,瀑布式的图片列表页,其实就是等宽,高度按比例的。我是这么做的:
如果我的图片宽度要一定,如200px,高度按比例,那就是:
<img src="{thumb($r[thumb],200,0)}" alt="{$r[title]}"/>
第一步:
找到 phpcms\libs\functions\global.func.php 的thumb函数下的
if($width>=$width_t || $height>=$height_t) return $imgurl;
加上两个if:
if ($height==0) {
$scale=$width_t/$width;
$height=round($height_t/$scale);
}
if ($width==0) {
$scale=$height_t/$height;
$width=round($width_t/$scale);
}
还有一个问题:
PHPCMS V9生成的缩略图有黑边,当原图比例与缩略图比例相同时,生成的缩略图比例不正确,有一块黑边
是 phpcms\libs\classes\image.class.php 中的 getpercent 函数的问题
第65、66两行的变量赋值错了
// 原来的
$h = $dstw;
$w = $dsth;
修改为如下后正常
//修改后
$w = $dstw;
$h = $dsth;
复制代码手工改了这个文件后,把原来已生成的缩略图删除,再生成一下页面