消しゴム機能として、描画されたpathは消す事(透明色で塗りつぶす)はできます。
そこで、消しゴム機能を使用中に軌跡(path)を表示したいのですが、その軌跡はpaintで透明色に設定しているにもかかわらず黒い軌跡で表示されます(pathの描画が終わると透明に戻る)。
その、原因がわからず困っております。どなたか解決策をご教授おねがいします。
下記コード一部
消しゴム
this.paint.setXfermode(new PorterDuffXfermode(PorterDuff.Mode.CLEAR));
this.paint.setColor(Color.TRANSPARENT);
消しゴム以外
this.paint.setXfermode(null);//初期化
this.paint.setColor(任意の色);
@Override
public boolean onTouchEvent(MotionEvent event) {
Log.w("palette", "myCanvasView.onTouchEvent");
float x = event.getX();
float y = event.getY();
EraserDiscrimination();//ここで消しゴムかペンかの判別
switch (event.getAction()) {
case MotionEvent.ACTION_DOWN://タッチ
start(x, y);
invalidate(); // 再描画
break;
case MotionEvent.ACTION_MOVE://ドラッグ
move(x, y);
invalidate(); // 再描画
break;
case MotionEvent.ACTION_UP://離す
end();
invalidate(); // 再描画
}
return true;
}