图片质量、尺寸压缩

图片尺寸压缩处理

  • 所有的操作都是通过流完成的、转换成流后进行处理压缩、然后在吧处理好的流转换成Bitmap

  • 尺寸压缩修改,只是修改该图片的宽高。并不是对该图片进行裁剪

  • file文件获取图片资源

    picture

  • Bitmap直接压缩处理

    picture

图片质量压缩处理

  • 所有的操作都是通过流完成的、转换成流后进行处理压缩、然后在吧处理好的流转换成Bitmap

picture

对图片进行裁剪

picture

  • 这种需要图片自动延伸扩展的一般用 scaleType来实现
    • centerCrop 会随着ImageView的宽高,自动进行图片的等比缩放,然后展示,当缩放后图片大于ImageView的话会进行自动裁剪显示图片中间区域
    • fitXY 充满ImageView的大小,不会考虑图片本身的宽高比例
    • 其他的自行百度

Bitmap的常见方法介绍

  • 解析流

    Bitmap bitmap=BitmapFactory.decodeStream(InputStream is, Rect outPadding, Options opts)
  • 压缩Bitmap转换成输出流

    bitmap.compress(CompressFormat format, int quality, OutputStream stream);//100表示不压缩,质量最好
  • 裁剪Bitmap

    Bitmap.createBitmap(@NonNull Bitmap source, int x, int y, int width, int height,@Nullable Matrix m, boolean filter)