我不确定它到底是什么,但我正在尝试生成一个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地图没有它。
我对颜色(色调,饱和度,亮度)不太好,似乎无法调整代码以获得我想要的东西。
任何帮助/建议还是我需要采用不同的方法?
谢谢!
答案 0 :(得分:3)
HSL空间中的颜色有三个维度。您正在映射其中两个(色调和饱和度),同时将亮度保持为恒定值float l = 0.5f;
。为了获得所有颜色,您需要以与MS Paint相同的方式为亮度提供滑块。
答案 1 :(得分:1)
您可以使用JColorChooser。这个tutorial向您展示了如何。