首页 > 编程语言 >Java彩虹渐变算法

Java彩虹渐变算法

时间:2023-06-17 17:44:24浏览次数:55  
标签:彩虹 Java 渐变 else colors && 颜色 255

彩虹渐变算法

前言

​ 最近有一个需求是需要一直去改变字体的颜色,然后我就想到了使用彩虹颜色作为字体颜色,使颜色按照彩虹颜色的顺序进行变化。

​ 然后查了一下彩虹的颜色可以分为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指定为六个颜色中的一个颜色,否则代码无法正常生效。

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

标签:彩虹,Java,渐变,else,colors,&&,颜色,255
From: https://www.cnblogs.com/ZJHqs/p/17487786.html

相关文章

  • java中 如何在文本中筛选出汉字
    在Java中,使用正则表达式来筛选出文本中的汉字。下面是一种方法:importjava.util.regex.Matcher;importjava.util.regex.Pattern;publicclassMain{publicstaticvoidmain(String[]args){Stringtext="Hello你好!Thisisatest文本。";//使......
  • java中 如何在文本中筛选出汉字
    在Java中,使用正则表达式来筛选出文本中的汉字。下面是一种方法:importjava.util.regex.Matcher;importjava.util.regex.Pattern;publicclassMain{publicstaticvoidmain(String[]args){Stringtext="Hello你好!Thisisatest文本。";//使......
  • java使double保留两位小数的多方法 java保留两位小数
    代码如下:mportjava.text.DecimalFormat;  DecimalFormat   df  =newDecimalFormat("######0.00");  doubled1=3.23456 doubled2=0.0;doubled3=2.0;df.format(d1);df.format(d2);df.format(d3);3个结果分别为:复制代码代码如下:3.230.002.00java保留两位小......
  • Java官方笔记11包
    PackagesDefinition:Apackageisagroupingofrelatedtypesprovidingaccessprotectionandnamespacemanagement.Notethattypesreferstoclasses,interfaces,enumerations,andannotationtypes.Enumerationsandannotationtypesarespecialkindsof......
  • java中 如何在文本中筛选出汉字
    在Java中,使用正则表达式来筛选出文本中的汉字。下面是一种方法:importjava.util.regex.Matcher;importjava.util.regex.Pattern;publicclassMain{publicstaticvoidmain(String[]args){Stringtext="Hello你好!Thisisatest文本。";/......
  • java中 如何在文本中筛选出汉字
    在Java中,使用正则表达式来筛选出文本中的汉字。下面是一种方法:importjava.util.regex.Matcher;importjava.util.regex.Pattern;publicclassMain{publicstaticvoidmain(String[]args){Stringtext="Hello你好!Thisisatest文本。";/......
  • JavaScript之Object.defineProperty()
    1.对象的定义与赋值经常使用的定义与赋值方法obj.prop=value或者obj['prop']=valueletPerson={};Person.name="Jack";Person["gender"]="female";console.log(Person.name);//Jackconsole.log(Person.gender);//femaleconsole.log(Pers......
  • Java官方笔记10注解
    注解注解的作用:Informationforthecompiler—Annotationscanbeusedbythecompilertodetecterrorsorsuppresswarnings.Compile-timeanddeployment-timeprocessing—Softwaretoolscanprocessannotationinformationtogeneratecode,XMLfiles,ands......
  • Java流程控制05:Switch选择结构
    多选择结构还有一个实现方式就是switchcase语句。switchcase语句判断一个变量与一系列值中某个值是否相等,每个值称为一个分支。switch(exception){casevalue://语句break;//可选casevalue:......
  • Java官方笔记9Lambda表达式
    LambdaExpression有了LambdaExpression,就不用再写anonymousclasses。写Lambda,首先要找到它的类型。Thereisarestrictiononthetypeofalambdaexpression:ithastobeafunctionalinterface.函数接口,只有1个抽象方法的接口:@FunctionalInterfacepublicinterfa......