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;

复制代码手工改了这个文件后,把原来已生成的缩略图删除,再生成一下页面

THE END
分享
二维码
< <上一篇
下一篇>>