我正在尝试擦除图像的某些部分,所以我正在创建一个自定义ImageView
,所以对于擦除,我使用以下油漆来绘制
mPaint = new Paint();
mPaint.setAntiAlias(true);
mPaint.setDither(true);
mPaint.setColor(Color.TRANSPARENT);
mPaint.setStyle(Paint.Style.STROKE);
mPaint.setStrokeJoin(Paint.Join.ROUND);
mPaint.setStrokeCap(Paint.Cap.ROUND);
mPaint.setStrokeWidth(30);
mPaint.setXfermode(new PorterDuffXfermode(PorterDuff.Mode.CLEAR));
我将XferMode
设置为PorterDuff.Mode.CLEAR
来清除在android 4.1上工作良好的图像,但当我在android 2.3上测试它时,它画了一条黑线而不是背景色,我还禁用了硬件加速,
谁能解释一下为什么这个在android 2.3上不能工作
我有类似的问题,我通过使用画布修复了它。在调用super.onDraw(canvas)之前。
这个问题帮我解决了:在android中使用xfermode从图像中剪切圆