Android圖片縮放,壓縮總結(inSampleSize,Matrix比較)
阿新 • • 發佈:2019-02-06
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();
}