我想为我的绘画应用程序实现橡皮擦。我可以用下面的代码来删除
paint.setColor(0x00000000);
paint.setAlpha(0x00);
但是擦除之后,当你再次开始绘画时,它不能正确地绘画,所以任何擦除绘画的想法,请建议。
发布于 2013-03-21 19:37:51
尝试下面的代码。
paint.setAlpha(0xFF);//transperent color
paint.setXfermode(new PorterDuffXfermode(PorterDuff.Mode.CLEAR));//clear the draw
还可以查看FingerPaint.java文件夹下的演示中的示例图形。
setAlpha(int a)
setColor()的帮助器,它只指定颜色的alpha值,保持其r、g、b值不变。
http://developer.android.com/reference/android/graphics/Paint.html。请看一下文档。
编辑:
也检查一下这个
发布于 2017-10-14 21:30:50
我也有同样的问题。
需要设置视图的setLayerType。
yourView.setLayerType(View.LAYER_TYPE_SOFTWARE, null);
您可以在构造函数中或通过视图的对象来设置它。
完成了。
发布于 2013-09-12 03:28:15
这应该可以解决这个问题
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();
}
https://stackoverflow.com/questions/15546342
复制相似问题