我陷入了困境。我在drawable文件夹中有一组10个图像。 在我的代码中,我只有图像名称。例如“elephant.png”,我希望图像的字节数组(可绘制)与图像名称相对应。
String imageName = getResources().getResourceEntryName(GroupIconAdapter.mThumbIds[position]);
从这里我得到图像名称,我想要字节数组。
有可能吗?
由于
答案 0 :(得分:3)
尝试:
// get Drawable id
int drawableid =getResources().getIdentifier(GroupIconAdapter.mThumbIds[position],
"drawable",this.getPackageName());
Drawable drawable_img = getResources().getDrawable(drawableid); // get Drawable
Bitmap drawable_bitmap = ((BitmapDrawable)drawable_img).getBitmap();
ByteArrayOutputStream outstream = new ByteArrayOutputStream();
drawable_bitmap.compress(Bitmap.CompressFormat.JPEG, 100, outstream);
// get byte array here
byte[] bytearray_of_drawable = outstream.toByteArray();
答案 1 :(得分:1)
将此图片放入资源目录,您可以这样访问
String url = "file:///android_asset/elephant.png";
答案 2 :(得分:1)
我认为这种方式应该向右移动
首先,我应该将我的图像放在assets文件夹中,然后为相同的
制作图片String filePath="file:///android_asset/images/test.png";
Drawable d = Drawable.createFromPath(filePath);
然后执行相应的流程以生成字节数组 -
Bitmap drawable_bitmap = ((BitmapDrawable)d).getBitmap();
ByteArrayOutputStream outstream = new ByteArrayOutputStream();
drawable_bitmap.compress(Bitmap.CompressFormat.JPEG, 100, outstream);
// get byte array here
byte[] bytearray_of_drawable = outstream.toByteArray();
这样我们就可以获得图像名称的可绘制和相应的字节数组。
由于