为什么我不能用自己的画布画画?

时间:2012-03-16 09:42:24

标签: android canvas ondraw

当我在Canvas中创建一个新的onDraw()时,这样:

Canvas c = new Canvas(myBitmap);

然后用它画一些东西,它不起作用。

但是,当我使用canvas中的onDraw(Canvas canvas)参数时,它可以正常工作。有人可以告诉我为什么吗?

2 个答案:

答案 0 :(得分:0)

试试这个 -

Bitmap  bitmap = Bitmap.createBitmap( view.getWidth(), view.getHeight(), Bitmap.Config.ARGB_8888);
Canvas canvas = new Canvas(bitmap);
view.draw(canvas); 
bitmap.compress(Bitmap.CompressFormat.JPEG, 100, fos);

并且,请参阅Stackoverflow

中的相关问题

并尝试Sampleapp

答案 1 :(得分:0)

你得到什么样的错误?如果您只想绘制位图,请使用以下代码:

    @Override
           protected void onDraw(Canvas canvas) 
           {
                canvas.drawBitmap(bak, 0, 0, null);
           }

" bak"是一个位图。在onDraw中不需要再次创建另一个额外的Canvas作为其冗余。