Androidでビットマップに描画する方法を理解し、元に戻す機能のためにこれらの変更されたビットマップのコピーを保持しようとしています。
Bitmap b = ...
Paint p = new Paint();
canvas.drawBitmap(b, new Matrix(), null);
canvas.drawCircle(0,0,20,20);
//does Bitmap b have the circle drawn on it next time?
または、キャンバスで描画された後にビットマップを取得するにはどうすればよいですか(キャンバスの描画によって適用された変更でビットマップのスタックを保持したい)?多分私はこれについて完全に間違っていると思います。
new Canvas(Bitmap bitmap)
を使用して、Canvas
に描画操作の結果を含むBitmap
を提供します。
Bitmap
をCanvas
で描画した元のdrawBitmap
は変更されません。
ユーザーが各操作を実行した後、次のことができます。
別のアプローチは、 LayerDrawable
を使用して、連続する描画操作を互いに積み重ねることです。ユーザーが実行された個々の操作を無効にできるようにすることを想像できます。
あなたはここでテキストを描く方法の完全なガイドを見ることができます:
https://www.skoumal.net/en/Android-how-draw-text-bitmap/
短編小説:
ビットマップをコピーして変更可能にし、それに基づいてCanvasを作成します。