是的,当然我可以自己渲染颜色选择器。但它不会那么高效和方便那么:
它是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);
答案 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到最大亮度。