我正在尝试更改笔触的不透明度,但不确定如何在HSB彩色模式下进行。或者,如果我切换到RGB模式,如何使颜色随时间变化?
这是我的代码:(任何帮助将不胜感激)
BLModel
答案 0 :(得分:0)
您可以为stroke()
或fill()
函数赋予不透明度的第四个参数。这是一个简单的示例:
void setup(){
size(500, 500);
colorMode(HSB, 255);
background(255);
}
void draw(){
fill(0, 255, 200, 100);
ellipse(mouseX, mouseY, 20, 20);
}
请注意,您还可以使用RGB模式并随时间修改R,G和B参数。这比遍历HSB值要复杂一些,但是您可以创建所需的任何模式。这是一个简单的示例:
float r = 0;
float g = 0;
float b = 0;
float deltaR = 1;
float deltaG = 2;
float deltaB = 4;
void setup(){
size(500, 500);
background(255);
}
void draw(){
r += deltaR;
g += deltaG;
b += deltaB;
if(r < 0 || r > 255){
deltaR *= -1;
r = constrain(r, 0, 255);
}
if(g < 0 || g > 255){
deltaG *= -1;
g = constrain(g, 0, 255);
}
if(b < 0 || b > 255){
deltaB *= -1;
b = constrain(b, 0, 255);
}
fill(r, g, b);
ellipse(mouseX, mouseY, 20, 20);
}