2011-06-16 99 views
7

中创建位图数组我想创建一个位图数组。可能吗? 如果是,那么声明位图数组的方法是哪种。以及如何初始化它?是否有可能在android

谢谢

回答

27

你可以使用ArrayList:

ArrayList<Bitmap> bitmapArray = new ArrayList<Bitmap>(); 
bitmapArray.add(myBitMap); // Add a bitmap 
bitmapArray.get(0); // Get first bitmap 

或只是一个类似位图的数组:

Bitmap[] bitmapArray = new Bitmap[]; 

不过要小心你的图像的大小。如果您尝试存储大量大图像,您可能会遇到一些麻烦。

1

就像任何阵列,例如:

Bitmap[] bitmaps = new Bitmap[] { BitmapFactory.decodeResource(...) /* etc. */ } 

中没有任何的事实特别是在阵列中的对象是Bitmap秒。

+2

请谨慎操作,因为如果加载大量/太多位图,它可能会很快导致内存不足问题。 – dymmeh 2011-06-16 12:42:52

0

可以使位图aaray在这样的机器人,

byte[] bMapArray= new byte[buf.available()]; 
      buf.read(bMapArray); 
      Bitmap bMap = BitmapFactory.decodeByteArray(bMapArray, 0, bMapArray.length); 
      image.setImageBitmap(bMap); 

使用细节此Android开发者documentation

使用this

2

是的,它是可能的, 如果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}; 

由于 迪帕克

0

所有上面/下面的解决方案是可能的,但一种常见的情况下实际上是用一个HashMap,因为它是与图片下载和异步位图装载机的情况。

一个位图是一个对象可能是其他人(字符串数组,整数数组等),所以你可能会修改你也发现存储位图数组的方法。