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); }