bitmap的用法

BitMap代表一张位图,扩展名可以是.bmp或者.dib。位图是Windows标准格式图形文件,它将图像定义为由点(像素)组成,每个点可以由多种色彩表示,包括2、4、8、16、24和32位色彩。例如,一幅1024×768分辨率的32位真彩图片,其所占存储字节数为:1024×768×32/8=3072KB
位图文件图像效果好,但是非压缩格式的,需要占用较大存储空间,不利于在网络上传送。jpg格式则恰好弥补了位图文件这个缺点。

在android系统当中,bitmap是图像处理最重要的类之一。用它可以获取图像文件信息,进行图像剪切、旋转、缩放等操作,并可以指定格式保存图像文件。

BitmapFactory是Android API提供的对象,可以将图片文件转换成Bitmap对象。

1.从资源文件中获取

Bitmap rawBitmap = BitmapFactory.decodeResource(getResources(),R.drawable.img1); 

2.从SD卡中得到图片

1 (方法1) 
2 String SDCarePath=Environment.getExternalStorageDirectory().toString(); 
3 String filePath=SDCarePath+"/"+"haha.jpg"; 
4 Bitmap rawBitmap1 = BitmapFactory.decodeFile(filePath, null); 
5 (方法2)
6 InputStream inputStream=getBitmapInputStreamFromSDCard("haha.jpg"); 
7 Bitmap rawBitmap2 = BitmapFactory.decodeStream(inputStream); 

 附:将Android系统图库中图片转换成Bitmap对象

Intent intent = new Intent();
intent.setAction(Intent.ACTION_GET_CONTENT);
intent.setType("image/*");
startActivityForResult(intent, 1);
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
  if (resultCode == RESULT_OK) {
    Uri uri = data.getData();
    ContentResolver cr = this.getContentResolver();
    try {
      Bitmap bitmap = BitmapFactory.decodeStream(cr.openInputStream(uri));
      second_iv.setImageBitmap(bitmap);
    } catch (FileNotFoundException e) {  
      e.printStackTrace();
    }
  }
  super.onActivityResult(requestCode, resultCode, data);
}

  

原文地址:https://www.cnblogs.com/soup227/p/5461260.html