Paint Xfermode在android 2.2上绘制黑线

时间:2013-03-04 11:11:36

标签: android android-view

我正在尝试删除Image的某些部分,因此我正在创建自定义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));

我正在设置XferModePorterDuff.Mode.CLEAR以清除在Android 4.1上工作正常的图像但是当我在Android 2.3上测试它时它绘制了一条黑色线而不是背景色,我也有禁用了硬件加速,

有人可以解释为什么这不适用于android 2.3

1 个答案:

答案 0 :(得分:0)

我有类似的问题,我在调用super.onDraw(canvas)之前使用Canvas.clipRect修复了它。

这个问题帮助了我:Clip round from image using xfermode in android