Android读取不同位置(drawable,asset,SDCard)下的图片 方法总结

来源:互联网 发布:js渲染 编辑:程序博客网 时间:2024/05/16 05:05

方法一:如果 已经将图片保存到drawable目录下,

          通过图片id获得Drawable或者Bitmap

 (1)通过图片id获得Drawable

 Drawable drawable=getResource().getDrawable(R.drawable.aa);

(2)通过图片id获得Bitmap

  itmap bitmap=BitmapFactory.decodeResource(gerResource(),R.id.aa);

 

方式二:已将图片保存到assest目录下,知道图片的名称,通过inputstream获得图片Drawabl

或者 Bitmap

  AssetManager asm=getAssetMg();

 InputStream is=asm.open(name);//name:图片的名称

(1)获得Drawable
Drawable da = Drawable.createFromStream(is, null);

(2)获得Bitmap
Bitmap bitmap=BitmapFactory.decodeStream(is);

方式三: 图片保存在sdcard,通过图片的路径

String imgFilePath = Environment.getExternalStorageDirectory().toString()+ “/DCIM/device.png”;

(1)文件输入流

FileInputStream fis = new FileInputStream(new File(imgFilePath));//文件输入流

Bitmap bmp = BitmapFactory.decodeStream(fis);

(2) Bitmap bit = BitmapFactory.decodeFile("/sdcard/android.bmp");      

iv.setImageDrawable(Drawable.createFromPath(new File(Environment.getExternalStorageDirectory(), "camera.jpg").getAbsolutePath()));







0 0