Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/oracle/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Colors 阿尔法干扰平滑彩色光谱-处理_Colors_Processing - Fatal编程技术网

Colors 阿尔法干扰平滑彩色光谱-处理

Colors 阿尔法干扰平滑彩色光谱-处理,colors,processing,Colors,Processing,我试图创建一个从草图开始逐渐消失的光谱。为此,我只需设置颜色模式(HSB,255),然后使用笔划(贴图(x,0,宽度,0,255),255,255,5)绘制线条,而不清除背景。阿尔法5建立在自身的基础上,最终形成了一个坚实的光谱。然而,光谱被分解成颜色块,而不是平滑的过渡。我在没有alpha的情况下测试了这个程序,它生成了一个平滑的光谱,这是因为alpha值 为什么会发生这种情况,我该如何解决 完整代码: void setup(){ 大小(500500); 彩色模式(HSB,255); } 作废

我试图创建一个从草图开始逐渐消失的光谱。为此,我只需设置颜色模式(HSB,255),然后使用笔划(贴图(x,0,宽度,0,255),255,255,5)绘制线条,而不清除背景。阿尔法5建立在自身的基础上,最终形成了一个坚实的光谱。然而,光谱被分解成颜色块,而不是平滑的过渡。我在没有alpha的情况下测试了这个程序,它生成了一个平滑的光谱,这是因为alpha值

为什么会发生这种情况,我该如何解决

完整代码:

void setup(){
大小(500500);
彩色模式(HSB,255);
}
作废提款(){
对于(int x=0;x

输出图片:

之所以发生这种情况,是因为您在透明之上的透明之上绘制透明

这不会使目标颜色越来越深。它具有会聚到纯色上的效果。我很难解释:透明颜色是添加的,因此多个值将聚合在同一颜色上

要点是:您应该调用
background()
函数来清除旧颜色,然后用增加的alpha值重新绘制颜色,而不是在透明度之上绘制透明度。下面是一个例子:

void setup(){
大小(500500);
彩色模式(HSB,255);
}
作废提款(){
float alpha=约束(帧数,0,255);
背景(200);
对于(int x=0;x

谢谢你的解释,我知道现在发生了什么@索伦兰茨没问题。这是一个有趣的问题。肯定让我挠头了几分钟!