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指定为六个颜色中的一个颜色,否则代码无法正常生效。

​ 如果还有什么疑问,可以在评论区留言,我看到会尽力帮忙解答。

posted @ 2023-06-17 17:38  ZJHqs  阅读(134)  评论(0编辑  收藏  举报