android 上传图片(压缩) Bitmap 转File
2017-02-07 17:51
1166 查看
/** * 压缩图片(质量压缩) * @param bitmap */ public static File compressImage(Bitmap bitmap) { ByteArrayOutputStream baos = new ByteArrayOutputStream(); bitmap.compress(Bitmap.CompressFormat.JPEG, 100, baos);//质量压缩方法,这里100表示不压缩,把压缩后的数据存放到baos中 int options = 100; while (baos.toByteArray().length / 1024 > 500) { //循环判断如果压缩后图片是否大于500kb,大于继续压缩 baos.reset();//重置baos即清空baos options -= 10;//每次都减少10 bitmap.compress(Bitmap.CompressFormat.JPEG, options, baos);//这里压缩options%,把压缩后的数据存放到baos中 long length = baos.toByteArray().length; } SimpleDateFormat format = new SimpleDateFormat("yyyyMMddHHmmss"); Date date = new Date(System.currentTimeMillis()); String filename = format.format(date); File file = new File(Environment.getExternalStorageDirectory(),filename+".png"); try { FileOutputStream fos = new FileOutputStream(file); try { fos.write(baos.toByteArray()); fos.flush(); fos.close(); } catch (IOException e) { BAFLogger.e(TAG,e.getMessage()); e.printStackTrace(); } } catch (FileNotFoundException e) { BAFLogger.e(TAG,e.getMessage()); e.printStackTrace(); } recycleBitmap(bitmap); return file; }
//释放
public static void recycleBitmap(Bitmap... bitmaps) {
if (bitmaps==null) {
return;
}
for (Bitmap bm : bitmaps) {
if (null != bm && !bm.isRecycled()) {
bm.recycle();
}
}
}
相关文章推荐
- android 上传图片(压缩) Bitmap 转File
- Android 中解决图片加载OOM 之 bitmap 压缩显示,压缩上传
- android 图片工具类 (图片压缩 图片长按缓存 Bitmap转Base64 Bitmap转File File转Bitmap 打开系统相册解析URI)
- Android上传头像,图片剪裁,压缩图片
- android 类似于微博拍照上传,压缩图片,避免oom
- Android应用开发之图片(Bitmap)压缩(一)---------Bitmap与BitmapFactory的认识及图片的存储形式大小的实验
- android bitmap压缩图片
- android 开发上传图片遇到返回 FileNotFoundException
- Android上传头像,图片剪裁,压缩图片
- Android BitmapFactory图片压缩处理(大位图二次采样压缩处理)
- android 拍照或者图库选择 压缩后 图片 上传
- Android Bitmap图片压缩,图片倒影
- android图片压缩质量参数Bitmap.Config RGB_565等的含义
- Android上传头像,图片剪裁,压缩图片
- Android应用开发之图片(Bitmap)压缩(二)---------质量压缩
- Android bitmap 图片缩放,压缩处理
- Android BitmapFactory 图片压缩
- android bitmap图片压缩,打时间水印。
- 图片压缩上传 Android
- [Android算法] bitmap 将图片压缩到指定的大小