我想创建一个位图数组。可能吗? 如果是,那是声明Bitmap数组的方法。以及如何初始化它?
谢谢
答案 0 :(得分:28)
你可以使用Arraylist:
ArrayList<Bitmap> bitmapArray = new ArrayList<Bitmap>();
bitmapArray.add(myBitMap); // Add a bitmap
bitmapArray.get(0); // Get first bitmap
或只是一个位图数组,如:
Bitmap[] bitmapArray = new Bitmap[];
尽管如此,请注意图像的大小。如果你试图存储很多大图像,你可能会遇到一些麻烦。
答案 1 :(得分:3)
是的,这是可能的, 如果bitmap1和bitmap2是位图的对象。我可以按如下方式将它们分配给数组。
Bitmap bitmap1 = BitmapFactory.decodeResource(getResources(),R.drawable.a_thumb);//assign your bitmap;
Bitmap bitmap2 = BitmapFactory.decodeResource(getResources(),R.drawable.anotherimage);//assign your bitmap;
Bitmap[] arrayOfBitmap = {bitmap1, bitmap2};
由于 迪帕克
答案 2 :(得分:1)
就像任何数组一样,例如:
Bitmap[] bitmaps = new Bitmap[] { BitmapFactory.decodeResource(...) /* etc. */ }
数组中的对象是Bitmap
s。
答案 3 :(得分:0)
你可以像这样在android中创建位图数组,
byte[] bMapArray= new byte[buf.available()];
buf.read(bMapArray);
Bitmap bMap = BitmapFactory.decodeByteArray(bMapArray, 0, bMapArray.length);
image.setImageBitmap(bMap);
使用此Android开发人员documentation了解详情。
也使用this
答案 4 :(得分:0)
所有上述/下面的解决方案都是可能的,但常见的情况是使用HashMap,就像图像下载器和异步位图加载器一样。
Bitmap是一个对象,可能是其他对象(String数组,整数数组等......),因此您可以修改那些也用于存储位图数组的方法。