您将从一些伪代码中受益。永远不要低估伪代码的力量。
在这张图片中,您需要做的所有事情都被简单地写成了一天:
由于我们使用 RGB,并且图像会告诉您如何处理红色、绿色和蓝色,因此您已经是金色的了,但为了让事情更透明,我们将稍微更改代码。现在让我们忘记循环。以下是图片告诉您的操作:
R -> vertical slider, the closer to the bottom the more red you have
G -> horizontal slider, left is less and right is more
B -> vertical slider, the opposite to the red slider
现在,知道您的值在 [0-255] 范围内,但您的图像也是 256 像素宽的正方形,您只需要使用循环的索引来获取 RGB 值:
for (int i = 0; i <255; i++) {
for (int j = 0; j < 255; j++) {
int r = j; // up == more red
int g = i; // right == more green
int b = 255 - j; // down == less blue
stroke(color(r, g, b));
point(i, j);
}
}
另外,只是为了好玩,因为这是静态图像而不是动画,您可以将此代码放在 setup() 方法中,它会得到相同的结果:
void setup() {
size(255, 255);
for (int i = 0; i <255; i++) {
for (int j = 0; j < 255; j++) {
int r = j; // up == more red
int g = i; // right == more green
int b = 255 - j; // down == less blue
stroke(color(r, g, b));
point(i, j);
}
}
}
void draw() {} // you still need this method even if it's empty
这会给你这个结果:
玩得开心!