0
我想知道如何讓我的程序能夠在兩種顏色之間生成隨機顏色,並在兩者之間生成隨機顏色。例如現在的樣子,我會說:如何在兩組顏色之間隨機化?
fill(random(255),0,0));
,以獲得一定範圍內的紅色。
我希望能夠選擇兩種顏色,讓我們說橙色和藍色,並讓它從這兩組顏色生成顏色。因此,它可以隨機產生一個顏色,從那個藍色的陰影,任何陰影之間,並進入一個特定的橙色陰影。
我該如何去做呢?
我想知道如何讓我的程序能夠在兩種顏色之間生成隨機顏色,並在兩者之間生成隨機顏色。例如現在的樣子,我會說:如何在兩組顏色之間隨機化?
fill(random(255),0,0));
,以獲得一定範圍內的紅色。
我希望能夠選擇兩種顏色,讓我們說橙色和藍色,並讓它從這兩組顏色生成顏色。因此,它可以隨機產生一個顏色,從那個藍色的陰影,任何陰影之間,並進入一個特定的橙色陰影。
我該如何去做呢?
比方說,你有3個變量持有「基地」顏色:
float baseR = 50;
float baseG = 100;
float baseB = 200;
然後,您可以添加一個隨機數的值,以獲得新的顏色「圍繞」該顏色:
float shadeDistance = 10;
float r = baseR + random(-shadeDistance, shadeDistance);
float g = baseG + random(-shadeDistance, shadeDistance);
float b = baseB + random(-shadeDistance, shadeDistance);
fill(r, g, b);
或者,如果你有,你要混合兩種顏色,你可以使用lerpColor()
功能:
stroke(255);
background(51);
color from = color(204, 102, 0);
color to = color(0, 102, 153);
color interA = lerpColor(from, to, .33);
color interB = lerpColor(from, to, .66);
fill(from);
rect(10, 20, 20, 60);
fill(interA);
rect(30, 20, 20, 60);
fill(interB);
rect(50, 20, 20, 60);
fill(to);
rect(70, 20, 20, 60);
你可能想使用[lerpColor(https://processing.org/reference/lerpColor_.html),並在0.0和1.0之間的函數隨機化'amt'參數。 – michaPau