处理3 - 如何设置默认不透明度

时间:2017-02-18 13:01:44

标签: colors processing

这让我发疯了。这是我的设置:

background(0);
stroke(255,255,255,255);

当我输出一个像素,然后查询相同的像素时,颜色不匹配:

point(2,2);
int x = get(2,2);
print(red(x));
print(green(x));
print(blue(x));

我得到的是:223 223 223 为什么我得到223而不是255?

1 个答案:

答案 0 :(得分:2)

这种情况正在发生,因为默认情况下,Processing会启用消除锯齿功能。这为形状(包括点)增加了模糊性和透明度。通常这是一件好事,因为它使您的图纸看起来更好。

但是如果您想要禁用抗锯齿,因为您需要准确的颜色,那么在绘制之前只需调用noSmooth()函数:

noSmooth();
background(0);
stroke(255,255,255,255);
point(2,2);
int x = get(2,2);
print(red(x));
print(green(x));
print(blue(x));

这打印出255,就像你期望的那样。更多信息可以在the reference找到。