设置处理颜色会影响整个窗口颜色

时间:2013-03-28 17:25:56

标签: colors processing hsb

我正在制作一个处理应用程序,其中一些数据在与主要数据分开的线程中进行插值。在这个新主题中,我有一行color aColor = color(255-(255*_hue[0]), 255, 255);。 (colorscheme是HSB)。

此行导致屏幕闪烁红色。似乎该行(谁的变量aColor 永远不会使用)导致应用程序窗口中出现一些严重的颜色变化。没有绘制图像或任何东西。

我想知道这是否是某种处理错误,如果有解决方案,或者即使有解决方法。感谢

1 个答案:

答案 0 :(得分:3)

无论您是否使用aColor变量,都必须在fill()循环的某处使用draw()

默认情况下,fill()全局工作:在fill()调用后绘制的所有后续形状都将具有该颜色。

要隔离fill()调用以使它们影响在本地而不是全局绘制的形状,您需要在pushStyle() / popStyle()调用中隔离此类fill()调用。

fill(192,0,0);//set global fill to red
rect(0,0,50,50);

pushStyle();
fill(0,192,0);//set local fill to green
rect(50,0,50,50);
popStyle();

rect(50,50,50,50);//draw using last global fill: red