3

私はビットマップオブジェクトを持っています。

ビットマップのごく一部を表す Region オブジェクトがあります。

その特定の領域のビットマップ オブジェクトから描画を削除し、その部分を透明にしたい..

どうやってするの?何か助けて....

私はAndroid api-level 8..を使用しています。

4

1 に答える 1

4

を使用して単純にピクセルを透明にすることができるmBitmap.setPixel (100,100,Color.TRANSPARENT);ため、基本的な考え方はすべてのピクセルを反復して透明にすることですが、あまりにも多くのピクセルを反復する必要がある場合は遅くなる可能性があります。

また

PorterDuffXferMode一部を透明にするために使用できます。

例として、以下のようにペイント オブジェクトを作成し、それをキャンバスに渡します。

Paint mPaint = new Paint();
mPaint.setXferMode(new PorterDuffXferMode(PorterDuff.Mode.CLEAR));

以下で説明するように、キャンバスに渡すことができます。

 Canvas c = new Canvas(mBitmap);
 c.drawCircle(cx, cy, radius, paint);

これはサークル用ですが、必要に応じてカスタム領域用に行うためのヒントが得られることを願っています.

それでも機能しない場合はHardware Acceleration、その特定のビューを無効にする必要がある場合があります。詳細については、このGoogle DOCを参照してください。

これがヒントになることを願っています。

于 2013-03-07T17:59:22.097 に答える