【发布时间】:2017-06-07 03:00:44
【问题描述】:
经过几天的尝试,我感到很沮丧。
我想做一个简单的应用程序,在背景上绘制从完全透明到白色的颜色渐变。 为了测试,我只使用了黑色、白色和一些灰色的背景。
有些颜色比应有的颜色更深或颜色更深。例如,左边的栏应该是全白的。
这是我的绘图函数中的代码:
for(int i = 0; i < 5; i++) {
p.setARGB(255, (255/4*(4-i)), (255/4*(4-i)), (255/4*(4-i)));
canvas.drawRect(canvas.getWidth()/5*i, 0, canvas.getWidth()/5*(i+1), canvas.getHeight(), p);
}
for(int i = 0; i < 256; i++) {
p.setARGB(i, 255, 255, 255);
canvas.drawRect(0, i*(canvas.getHeight()/256), canvas.getWidth(), (i+1)*(canvas.getHeight()/256), p);
}
我错过了什么?这就是 Canvas 的工作原理吗?我该如何解决这个问题,使它看起来像我在 GIMP 中制作的示例?
【问题讨论】:
标签: android canvas transparent alpha