1
有什么方法可以将我刚绘制的画布内容复制到位图中?如何将画布复制到位图
编辑:只是为了澄清,我当前的绘图过程如下:
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_bitmap [n]。
看起来不错。据推测,我不会同时看到onDraw完成的绘图(请参阅我的编辑)。那么unlockCanvasAndPost呢?我认为我不应该这样称呼它。 – Mick 2012-03-20 17:30:54
看看,也许帮助:http://javafriend.yolasite.com/myandroid/saving-bitmap-from-surface-view http://www.tutorialforandroid.com/2010/11/drawing-with-canvas-in -Android-saving.html – 2012-03-20 20:24:42