Android图片缩放,压缩总结(inSampleSize,Matrix比較)
Android中常常会遇到须要对图片进行缩放及压缩的操作,以下列出3种图片缩放方法:
一.图片缩放
1.inSampleSize(採样率)
长处:效率较高,解析速度快
缺点:採样率inSampleSize的取值仅仅能是2的次方数(比如:inSampleSize=15,实际取值为8;inSampleSize=17,实际取值为16;实际取值会往2的次方结算),因此该方法不能精确的指定图片的大小
2.Matrix
长处:能够精确地指定图片的缩放大小
缺点:是在原bitmap的基础之上生成的,占内存,效率低.
3.ThumbnailUtils
2.2新加的类,实际上是将上述两种方法进行结合并做了封装.
二.图片压缩
往往图片压缩是为了节省网络流量,进行网络传输,一般须要将图片压缩成byte[] 数组.
public static byte[] BitmapToByte(Bitmap bitmap) { ByteArrayOutputStream baos = new ByteArrayOutputStream(); bitmap.compress(CompressFormat.PNG, 80, baos);//当中80參数表示要压缩的比例 return baos.toByteArray(); }