渲染colorpicker

时间:2014-09-03 17:29:31

标签: c colors color-picker

是的,当然我可以自己渲染颜色选择器。但它不会那么高效和方便那么: enter image description here

它是GNU颜色选择器,很可能意味着GTK +,这意味着C。

假设我有一个函数void setpen(R, G, B, transp, size); 无效putpixel(X, Y); 这两个功能必须足够。

我不明白的是如何绘制伽玛场。 看起来真的很混乱。如果我有伽马场,我可以很容易地改变 价值并呈现彩虹。我怎么用循环绘制伽马场。它看起来很混乱..黑/白和红色gammas是默认的。

像素对称看起来很混乱.. 此问题的解决方案可能包含使用数学函数。 我注意到y控制饱和度 - r,g,b值,y控制r,g,bs

的亮度

我希望我能用这样的东西画出来

for(lightness = 0; lightness < 148; lightness++)
{
    for(satur = 0; satur < 159; satur++)
    {
        setpen(r, g, b, 0, 1);
        putpixel(lightness, satur);

2 个答案:

答案 0 :(得分:0)

该字段是一个网格,例如10x10

[0, 0]开始,值(0, 0)和(bi)线性插值每个维度(x和y,这样两个循环)直到[10, 10],然后将HSL转换为您当前使用RGB的每个坐标,并应用该坐标以setpen设置画笔。

我相信这应该可以胜任。

答案 1 :(得分:0)

这是Lightness圆柱坐标的投影。

https://en.wikipedia.org/wiki/HSL_and_HSV#Lightness

如果您有从(H,S,L)值计算颜色的方法,那么只需使用此功能。变色H为(x,y),颜色为A,颜色为B,也可将L变为(x,y),从0到最大亮度。