【问题标题】:How to store values in a bitmap array into an int array?如何将位图数组中的值存储到 int 数组中?
【发布时间】:2014-02-21 05:59:08
【问题描述】:

我有一个包含 6 个图像的位图数组。我希望将每个图像制作成圆形并存储在一个 int 数组中。我使用 for 循环来获取每个元素,并且在每次迭代中应用该方法,以便在执行该方法后获得圆形图像。

现在我想将这些图像存储在一个整数数组中。这怎么可能?

这是我的位图数组:

Bitmap[] images = { BitmapFactory.decodeResource(getResources
                   (),R.drawable.prof_pic_a),BitmapFactory.decodeResource(getResources   
                   (),R.drawable.prof_pic_b),BitmapFactory.decodeResource(getResources(),R.drawable.prof_pic_c,BitmapFactory.decodeResource(getResources(),R.drawable.prof_pic_d,BitmapFactory.decodeResource(getResources(),R.drawable.prof_pic_e,BitmapFactory.decodeResource(getResources(),R.drawable.prof_pic_f)}; 

这是我的整数数组:

int[] rounded=new int[images.length];

这是我的方法调用:

round=getCircularBitmapFrom(images[i]);

【问题讨论】:

  • 您可以使图像循环,但您需要将图像存储在某处并获取对它的引用。如果您不想丢失原始图像,您可能需要一份相同的副本。
  • 你可以在stackoverflow上搜索如何将位图保存在内存中。
  • @GopalRao 我想将这个最终数组传递到我的 Listview 中的图像视图中。这就是为什么要这样做。那错了吗?
  • @GopalRao 我是对的。我得到了想要的输出 :) 但还有一个问题。你能帮我解决这个问题吗?
  • @GopalRao okie :) 我应该在这里问还是作为另一个问题?

标签: android arrays bitmap


【解决方案1】:

首先,将位图图像转换并存储在数组中并不是一个好的选择,因为这可能会导致内存泄漏。

您不能将转换后的位图保存为 int 数组,您可以使用相同的位图数组。

如果您的图像是静态图像,则转换图像并将其存储在您的可绘制文件夹中,以便您可以使用整数数组。

如果您的图像是动态图像,我建议在您的图像视图之上使用叠加视图,以便您的图像的圆形部分可见。这将减少转换和存储开销。

【讨论】:

    猜你喜欢
    • 2017-10-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-07-05
    • 2011-09-19
    • 2016-10-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多