Java 如何将画布复制到位图中

Java 如何将画布复制到位图中,java,android,Java,Android,有没有办法把我刚才画的画布的内容复制到位图中 编辑:为了澄清,我当前的绘图过程如下所示: Canvas canvas = holder.lockCanvas(); if (canvas != null) { onDraw(canvas); // this does all the drawing // at this point I would like to copy the canvas into a bitmap holder.unlockCanvasAndPost(ca

有没有办法把我刚才画的画布的内容复制到位图中

编辑:为了澄清,我当前的绘图过程如下所示:

Canvas canvas = holder.lockCanvas();

if (canvas != null)
{
  onDraw(canvas); // this does all the drawing

  // at this point I would like to copy the canvas into a bitmap

  holder.unlockCanvasAndPost(canvas); // this makes the canvas visible to the user
}
编辑:查看发布的第一个答案,我编写了以下代码:

if (grab_screen == -1) // draw and show on screen as normal
{
    Canvas canvas = holder.lockCanvas();
    if(canvas != null)
    {
        onDraw(canvas);
        holder.unlockCanvasAndPost(canvas);
    }                   
}
else // draw into screengrab_bitmap[grab_screen]
{
    Canvas canvas = new Canvas(screengrab_bitmap[grab_screen]);
    onDraw(canvas);
    grab_screen = -1;
}

这意味着,如果我将grab_screen设置为n,那么在下一次调用onDraw时,图像将写入screengrab_位图[n]。

创建一个“空”位图,将其分配给画布(新画布(newBitmap)),在该画布中绘制内容。在画布上绘制的所有内容都将在位图中绘制

创建一个“空”位图,将其分配给画布(新画布(newBitmap)),在该画布中绘制内容。在画布上绘制的所有内容都将在位图中绘制

看起来不错。大概我不会同时看到onDraw绘制的图形(请参见我的编辑)。那解锁的画布呢?我想我不应该这么叫它。看一看,也许有帮助:看起来不错。大概我不会同时看到onDraw绘制的图形(请参见我的编辑)。那解锁的画布呢?我想我不应该这么称呼它。看一看,也许有帮助: