Android setPixel似乎没有做任何事情。我错过了一步吗?

时间:2012-04-27 00:25:50

标签: android graphics

我正在尝试将位图上的单个像素设置为某种颜色。让我感到困惑的是,我可以画线条......

在下面的代码中,我绘制一条从0,0到200,200的行。正如预期的那样,出现一条线。

但是当我尝试在一行的末尾设置单个像素的颜色时,似乎没有任何事情发生。没有(我能看到)被渲染。我是否需要做一些特别的事情来设置单个像素的颜色?

            canvas.drawBitmap(_bm, 0, 0, null);
        canvas.drawLine(0, 0, 200, 200, paint);
        _bm.setPixel(200,200, Color.MAGENTA);

1 个答案:

答案 0 :(得分:0)

看起来你在绘制后改变位图上的像素,试试:

 _bm.setPixel(200,200, Color.MAGENTA);
 canvas.drawBitmap(_bm, 0, 0, null);
 canvas.drawLine(0, 0, 200, 200, paint);

另外,位图必须是可变的...你可以用_bm.isMutable()来检查...