2

我想更改 Mode.Clear 的默认颜色。在我的应用程序中,我使用了一种擦除方法,其中清除选项首先留下一条黑线,然后我清除图像。我想根据我的背景使用不同的颜色来代替它。这是我的代码...

擦除方法:

public void erase(View v)

{
    //mPaint=new Paint();
   //mPaint.setAlpha(0);


//mPaint.setColor(Color.WHITE);
   //mPaint.setARGB(0, 255, 255, 255);
    mPaint.setXfermode(new PorterDuffXfermode(Mode.CLEAR));
    //mPaint.setAntiAlias(true);
       //mBitmap.eraseColor(Color.TRANSPARENT);
      // mPaint.setStrokeWidth(45);
    // mPaint.setXfermode(new PorterDuffXfermode(PorterD

//uff.Mode.CLEAR));
}
4

2 回答 2

1

没有直接的解决方案。我有一个解决方法:

  1. 在“移动”事件期间,正常显示路径,并将绘制的 Xfermode 设置为 null。
  2. 在“修饰”事件期间,在画布上绘图之前,将绘图的 Xfermode 设置为清除。
  3. 绘制后将绘制的 Xfermode 设置为 null。
于 2013-04-14T14:37:37.717 回答
0

嘿,我使用了一种技巧来删除黑线。在我的擦除按钮中,我将颜色设置为白色,而不是使用 XferMode..

if(erase){
paintColor = Color.parseColor(newColor);
drawPaint.setColor(paintColor);
}
于 2013-09-23T20:06:42.980 回答