2

これは、この質問のシーケンス部分です: Combining 2 Images overlayed

問題は、画像サイズが大きすぎる場合、例外(メモリ不足の例外)が発生することです(ただし、画像の処理には時間がかかります)

それは可能ですか?

コード スニペットは次のようになります。

public static Bitmap overlay(Bitmap bmp1, Bitmap bmp2) {
    Bitmap bmOverlay = Bitmap.createBitmap(bmp1.getWidth(), bmp1.getHeight(), bmp1.getConfig());
    Canvas canvas = new Canvas(bmOverlay);
    canvas.drawBitmap(bmp1, new Matrix(), null);
    canvas.drawBitmap(bmp2, 0, 0, null);
    return bmOverlay;
}

そのコード ブロックは非同期タスク内にあります。

誰かがこの問題について私を助けてくれれば、本当に感謝しています。

ありがとう、よろしく、 AndD

4

2 に答える 2

2

選択の余地はないと思いますが、ビットマップをより小さなサイズに再スケーリングする必要があります...

于 2010-12-06T10:32:45.480 に答える
0

これを処理するために私が考えることができる唯一の方法は、一度にすべてをメモリに保持する必要がないように、画像を分割することです。bmp1 を保持したくない場合は、新しいビットマップを作成するのではなく、bmp2 をその上に直接描画できますが、これが目的かどうかはわかりません。

于 2010-09-16T06:40:53.207 に答える