您的位置:首页 > 移动开发 > Android开发

Android图片工具类:获取Bitmap,压缩

2017-09-14 20:50 337 查看
获取本地图片的Bitmap

/**
* 加载本地图片
* @param url
* @return
*/
public static Bitmap getLocalBitmap(String url) {
try {
FileInputStream fis = new FileInputStream(url);
BitmapFactory.Options options=new BitmapFactory.Options();
options.inJustDecodeBounds = false;
options.inSampleSize = 1;//此参数为1表示质量不损失
Bitmap btp =BitmapFactory.decodeStream(fis,null,options);
return btp; ///把流转化为Bitmap图片

} catch (FileNotFoundException e) {
e.printStackTrace();
return null;
}

}

将本地图片文件压缩至1M以下,保持原尺寸,损失清晰度
/**
* compress img to less than 1M
* @param bmp source Bitmap
* @param file target File specified
*/
public static void compressBmpToFile(Bitmap bmp,File file){
ByteArrayOutputStream baos = new ByteArrayOutputStream();
int options = 99;//设置开始的compress系数
bmp.compress(Bitmap.CompressFormat.JPEG, options, baos);
while (baos.toByteArray().length / 1024 > 1024) {
baos.reset();
options -= 1;
bmp.compress(Bitmap.CompressFormat.JPEG, options, baos);
}
try {
FileOutputStream fos = new FileOutputStream(file);
fos.write(baos.toByteArray());
fos.flush();
fos.close();
} catch (Exception e) {
e.printStackTrace();
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐