2

BitmapDrawable の複製に問題があります。この投稿で答えを試してみましたが、「浅い」コピーが作成されます。オリジナルに影響を与えずにクローンのピクセルを変更できるように、「深い」コピーが必要です。

私もこれを試しました:

    Bitmap bitmap = bdOriginal.getBitmap();
    BitmapDrawable bdClone = new BitmapDrawable(getResources(), bitmap.copy(bitmap.getConfig(), true));

しかし、Bitmap.copy() の可変パラメーターを「true」に設定しても、不変のクローンが作成されるようです。つまり、カラー フィルターはクローンを変更するようには見えません。私はそれを間違っていますか?(編集: デバッガーを使用して bitmap.mIsMutable = true を確認しました)

要約すると、オリジナルに影響を与えずにカラー フィルターで変更できる BitmapDrawable のクローンが必要です。助言がありますか?

前もって感謝します...

4

1 に答える 1

1
  1. Bitmap同サイズで新規作成。
  2. この新しいキャンバスを作成するBitmap
  3. Bitmapこのキャンバスに最初の絵を描いてください。

例:

Bitmap copy = Bitmap.createBitmap(original.getWidth(), original.getHeight(), original.getConfig());
Canvas copiedCanvas = new Canvas(copy);
copiedCanvas.drawBitmap(original, 0f, 0f, null);
于 2013-01-11T09:04:07.507 に答える