Android初学------图片质量压缩
2014-11-26 15:08
507 查看
public static Bitmap revitionImageSize(String path, int size) throws IOException { // 取得图片 InputStream temp = new FileInputStream(new File(path)); BitmapFactory.Options options = new BitmapFactory.Options(); // 这个参数代表,不为bitmap分配内存空间,只记录一些该图片的信息(例如图片大小),说白了就是为了内存优化 options.inJustDecodeBounds = true;//获取边框信息 // 通过创建图片的方式,取得options的内容(这里就是利用了java的地址传递来赋值) BitmapFactory.decodeStream(temp, null, options); // 关闭流 temp.close(); // 生成压缩的图片 int i = 0; Bitmap bitmap = null; while (true) { // 这一步是根据要设置的大小,使宽和高都能满足 if ((options.outWidth >> i <= size) && (options.outHeight >> i <= size)) { // 重新取得流,注意:这里一定要再次加载,不能二次使用之前的流! temp = new FileInputStream(new File(path)); // 这个参数表示 新生成的图片为原始图片的几分之一。 options.inSampleSize = (int) Math.pow(2.0D, i); // 这里之前设置为了true,所以要改为false,否则就创建不出图片 options.inJustDecodeBounds = false; bitmap = BitmapFactory.decodeStream(temp, null, options); break; } i += 1; } return bitmap; }
相关文章推荐
- Android初学------拍照之后获取没有被压缩的图片
- Android图片压缩质量参数Bitmap.Config RGB_565、 ARGB_8888的含义及用法
- android 中对图片尺度压缩和质量压缩
- Android图片压缩-大小与质量压缩
- Android加载大位图之压缩图片像素和质量参数
- android图片压缩质量参数Bitmap.Config RGB_565等的含义
- Android 图片二次采样、质量压缩
- android图片压缩质量参数Bitmap.Config RGB_565 ARGB_8888
- android 图片二次采样,质量压缩,LruCache缓存
- Android图片尺寸与质量压缩你用对了吗?inSampleSize与quality的浅析
- android图片压缩质量参数Bitmap.Config RGB_565等的含义
- android图片压缩质量参数Bitmap.Config RGB_565等的含义
- Android 图片二次采样、质量压缩
- android图片压缩质量参数Bitmap.Config RGB_565 ARGB_8888
- android 图片质量,大小压缩
- android图片压缩质量参数Bitmap.Config RGB_565 ARGB_8888
- Android 图片二次采样、质量压缩
- Android中图片压缩(质量压缩和尺寸压缩)
- Android图片质量压缩以及缩略图生成
- Android图片压缩,质量压缩和尺寸压缩两种