2 つのキャンバスを重ねる方法を考えています。一方にはビットマップがあり、もう一方には実際に描画するものがあります。
基本的に私が持っているものは次のとおりです。
Bitmap newBitmap = Bitmap.createBitmap(img.getWidth(), img.getHeight(),
Bitmap.Config.RGB_565);
Canvas newCanvas = new Canvas();
newCanvas.setBitmap(newBitmap);
if (img != null) {
newCanvas.drawBitmap(img, 0, 0, null);
}
mBitmap = newBitmap;
imageCanvas = newCanvas;
mCanvas = new Canvas();
drawBitmap = Bitmap.createBitmap(img.getWidth(), img.getHeight(),
Bitmap.Config.RGB_565);
mCanvas.setBitmap(drawBitmap);
mCanvas
はユーザーが描画する場所imageCanvas
であり、ビットマップが描画される場所です。
画像は白黒で、常に黒い線が透けて見えるようにしたいので、スタックの一番上に配置します。
画像の白い部分が透明である必要があることを確認する必要があるようです。これは、画像をロードするときに行う必要があるかもしれません。
では、これら 2 つのキャンバスを同じビューに重ねてdrawLine
、一番下のキャンバスに表示するにはどうすればよいでしょうか。
私はこの質問を見ましたが、似ているとは思いません: