2012-12-06 22 views
0

我正在更新我開發的動態壁紙。該壁紙當前正在2.2設備上正確運行,但不在4.2設備上。Canvas或drawBitmap在ICS中改變了嗎?

在ICS設備上,似乎只有最後一列被正確繪製。例如,在座標系中,如果我的手機是420 x 720(不確定確切尺寸),則只繪製像素(420,0)到(420,720)。其餘的是黑色/透明的。

下面是我使用的代碼:https://github.com/gjtorikian/Earthbound-Battle-Backgrounds/blob/master/src/com/miadzin/livewallpaper/earthbound/EarthboundLiveWallpaper.java#L243

首先,我畫一個256×256位。然後,我使用矩陣來縮放它。

再次,這在非ICS設備上正常工作。另一個棘手的方面是我使用JNI來完成一些位圖數學,但我仍然認爲問題出在這個畫布代碼的某處。

感謝您的幫助!

回答

0

好的,過了幾天我終於明白了。

創建我的位圖後,我需要每個像素設置在Java中:

for (int x = 0; x < 254; x++) { 
    for (int y =0; y < 254; y++) { 
     bmp.setPixel(x, y, Color.argb(255, 0, 0, 0)); 
    } 
} 

的問題是:爲什麼只針對ICS?