我正在编写一款 Android 应用程序,它可以在 View 的 onDraw 事件中直接绘制到画布上。
我正在进行每个像素点的单独绘制,为此我使用类似以下的方法:
for (int x = 0; x < xMax; x++) {
for (int y = 0; y < yMax; y++){
MyColour = CalculateMyPoint(x, y);
canvas.drawPoint(x, y, MyColour);
}
}
这里的问题在于,由于CalculateMyPoint例程是一种昂贵的方法,所以绘制需要很长时间。
是否有更有效的方法来绘制到画布上?例如,我应该绘制到位图上,然后在onDraw事件中将整个位图绘制到画布上吗?或者,评估我的颜色并填充一个数组,onDraw方法可以使用该数组来绘制画布?
目前,我的应用程序的用户将能够更改影响画布绘制的参数。这非常缓慢。