私は描画アプリの消しゴム機能を実装するために何か夕方を探していました。最も一般的な答えは、単に背景色や画像をペイントすることですが、私は複数のレイヤー(Gimp/Photoshopスタイル)を実装しているので、このソリューションは私のアプリケーションでは機能しません。Androidで描画アプリの消しゴムを実装する方法
ユーザーは、好きなだけ多くのレイヤーで提供されるブラシツールを使って線を描くことができます(図面ビューのonDrawメソッドは、レイヤー0 ...レイヤーXを重ねて描画します)。次に、消しゴムツールを選択すると、トレースする現在のレイヤの任意の領域が透明になるはずです。
私は適切なクラス/機能が組み込まれていないと思われます。私はそれを自分で書く方法がわかりません。私は
Paint paint = new Paint();
paint.setAlpha(0);
ような何かをし、その後に描画することPaintオブジェクトを使用しようとしましたが、それは唯一の「目に見えない」行を描画します。
私も
paint.setXfermode(new PorterDuffXfermode(PorterDuff.Mode.CLEAR));
を使用しようとしましたが、それは普通と効果なしとして描くように見えました。私はおそらくそれを誤って使用していますが、Androidのマニュアルには、それが何をするのかについての明確な説明は含まれていません。ビットマップの変更に関するいくつかの例でそれを見たことがあります。
私は必要に応じてコードを提供することができますが、私は自分の問題を解決するために役立つだろうか分かりません。私がGoogleで成功していないため、正しい方向を指し示すことが最大の助けになるでしょう。
前のデモコードは使用できなくなり、このリンクは他のものよりも良いチュートリアルでした、私はこれを受け入れられた答えに変えています。 – Robert