在画布上绘图 - PorterDuff.Mode.CLEAR绘制黑色

时间:2017-12-18 17:20:26

标签: java android android-canvas android-custom-view

我正在创建一个自定义绘制视图,因为我们可以绘制和擦除。涂料部分成功完成。但是当我想要删除颜色时,我遇到了一些问题。

  private Paint getPaint() {
        if (mMode == Mode.MARKER) {
            mPaint.setXfermode(null);
            mPaint.setStrokeWidth(mStrokeWidth);
        } else {
            mPaint.setXfermode(new PorterDuffXfermode(PorterDuff.Mode.CLEAR));
            mPaint.setStrokeWidth(mStrokeWidthForEraser);
        }
        return mPaint;
    }

问题是当我清除整个位图变为黑色时。所以我搜索了那个并找到了合适的答案setLayerType

setLayerType(LAYER_TYPE_HARDWARE, null);

这解决了变色问题。但是我的线条被扭曲了,如果我在某个地方画线,那么线也会在其他地方画出来。

那么这是什么问题?

提前致谢

0 个答案:

没有答案