Java彩虹渐变算法
彩虹渐变算法
前言
最近有一个需求是需要一直去改变字体的颜色,然后我就想到了使用彩虹颜色作为字体颜色,使颜色按照彩虹颜色的顺序进行变化。
然后查了一下彩虹的颜色可以分为6种(对,不是七种),用RGB
来表示分别是#FF00FF
,#FFFF00
,#00FF00
,#00FFFF
,#0000FF
,#FF00FF
,因此我们只需要实现一个方法使color
在这六种颜色中均匀变化即可。废话不多说,直接上代码。
代码
public class Color {
private int[] colors = {255, 0, 0};
private void getNextColors() {
int r = colors[0];
int g = colors[1];
int b = colors[2];
if (r == 255 && g < 255 && b == 0) {
g++;
} else if (g == 255 && r > 0 && b == 0) {
r--;
} else if (g == 255 && b < 255 && r == 0) {
b++;
} else if (b == 255 && g > 0 && r == 0) {
g--;
} else if (b == 255 && r < 255 && g == 0) {
r++;
} else if (r == 255 && b > 0 && g == 0) {
b--;
}
colors[0] = r;
colors[1] = g;
colors[2] = b;
}
}
需要注意的是,我们需要先给colors
指定为六个颜色中的一个颜色,否则代码无法正常生效。
如果还有什么疑问,可以在评论区留言,我看到会尽力帮忙解答。