0
ImageView testImage = (ImageView) findViewById(R.id.imageView1);
Bitmap bitmap = ((BitmapDrawable)testImage.getDrawable()).getBitmap();
bitmap.setHasAlpha(true);
bitmap.setPixel(10, 10, Color.argb(255,255,255,255));

onCreate 内のメイン アクティビティ内でこのコードを実行しようとすると、プログラムがすぐにクラッシュします。

私は何を間違っていますか?私がしたいのは、ビットマップ内の 1 つのピクセルを変更することだけです

4

2 に答える 2

0

例外は何ですか?デフォルトでビットマップは不変であることを思い出したので、変更することはできません。ビットマップのコピーを作成する必要があります。

于 2013-10-05T01:55:38.120 に答える
0

これはうまくいきます

    ImageView testImage = (ImageView) findViewById(R.id.imageView1);
    BitmapFactory.Options options = new BitmapFactory.Options();
    Resources res = context.getResources();
    options.inMutable = true;
    Bitmap bitmap = BitmapFactory.decodeResource(res, R.drawable.testImage,
                    options);
    bitmap.setPixel(10, 10, Color.argb(255,255,255,255));
于 2014-11-07T06:40:04.020 に答える