在处理中使用 loadPixels() 进行渐变
Gradients with loadPixels() in Processing
大家好——我正在尝试在草图的背景中绘制一个径向渐变——我正在尝试通过操纵像素来实现这一点,就像丹尼尔·希夫曼 (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();
}
感谢您的帮助!
给你:
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
。那么,离中心越远,越接近零
玩得开心!
大家好——我正在尝试在草图的背景中绘制一个径向渐变——我正在尝试通过操纵像素来实现这一点,就像丹尼尔·希夫曼 (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();
}
感谢您的帮助!
给你:
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
。那么,离中心越远,越接近零
玩得开心!