gpt4 book ai didi

背景为黑色时,Android PorterDuff.Mode.CLEAR 无法正常工作

转载 作者:行者123 更新时间:2023-11-29 22:03:27 26 4
gpt4 key购买 nike

我正在使用的应用程序需要一些帮助。我正在尝试创建一个绘画应用程序,几天前我注意到了一个问题,现在我决定进行一些研究来解决它。当我使用 PorterDuff.Mode.CLEAR 将我的画笔用作橡皮擦时,它正常工作,而我的背景为白色。但是如果我将我的背景设置为其他颜色(例如 Black like : mCanvas.drawColor(Color.BLACK); )并且在我使用橡皮擦之后,我使用橡皮擦的地方被涂成白色颜色。以下是我如何为我的橡皮擦设置变量:

erase.setOnClickListener(new View.OnClickListener() {

@Override
public void onClick(View v) {
stamp=false;
MODE = ERASER_MODE;
mPaint.setColorFilter(null);
mPaint.setShader(null);
mPaint.setMaskFilter(null);
mPaint.setXfermode(new PorterDuffXfermode(PorterDuff.Mode.CLEAR));
}
});

那么知道为什么会发生这种情况吗?我该如何解决这个问题?

提前致谢!

最佳答案

其实我发现我的问题在哪里。在我用于绘图等的自定义 View 中,我正在这样做

 @Override
protected void onSizeChanged(int w, int h, int oldw, int oldh) {
super.onSizeChanged(w, h, oldw, oldh);
mBitmap = Bitmap.createBitmap(w, h, Bitmap.Config.ARGB_8888);
mCanvas = new Canvas(mBitmap);
mCanvas.drawColor(parentColor); //parentColor = currentBackgroundColor
}

@Override
protected void onDraw(Canvas canvas) {
canvas.drawColor(Color.WHITE);
canvas.drawBitmap(mBitmap, 0, 0, mBitmapPaint);
canvas.drawPath(mPath, mPaint);
}

我只需要改变我的

关于背景为黑色时,Android PorterDuff.Mode.CLEAR 无法正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11394111/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com