0

我陷入了困境。我在可绘制文件夹中有一组 10 张图像。在我的代码中,我只有图像名称。例如“elephant.png”,我想要图像的字节数组(可绘制)对应于图像名称。

String imageName = getResources().getResourceEntryName(GroupIconAdapter.mThumbIds[position]);

从这里我得到图像名称,我想要字节数组。

有可能吗?

谢谢

4

3 回答 3

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();
于 2012-12-27T13:05:54.387 回答
1

将此图像放入您的assets目录中,您可以通过这种方式访问

String url = "file:///android_asset/elephant.png";
于 2012-12-27T13:01:10.743 回答
1

我认为这种方式应该向右移动

首先我应该把我的图片放在资产文件夹中,然后制作相同的drawbles

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

这样我们就可以得到图片名称的drawable和对应的字节数组。

谢谢

于 2012-12-27T16:45:38.167 回答