生成RGB颜色映射

时间:2014-04-17 22:21:47

标签: java colors

我不确定它到底是什么,但我正在尝试生成一个RGB颜色贴图,就像在MS Paint(或Photoshop或任何其他无数应用程序)中创建自定义颜色时所看到的那样。

我目前找到并正在使用的代码:

private final static int COLORS_WIDTH = 256;
private final static int COLORS_HEIGHT = 256;

_colorPixmap = new Pixmap(256, 256, Format.RGB888);

for (int x = 0; x < COLORS_WIDTH; ++x)
{
    for (int y = 0; y < COLORS_HEIGHT; ++y)
    {
        float h = x / (float) COLORS_WIDTH;
        float s = (COLORS_HEIGHT - y) / (float) COLORS_HEIGHT;
        float l = 0.5f;
        Color color = HSLtoRGB(h, s, l);

        _colorPixmap.setColor(color);
        _colorPixmap.drawPixel(x, y);
    }
}

生成这个:

http://i.imgur.com/9sHrfJR.png

哪个好,但是,我绝对需要将黑/白作为可选颜色,但这张RGB地图没有它。

我对颜色(色调,饱和度,亮度)不太好,似乎无法调整代码以获得我想要的东西。

任何帮助/建议还是我需要采用不同的方法?

谢谢!

2 个答案:

答案 0 :(得分:3)

HSL空间中的颜色有三个维度。您正在映射其中两个(色调和饱和度),同时将亮度保持为恒定值float l = 0.5f;。为了获得所有颜色,您需要以与MS Paint相同的方式为亮度提供滑块。

答案 1 :(得分:1)

您可以使用JColorChooser。这个tutorial向您展示了如何。

相关问题