我正在写一个直接绘制到视图的onDraw事件上的画布的android应用程序。绘制到画布
我画的东西,包括单独绘制每个像素,为了这个,我使用类似:
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方法可用于绘制画布的数组?
我的应用程序的用户将能够更改影响画布上绘图的参数。这在目前非常缓慢。
什么使CalculateMyPoint需要很长时间才能处理? – Adam 2010-03-21 14:03:43
我有一个合理的计算来计算任何给定像素的颜色。我只是想知道是否最好计算每个像素的颜色而不是视图的onDraw事件。 – Mattl 2010-03-21 17:30:30
您是否必须单独绘制每个像素?因为Droid或nexus上的像素超过40万像素,我觉得有更多机会优化CalculateMyPoint的调用次数而不是运行时。 – jqpubliq 2010-03-21 17:54:11