当我在Canvas
中创建一个新的onDraw()
时,这样:
Canvas c = new Canvas(myBitmap);
然后用它画一些东西,它不起作用。
但是,当我使用canvas
中的onDraw(Canvas canvas)
参数时,它可以正常工作。有人可以告诉我为什么吗?
答案 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作为其冗余。