ペイントアプリに消しゴムを実装したい。次のコードで消去できます
paint.setColor(0x00000000);
paint.setAlpha(0x00);
ただし、消去を再開した後、再度ペイントを開始すると正しくペイントされないため、ペイントを消去するアイデアを提案してください。
以下のコードを試してください。
paint.setAlpha(0xFF);//transperent color
paint.setXfermode(new PorterDuffXfermode(PorterDuff.Mode.CLEAR));//clear the draw
また、api demos のフォルダー graphics の下にあるサンプル FingerPaint.java も参照してください。
setAlpha(int a)
色のアルファ値のみを割り当て、r、g、b 値を変更しない setColor() のヘルパー。
http://developer.android.com/reference/android/graphics/Paint.html。ドキュメントを見てください。
編集:
こちらもチェック
これは、この問題を解決する必要があります
private void touch_move(float x, float y){
float dx = Math.abs(x - mX);
float dy = Math.abs(y - mY);
if (dx >= TOUCH_TOLERANCE || dy >= TOUCH_TOLERANCE) {
mPath.quadTo(mX, mY, (x + mX) / 2, (y + mY) / 2);
mPath.lineTo(mX, mY);
mCanvas.drawPath(mPath, mPaint);
mPath.reset();
mPath.moveTo(mX, mY);
mX = x;
mY = y;
}
}
touch_up() で次のように変更します。
private void touch_up() {
mPath.reset();
}