1. 程式人生 > >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();
	}