调用setBitmap后在画布中绘制位图不起作用

时间:2011-05-09 13:30:06

标签: android canvas bitmap

我在画布中绘制一个位图,我希望将结果放在一个新的位图中,但结果仍然是黑屏。 这是我的代码,是onDraw(Canvas canvas)方法的一部分:

if(bitmapTemplate == null){
    canvasBis = new Canvas();
            bitmapTemplate = Bitmap.createBitmap(canvas.getWidth()+ 30,canvas.getHeight(),Bitmap.Config.ARGB_8888);
            drawZones(canvasBis,bitmapTemplate);
}
 
  bitmapRes = Bitmap.createBitmap(canvas.getWidth()+ 30,canvas.getHeight(),Bitmap.Config.ARGB_8888);
canvas.setBitmap(bitmapRes);
canvas.drawBitmap(bitmapTemplate,matrix,null);

我的目标是通过在现有位图(bitmapTemplate)上应用矩阵来获得新的位图(bitmapRes)。使用此代码我总是有一个黑屏,但当我删除线canvas.setBitmap(bitmapRes)我有一个结果,但不是在一个新的位图。有什么想法吗?也许透明度?提前谢谢。

drawZones在bitmapTemplate中绘制一些区域。

1 个答案:

答案 0 :(得分:0)

您应该尝试使用Canvas(位图)构造函数而不是空构造函数。这会将位图设置为画布。