对图片切割实现列表页图片优化
在网站速度优化中有一项叫:不要在 HTML 中缩放图片。
举个例子说:就是图片原尺寸是1000*500,你在html中设置 width="200",那么这就会影响渲染速度。
我们上传的图片大小各异,那么我们就需要将图片剪裁成我们需要的尺寸。
在sae中提供了对图片操作的api我们稍加改写就可以实现获取自定义尺寸的图片。
<?php $src=trim($_REQUEST['src']);+ $w=trim($_REQUEST['w']); $h=trim($_REQUEST['h']); if(!$w){ $w=10; } if(!$h){ $h=10; } if($src){ $f = new SaeFetchurl(); $img_data = $f->fetch($src); $img = new SaeImage(); $img->setData( $img_data ); $img->resize(intval($w),intval($h)); // 等比缩放到200宽 $new_data = $img->exec(); // 执行处理并返回处理后的二进制数据 // 或者可以直接输出 $img->exec( "jpg" , true ); }else{ echo "http://codeo.qiniudn.com/wp-content/themes/xiu-new/images/thumbnail.png"; } ?>
无论你想要什么尺寸的图片都可以自定义得到。
另外关于图片的优化还要提两点:
1)图片尽量要做延迟加载,特别是列表页中,因为绝大部分用户不会将滚动条撤到底的。
2)gif的图片最好转化为png的。