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

我在画布中绘制位图,并且想要在新的位图中获得结果,但是我仍然以黑色屏幕作为结果。 这是我的代码,是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中绘制一些区域。


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

链接地址: http://www.djcxy.com/p/63781.html

上一篇: Drawing a bitmap in a canvas after calling setBitmap doesn't work

下一篇: Tiling a Bitmap on a Canvas