没有按我讲的做。用easy X的库再写一份实现画色域图的示例代码
时间: 2024-03-18 07:43:23 浏览: 44
用easyx画的一个颜色空间
非常抱歉,我误解了您的要求。这是一个使用 EasyX 图形库绘制色域图的示例代码:
```c++
#include <graphics.h>
#include <math.h>
#define PI 3.14159265358979323846
int main()
{
initgraph(640, 480); // 初始化窗口大小
int x, y, r;
int red, green, blue;
r = min(getwidth(), getheight()) / 2 - 20; // 计算半径
x = getwidth() / 2; // 获取窗口中心点横坐标
y = getheight() / 2; // 获取窗口中心点纵坐标
// 绘制色盘
for (int i = 0; i < r; i++) {
for (int j = 0; j < 360; j++) {
red = (int)((i * cos(j * PI / 180)) / r * 255);
green = (int)((i * sin(j * PI / 180)) / r * 255);
blue = 255 - (int)(sqrt(red * red + green * green) / sqrt(2.0));
setlinecolor(RGB(red, green, blue));
line(x + i * cos(j * PI / 180), y + i * sin(j * PI / 180),
x + (i + 1) * cos(j * PI / 180), y + (i + 1) * sin(j * PI / 180));
}
}
getch(); // 等待用户按下任意键
closegraph(); // 关闭图形窗口
return 0;
}
```
该示例代码使用 EasyX 图形库绘制了一个色盘,色盘中心点为窗口中心,色盘半径根据窗口大小自适应计算。在绘制色盘的过程中,通过计算当前坐标点的 RGB 值来设置线条的颜色,从而绘制出色域图。
阅读全文