0

我有一个我正在创建的位图......

myBitmap=BitmapFactory.decodeResource(res, R.drawable.picture, options);

然后我使用 Bitmap.createScaledBitmap 对其进行缩放

然后当我画它时,我会像这样重新着色它:

c.drawBitmap(myScaledBitmap, 0, 0, myPaint);

这行得通,但是当我实时重新着色时,性能会受到很大影响。

我现在要做的是在循环开始运行之前创建一个不同的颜色位图,我认为这将是一件很简单的事情,但我无法解决它,并会感激任何指针。

唯一的另一种方法是让我实际创建不同的.png,但这会有点痛苦,所以必须有一种方法可以在代码中做到这一点?谢谢。

4

1 回答 1

0

它并不太复杂。你拥有大部分。在循环之外,您几乎可以只使用已有的代码。我认为这样的事情应该有效:

Bitmap coloredBitmap = Bitmap.createBitmap(myScaledBitmap.getWidth(), myScaledBitmap.getHeight(), Config.ARGB_8888);
Canvas canvas = new Canvas(coloredBitmap);
canvas.drawBitmap(myScaledBitmap, 0, 0, myPaint);

现在只需coloredBitmap在循环中使用。

于 2013-01-31T02:28:18.687 回答