1
私がちょうど描いたキャンバスの内容をビットマップにコピーする方法はありますか?キャンバスをビットマップにコピーする方法
EDIT:だけ明確にする、次のように私の現在の描画手順が動作します:
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
}
EDIT:
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
ご覧ください。多分助けてください:http://javafriend.yolasite.com/myandroid/saving-bitmap-from-surface-view http://www.tutorialforandroid.com/2010/11/drawing-with-canvas-in -android-saving.html –