大家好,我正在草图的背景中画一个径向渐变,我正试图通过操纵像素来实现这一点,就像daniel shiffman的一个例子——到目前为止还不错——它可以正常工作!但是–现在我希望径向渐变为红色–草图的外部部分为黑色…就像下面的代码示例一样,但是反转!我尝试了很多方法——用rgb值做实验——反转dist()的值;函数–想到map();–试图改变像素的计算结果-什么都没有解决-我遗漏了什么或者有人能解释给我吗?我知道代码是做什么的-但不能把它颠倒过来…有人有想法,能解释给我吗?我真的被困住了…
void setup() {
size(1080, 1080);
}
void draw() {
loadPixels();
for (int x = 0; x < width; x++) {
for (int y = 0; y < height; y++) {
float d = dist(width/2, height/2, x, y);
pixels[x+y*width] = color(255,d,255);
}
}
updatePixels();
}
谢谢你的帮助!
1条答案
按热度按时间3b6akqbq1#
干得好:
诀窍如下:
rgb表示红-绿-蓝。他们是三种颜色,混合在一起,将构成其他颜色。数字是颜色的亮度,因此[255,0,0]将是一个明亮的红色。255处为白色,0处为黑色。
你很接近尝试反转距离,但这里简单的答案是在颜色级别反转它,让它从255到255。所以我才写的
255 - d
. 然后,离中心越远,越接近于零。玩得高兴!