0

画像の上にテキストを追加したい。SDカードから画像を読み取り、ビットマップ変数に設定しました。

Bitmap myBitmap = BitmapFactory.decodeFile(imgFile.getAbsolutePath());

次に、それをキャンバスに追加しました。私が使用したコードを以下に示します。

Canvas c = new Canvas(myBitmap);

しかし、この行を追加すると、その時点でアプリがクラッシュしました。なぜそれがあり、どうすればこれを解決できますか?

注:上記のコード行はonActivityResultメソッド内にあります。

4

1 に答える 1

0

あなたのアプリがクラッシュする

BitmapFactory.decodeFile

不変のビットマップを返し、public Canvas (Bitmap bitmap)可変のビットマップのみを受け入れます。

問題を解決するには、不変のビットマップを可変に変換する必要があります。ここでメソッドを参照してください

> = API 11のみをターゲットとする場合は、次を使用できます

final BitmapFactory.Options options = new BitmapFactory.Options();
options.inMutable = true;
Bitmap myBitmap = BitmapFactory.decodeFile(imgFile.getAbsolutePath(), options);
于 2012-08-14T17:32:54.790 に答える