BitmapFactory如何实现图片压缩

 时间:2026-02-13 11:44:10

1、在项目中res文件夹中创建一个raw文件夹,把rabbit图片放进去。

BitmapFactory如何实现图片压缩

2、在layout的布局文件activity_main中添加一个ImageView,设置id为imgbg。

BitmapFactory如何实现图片压缩

3、在MaiActivity中创建一个bitmap_test方法,通过is读取raw文件夹中的rabbit图片,然后使用的BitmapFactory的options重新设置图片,并返回bitdraw。

private  BitmapDrawable  bitmap_test(){

   BitmapDrawable  bitdraw=null;

   BitmapFactory.Options opt = new BitmapFactory.Options();

   opt.inPreferredConfig = Bitmap.Config.RGB_565;

   //opt.inSampleSize=10;

   try {

       //读取图片并设置opt

       InputStream is = context.getResources().openRawResource(R.raw.rabbit);

       Bitmap bitmap = BitmapFactory.decodeStream(is,null, opt);

       is.close();

       bitdraw=new  BitmapDrawable(context.getResources(),bitmap);

   }catch (Exception e){

       e.printStackTrace();

   }

   return   bitdraw;

}

BitmapFactory如何实现图片压缩

4、在onCreate中通过ImageView的setImageDrawable设置bitmap_test方法返回的bitdraw为显示的图片。

BitmapFactory如何实现图片压缩

5、编译运行后我们发现内存的使用还是比较大的。

BitmapFactory如何实现图片压缩

6、现在我们把opt的inSamplesSize设置为10,也就是把图片压缩为之前的10分之一,这个比例根据自己需要设置。

BitmapFactory如何实现图片压缩

7、再次编译运行,我们发现资源占用少了好多,连1MB都不到,因为图片被压缩了。

BitmapFactory如何实现图片压缩

8、我们可以把ImageView中的with与height设置为wrap_content,查看图片的真是大小,运行后我们发现图片确实变小了。

BitmapFactory如何实现图片压缩

  • 怎样快速实现图片压缩
  • 【Android】BitmapFactory.Options内存溢出
  • Factory Method - 工厂方法
  • Bitmap 使用时候注意什么
  • 图片压缩大小清晰度测试
  • 热门搜索
    北京周边 旅游 浙江金华旅游 理县旅游攻略 旅游区划 日本九州旅游攻略 呼伦贝尔旅游地图 旅游产品营销方案 内蒙古旅游景点介绍 旅游协会 华山旅游线路