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