Canvas或drawBitmap是否在ICS中发生了变化?

时间:2012-12-06 00:15:15

标签: android canvas bitmap

我正在更新我开发的动态壁纸。壁纸当前在2.2设备上正常运行,但不在我的4.2设备上。

在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 x 256位图。然后,我使用矩阵来缩放它。

同样,这在非ICS设备上运行良好。另一个棘手的方面是我使用JNI来做一些位图数学运算,但我仍然认为问题出现在这个画布代码中。

感谢您的帮助!

1 个答案:

答案 0 :(得分: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?