我使用的是P5.js库,我想让画布的背景在彩虹风格中平滑而连续地改变颜色。
我该怎么做呢?提前谢谢你
像这样的东西
发布于 2019-03-12 19:29:03
您可以使用HSB colorMode
。这使得你基本上可以通过使用从0到360的数字来“循环”色轮(即在色轮上指定度数)。使用这个想法,您可以在画布上绘制许多矩形,从画布的顶部到底部(由inc
指定的矩形数量)。每个矩形都有一种特殊的颜色。因此,连接所有这些矩形将允许您创建类似渐变的效果。
通过不断地为颜色提供偏移量(并将其限制在边界或0到360范围内),您可以在色轮之间循环。
请看下面的代码:
function setup() {
createCanvas(400, 400);
}
let cOffset = 0;
function draw() {
const inc = height/100;
colorMode(HSB);
for(let y = 0; y < height; y += inc) {
let h = y / height * 360;
fill(abs(h-cOffset)%360, 100, 100);
noStroke();
rect(0, y-inc, width, y);
}
cOffset += 5;
}
请参阅此处的工作版本:
https://stackoverflow.com/questions/55120022
复制相似问题