处理中带有loadpixels()的渐变

yshpjwxd  于 2021-06-30  发布在  Java
关注(0)|答案(1)|浏览(420)

大家好,我正在草图的背景中画一个径向渐变,我正试图通过操纵像素来实现这一点,就像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();
}

谢谢你的帮助!

3b6akqbq

3b6akqbq1#

干得好:

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, 0, 0);
    }
  }
  updatePixels();
}

诀窍如下:
rgb表示红-绿-蓝。他们是三种颜色,混合在一起,将构成其他颜色。数字是颜色的亮度,因此[255,0,0]将是一个明亮的红色。255处为白色,0处为黑色。
你很接近尝试反转距离,但这里简单的答案是在颜色级别反转它,让它从255到255。所以我才写的 255 - d . 然后,离中心越远,越接近于零。
玩得高兴!

相关问题