处理 3 - 如何设置默认不透明度
Processing 3 - how to set default opacity
这让我发疯。这是我的设置:
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?
发生这种情况是因为默认情况下,Processing 启用 anti-aliasing。这会增加形状(包括点)的模糊度和透明度。通常这是一件好事,因为它使您的绘图看起来更好。
但是如果您因为需要精确的颜色而想禁用 anti-aliasing,那么只需在绘制之前调用 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.
中找到更多信息
这让我发疯。这是我的设置:
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?
发生这种情况是因为默认情况下,Processing 启用 anti-aliasing。这会增加形状(包括点)的模糊度和透明度。通常这是一件好事,因为它使您的绘图看起来更好。
但是如果您因为需要精确的颜色而想禁用 anti-aliasing,那么只需在绘制之前调用 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.