常量 | 值 | 颜色 |
---|---|---|
BLACK | 0 | 黑 |
BLUE | 0xAA0000 | 蓝 |
GREEN | 0x00AA00 | 绿 |
CYAN | 0xAAAA00 | 青 |
RED | 0x0000AA | 红 |
MAGENTA | 0xAA00AA | 紫 |
BROWN | 0x0055AA | 棕 |
LIGHTGRAY | 0xAAAAAA | 浅灰 |
DARKGRAY | 0x555555 | 深灰 |
LIGHTBLUE | 0xFF5555 | 亮蓝 |
LIGHTGREEN | 0x55FF55 | 亮绿 |
LIGHTCYAN | 0xFFFF55 | 亮青 |
LIGHTRED | 0x5555FF | 亮红 |
LIGHTMAGENTA | 0xFF55FF | 亮紫 |
YELLOW | 0x55FFFF | 黄 |
WHITE | 0xFFFFFF | 白 |
16 进制的颜色表示规则为:0xbbggrr (bb=蓝,gg=绿,rr=红)
格式:
RGB(red,green,blue)
HSLtoRGB是一个函数,用于将HSL(色相、饱和度、亮度)颜色值转换为RGB(红、绿、蓝)颜色值。它是graphics.h库中的一个函数,用于图形界面编程。
该函数的定义如下:
void HSLtoRGB(double h, double s, double l, int& r, int& g, int& b);
参数h、s和l分别表示颜色的色相、饱和度和亮度,取值范围为0到1。r、g和b是输出参数,分别表示转换后的RGB颜色值,取值范围为0到255。
使用该函数的示例代码如下:
#include
#include
int main()
{
initgraph(640, 480);
setbkcolor(WHITE);
// 将HSL值(0.5, 1.0, 0.5)转换为RGB值
int r, g, b;
HSLtoRGB(0.5, 1.0, 0.5, r, g, b);
// 在屏幕上显示转换后的RGB颜色
setcolor(RGB(r, g, b));
outtextxy(100, 100, "Hello, world!");
getch();
closegraph();
return 0;
}
在上面的示例中,程序将HSL颜色值(0.5,1.0,0.5)转换为RGB颜色值,并在屏幕上显示了一个带有转换后RGB颜色的“Hello, world!”文本。
HSVtoRGB是一个函数,用于将HSV(色相、饱和度、亮度)颜色模型转换为RGB(红绿蓝)颜色模型。在graphics.h库中,它被用于绘制彩色图形。
函数原型如下:
void HSVtoRGB(float h, float s, float v,float &r, float &g, float &b);
其中h、s、v分别代表色相、饱和度和亮度(取值范围每个参数都是0-1之间的浮点数),r、g、b分别代表红、绿、蓝分量(也是0-1之间的浮点数)。该函数会根据输入的HSV参数计算出相应的RGB值,并通过引用返回。
下面是一个简单的例子,展示了如何使用HSVtoRGB函数绘制彩色图形:
#include
#include
using namespace std;
int main()
{
int gd = DETECT, gm;
initgraph(&gd, &gm, "");
for(int i=0;i<360;i+=5) {
float r,g,b;
HSVtoRGB(i/360.0,1,1,r,g,b);
setcolor(COLOR(r*255,g*255,b*255));
circle(200,200,100);
}
getch();
closegraph();
return 0;
}
该程序将在屏幕上绘制一个由彩色圆组成的圆环。可以看出,它用了一个循环来遍历所有可能的色相值(0-360),然后调用HSVtoRGB函数计算每个色相值对应的RGB值,再使用setcolor函数将结果应用于圆的颜色。