实例
使用缩略图的优点
可以减轻服务器压力,给用户更好的体验。一个界面可能有很多图片,但是用户关心的图片可能只有那么一两个,如果我们加载全部原图,并且原图很大的时候,会浪费很多服务器资源,并且用户会看见大量图片处于加载中(如下图)。
如果使用缩略图,就可以解决这个问题。
如何生成缩略图
如果只是简单的生成缩略图,方法有很多,但是如何生成一个”好看”的缩略图呢?先捋一下思路,如下:
仅压缩
如果强行把一个长图压缩成宽图,就可能导致图片中的人变矮变胖。
仅剪裁
如果把一个大图,比如:800x2000的图,剪裁成400x300的图,可能图片中的主要内容根本都显示出来。
剪裁中心区域
一般来说,图片中心是主要内容,我们剪裁中心区域400x300的图。
等比例压缩后再剪裁中心区域
虽然好了很多,但是还有一个明显的问题,那就是图片包含的内容太少了,因此我先把原图等比例压缩成400x1000的图片,在剪裁中心区域的400x300。
注意:如果是宽图,先把高度压成300,再把宽度等比例压缩,最后剪裁中心区域。
java代码实现
1 | package com.kangyonggan.app.util; |
上面过程仅是生成缩略图,当生成缩略图后,我们要在网站上展示缩略图,点击放大可查看原图。为此,我写了一个jQuery插件,如下。
zoomer的使用
1 | <ul class="list"> |
zoomer.js源码
1 | /** |