【问题标题】:Generating RGB Color Map生成 RGB 颜色图
【发布时间】:2014-04-17 22:21:47
【问题描述】:

我不确定它的确切名称,但我正在尝试生成一个 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 地图没有。

我不擅长色彩(色调、饱和度、亮度),似乎无法调整代码来获得我想要的东西。

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

谢谢!

【问题讨论】:

    标签: java colors


    【解决方案1】:

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

    【讨论】:

    • 谢谢,今天早上我自己意识到了这一点。实现了滑块,现在一切正常,谢谢。
    【解决方案2】:

    您可以使用JColorChooser。这个tutorial 告诉你怎么做。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-10-04
      • 1970-01-01
      • 1970-01-01
      • 2011-02-27
      • 1970-01-01
      • 2010-09-23
      • 2018-01-13
      • 2011-04-26
      相关资源
      最近更新 更多