我正在寫一個直接繪製到視圖的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