我们在上传缩略图的时候,有时候会出现图片有黑边出现。这种图片出现的原因是,当宽大于高(横片)的图片生成缩略图才会左右出现黑边,我们打开一张有黑边的图片,分析出得出图片是按照高度来缩放,宽度不足的话就用黑边填充。
解决思路:把按照高度缩放改成按照宽度缩放,然后高出部分裁调。
具体修改方法:
1、打开e\class\gd.php,找到代码,默认在44行
if($big_width >= $max_width and $big_height >= $max_height) { if($big_width > $big_height) { $tempx = $max_width / $ratioh; $tempy = $big_height; $srcX = ($big_width - $tempx) / 2; $srcY = 0; }
修改成
if($big_width >= $max_width and $big_height >= $max_height) { if($big_width > $big_height) { $tempy = $max_height / $ratiow; $tempx = $big_width; $srcY = ($big_height - $tempy) / 2; $srcX = 0; }
截图如下:
如果使用缩略图函数要设置截取高出部分:sys_ResizeImg(原图片,缩图宽度,缩图高度,是否裁翦图片,目标文件名)
可以将参数:是否裁翦图片为设置为1,php示例代码如下:
<?=sys_ResizeImg(原图片地址,缩略宽度,缩略高度,1,目录文件名)?>
平常用的就要设置:后台>系统>系统设置>系统参数设置>图片设置>超出部分是否截取>选是