android 上传图片(压缩) Bitmap 转File
来源:互联网 发布:海洋cms视频 编辑:程序博客网 时间:2024/05/18 03:10
/** * 压缩图片(质量压缩) * @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(); } } }
0 0
- android 上传图片(压缩) Bitmap 转File
- android 上传图片(压缩) Bitmap 转File
- android 图片工具类 (图片压缩 图片长按缓存 Bitmap转Base64 Bitmap转File File转Bitmap 打开系统相册解析URI)
- android bitmap压缩图片
- android 压缩图片bitmap
- android bitmap图片压缩
- Android图片压缩(质量压缩和尺寸压缩 File, Stream和Bitmap)
- Android图片压缩(质量压缩和尺寸压缩 File, Stream和Bitmap)
- Android图片压缩(质量压缩和尺寸压缩)&Bitmap转成字符串上传
- Android图片压缩(质量压缩和尺寸压缩)&Bitmap转成字符串上传
- Android图片压缩(质量压缩和尺寸压缩)&Bitmap转成字符串上传
- Android图片压缩(质量压缩和尺寸压缩)&Bitmap转成字符串上传
- Android图片压缩(质量压缩和尺寸压缩)&Bitmap转成字符串上传
- Android图片压缩(质量压缩和尺寸压缩)&Bitmap转成字符串上传
- Android图片压缩(质量压缩和尺寸压缩)&Bitmap转成字符串上传
- Android图片压缩(质量压缩和尺寸压缩)&Bitmap转成字符串上传
- Android图片压缩(质量压缩和尺寸压缩)&Bitmap转成字符串上传
- Android图片压缩(质量压缩和尺寸压缩)&Bitmap转成字符串上传
- Spark经典案例1-通过采集的气象数据分析每年的最高温度
- 模板:如何判断模板参数T为内建数据类型
- 孤儿进程与僵尸进程[总结]
- 大神总结的App重构经验
- c——内置类型提升
- android 上传图片(压缩) Bitmap 转File
- TCP socket网线断开判断
- 持久层框架之MyBatis
- 3des加密Android和iOS的加密算法有时候位数是不同的。解决办法
- SpringMVC中使用@RequestBody,@ResponseBody注解实现Java对象和XML/JSON数据自动转换(上)
- 当LC_ALL等于C以后
- POJ 1013 Counterfeit Dollar 已被翻译
- 开发团队的效率
- LeetCode 5.Longest Palindromic Substring (Python)兼翻译