2

ペイントアプリに消しゴムを実装したい。次のコードで消去できます

 paint.setColor(0x00000000);
 paint.setAlpha(0x00);

ただし、消去を再開した後、再度ペイントを開始すると正しくペイントされないため、ペイントを消去するアイデアを提案してください。

4

3 に答える 3

3

以下のコードを試してください。

      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。ドキュメントを見てください。

編集:

こちらもチェック

https://code.google.com/p/android/issues/detail?id=54105#c1

于 2013-03-21T11:37:50.790 に答える
-1

これは、この問題を解決する必要があります

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();
}
于 2013-09-11T19:28:14.887 に答える