Paint Xfermode在android 2.2上绘制黑线



我正在尝试擦除图像的某些部分,所以我正在创建一个自定义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从图像中剪切圆

最新更新