Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在纯色RGB颜色上应用霓虹灯效果?_Java - Fatal编程技术网

Java 在纯色RGB颜色上应用霓虹灯效果?

Java 在纯色RGB颜色上应用霓虹灯效果?,java,Java,我有如下所示的纯色RGB。如何将霓虹灯辉光效果应用于普通RGB颜色代码。我是新来的节目,所以请坦率地说我对此一无所知 public static final class Color { static final float RGB_UPPER_BOUND = 255; static final float[] GRAY_RGB = {153/RGB_UPPER_BOUND, 60/RGB_UPPER_BOUND, 243/RGB_UPPER_BOUND};

我有如下所示的纯色RGB。如何将霓虹灯辉光效果应用于普通RGB颜色代码。我是新来的节目,所以请坦率地说我对此一无所知

public static final class Color {
        static final float RGB_UPPER_BOUND = 255;
        static final float[] GRAY_RGB = {153/RGB_UPPER_BOUND, 60/RGB_UPPER_BOUND, 243/RGB_UPPER_BOUND};
        static final float[] WHITE_RGB = {255/RGB_UPPER_BOUND, 65/RGB_UPPER_BOUND, 5/RGB_UPPER_BOUND};
        static final float[] BLACK_RGB = {0/RGB_UPPER_BOUND, 0/RGB_UPPER_BOUND, 0/RGB_UPPER_BOUND};
        static final float[] RED_RGB = {255/RGB_UPPER_BOUND, 0/RGB_UPPER_BOUND, 0/RGB_UPPER_BOUND};
        static final float[] BLUE_RGB = {77/RGB_UPPER_BOUND, 77/RGB_UPPER_BOUND, 255/RGB_UPPER_BOUND};
        static final float[] GREEN_RGB = {131/RGB_UPPER_BOUND, 245/RGB_UPPER_BOUND, 44/RGB_UPPER_BOUND};

        public static final float[] WHITE = {
            WHITE_RGB[0],  WHITE_RGB[1],  WHITE_RGB[2],  1.0f,  // bottom left
            WHITE_RGB[0],  WHITE_RGB[1],  WHITE_RGB[2],  1.0f,  // top left
            WHITE_RGB[0],  WHITE_RGB[1],  WHITE_RGB[2],  1.0f,  // bottom right
            WHITE_RGB[0],  WHITE_RGB[1],  WHITE_RGB[2],  1.0f,  // top right
        };

        public static final float[] GRAY = {
            GRAY_RGB[0],  GRAY_RGB[1],  GRAY_RGB[2],  1.0f,
            GRAY_RGB[0],  GRAY_RGB[1],  GRAY_RGB[2],  1.0f,
            GRAY_RGB[0],  GRAY_RGB[1],  GRAY_RGB[2],  1.0f,
            GRAY_RGB[0],  GRAY_RGB[1],  GRAY_RGB[2],  1.0f,
        };

        public static final float[] BLUE = {
            BLUE_RGB[0],  BLUE_RGB[1],  BLUE_RGB[2],  1.0f,
            BLUE_RGB[0],  BLUE_RGB[1],  BLUE_RGB[2],  1.0f,
            BLUE_RGB[0],  BLUE_RGB[1],  BLUE_RGB[2],  1.0f,
            BLUE_RGB[0],  BLUE_RGB[1],  BLUE_RGB[2],  1.0f,
        };

        public static final float[] GREEN = {
            GREEN_RGB[0],  GREEN_RGB[1],  GREEN_RGB[2],  1.0f,
            GREEN_RGB[0],  GREEN_RGB[1],  GREEN_RGB[2],  1.0f,
            GREEN_RGB[0],  GREEN_RGB[1],  GREEN_RGB[2],  1.0f,
            GREEN_RGB[0],  GREEN_RGB[1],  GREEN_RGB[2],  1.0f,
        };

    }

如果您正在寻找一个非常简单的解决方案,
转换为(色调-饱和度-亮度)并随时间改变亮度会产生原始辉光效果。这类似于缩放RGB矢量的大小,不同的是,由于人眼对绿光更敏感,而对蓝光更不敏感,因此蓝色对亮度的贡献明显较小,而绿色对亮度的贡献更大

结合
GradientPaint
AlphaComposite
,如所引用的示例所示。感谢垃圾神,你能用一个实用的示例来回答如何将其应用于上述代码吗?不要称你的类为
Color
。API中已经有一个
Color
类。这取决于您进行研究,阅读@trashgod提供的链接,并应用其中显示的示例。因此,用户不会将您可以在其他地方轻松获得的代码交给您。