我创建了一个饼图SurfaceView组件。当我将背景颜色设置为#fff0f0f0时,屏幕上的颜色会呈现粉红色调。当我截取图像的屏幕截图并将其加载到绘图包中时,十六进制颜色值为f7f3f7。我正在使用以下代码来清除背景;
int backgroundColour = getResources().getColor(R.color.grey);
Paint colour = new Paint();
colour.setAntiAlias(true);
colour.setColor(backgroundColour);
canvas.drawColor(colour.getColor());
这是在我打电话之后调用的;
surfaceHolder.lockCanvas(null)
我无法弄清楚造成这个问题的原因。 alpha通道设置为FF,因此不应该从后面显示任何内容。
请注意我已尝试使用和不使用Alpha通道
答案 0 :(得分:3)
由于历史原因,SurfaceView的默认颜色格式为RGB_565,这可能会产生看上去时髦的灰色(更不用说条带)了。
您可以使用SurfaceHolder#setFormat()调用将颜色格式更改为RGB_888或RGBA_8888。