从存储在可绘制文件夹中的位图获取位图信息

我想读取一个位于我的可绘制文件夹中的位图,并将其存储为位图variables,以便我可以将其设置为背景。 最好的方法是使用“文件阅读器”吗? 喜欢

Bitmap decodeFile (String pathName) method 

或者有没有办法像这样设置它:

  Bitmap bmp = R.drawable."bitmapFileName"; 

(我试过这个,但返回一个int,只是想知道我是否在正确的轨道上)

任何帮助将是伟大的:)

R.drawable."bitmapFileName"实际上只是一个整数,因为它是项目R类的一个索引(静态整数)(详见这里 )。 你可以像这样从资源的文件夹加载你的位图:

 Bitmap image = BitmapFactory.decodeResource(getResources(), R.drawable.yourBitmap); 

我在Android开发社区find了这个代码。

我通常使用资产文件夹

 InputStream is = parentActivity.getResources().getAssets().open(iconFile); Bitmap bmp = BitmapFactory.decodeStream(is); BitmapDrawable bitmapDrawable = new BitmapDrawable(is); 

然后只是yourView.setBackgroundDrawable(bitmapDrawable);

可以通过名称加载绘图或位图。 这里是一个例子:

 public Drawable getImageByName(String nameOfTheDrawable, Activity a){ Drawable drawFromPath; int path = a.getResources().getIdentifier(nameOfTheDrawable, "drawable", "com.mycompany.myapp"); Options options = new BitmapFactory.Options(); options.inScaled = false; Bitmap source = BitmapFactory.decodeResource(a.getResources(), path, options); drawFromPath = new BitmapDrawable(source); return drawFromPath; } 

你当然可以返回位图,而不是绘制。

Drawbale d = getImageByName(“mageFileName”,this);

 /* * You can get Bitmap from drawable resource id in the following way */ BitmapDrawable drawable = (BitmapDrawable)context.getResources() .getDrawable(drawableId); bitmap = drawable.getBitmap();