首页 > 代码库 > Android图片缩放,压缩总结(inSampleSize,Matrix比较)

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();
	}


Android图片缩放,压缩总结(inSampleSize,Matrix比较)