ThinkChat🤖让你学习和工作更高效,注册即送10W Token,即刻开启你的AI之旅 广告
R语言算法 计算暗灰色: 0.0.0~127.127.127 `` ``` #计算暗灰色的色域空间 num<-0 for(ray_g in 0:127) { for(ray_b in 0:127) { for(ray_r in 0:127) { num<-(num+1) } } } print(num) ``` 结果: num<-0 > for(ray_g in 0:127) { + for(ray_b in 0:127) { + for(ray_r in 0:127) { + num<-(num+1) + } + } + } > print(num) [1] **2097152** 颜色名 RGB色度 色域的个数 截至色度 INT64最大 分成8份 高亮白 255.255.255 0 1.84467E+19 2.30584E+18 白 129.129.129~~255.255.255 127 1664~1791 1791 黄(红+绿 2.2.1~~255.255.2 255 1408~1663 1663 青(蓝+绿 1.2.2~2.255.255 255 1152~1407 1407 亮绿 1.2.1~2.255.2 127 1024~1151 1151 紫(红+蓝)即品 2.2.1~255.255.2 255 678~1023 1023 暗灰绿 0.1.0~0.127.0 127 640~767 767 红 0.0.1~255.1.1 255 384~639 639 蓝 0.0.1~255.1.1 255 128~383 383 灰 0.0.0~127.127.127 0~2097152 127 0~127 黑 0.0.0 0 (色域空间)合计 1783 8 有8个色域空置 总色域空间数量合计 1791 ![](https://box.kancloud.cn/4ac8c28245f89f0c8a063c1cfd5c1df2_938x275.png) 全色度的代码: `` ``` case WM_PAINT: { PAINTSTRUCT ps; HPEN hpen; // 画笔 HDC hdc = BeginPaint(hWnd, &ps); // TODO: 在此处添加使用 hdc 的任何绘图代码... //渲染画图 MoveToEx(hdc, 0,0,NULL); int r = 0; int g = 0; int b = 0; int ray = 0; for (int i = 1; i < 1792; ++i) { //for100 MoveToEx(hdc, i, 0,NULL); //暗灰 if ((0 < i) && (i <= 127) ) {//if110 ++ray; // 创建画笔 hpen = CreatePen(PS_SOLID, 1, RGB(ray, ray, ray)); SelectObject(hdc, hpen); }//if110 //暗蓝-蓝 if ((128 < i) && (i <= 383)) {//if120 ++ray; // 创建画笔 hpen = CreatePen(PS_SOLID, 1, RGB(0,0,(i-128) ) ); SelectObject(hdc, hpen); }//if120 //暗红-红 if ((384 < i) && (i <= 639)) {//if120 ++ray; // 创建画笔 hpen = CreatePen(PS_SOLID, 1, RGB( (i - 384),0,0 )); SelectObject(hdc, hpen); }//if120 //暗绿色 if ((640 < i) && (i <= 767)) {//if120 ++ray; // 创建画笔 hpen = CreatePen(PS_SOLID, 1, RGB(0, (i - 640), 0)); SelectObject(hdc, hpen); }//if120 //暗紫色-品色(红+蓝) 255种 if ((768< i) && (i <= 1023)) {//if120 ++ray; // 创建画笔 hpen = CreatePen(PS_SOLID, 1, RGB( (i - 768), 0 , (i - 768))); SelectObject(hdc, hpen); }//if120 //明亮绿色 127种 if ((1024 <= i) && (i <= 1151)) {//if120 ++ray; // 创建画笔 hpen = CreatePen(PS_SOLID, 1, RGB( 0, 128+ (i - 1024), 0 ) ); SelectObject(hdc, hpen); }//if120 //青色-(蓝+绿色) 255种 if ((1152 <= i) && (i <= 1407)) {//if120 ++ray; // 创建画笔 hpen = CreatePen(PS_SOLID, 1, RGB(0, (i - 1152), (i - 1152) )); SelectObject(hdc, hpen); }//if120 //黄色-(红+绿色) 255种 if ((1408 <= i) && (i <= 1663)) {//if120 ++ray; // 创建画笔 hpen = CreatePen(PS_SOLID, 1, RGB( (i - 1408), (i - 1408) ,0 ) ); SelectObject(hdc, hpen); }//if120 //白色-(白色-高亮白) 255种……注解:再多就做 白切割 了…… if ((1664 <= i) ) {//if120 ++ray; // 创建画笔 hpen = CreatePen(PS_SOLID, 1, RGB( 128+(i - 1664), 128+(i - 1664), 128+(i - 1664))); SelectObject(hdc, hpen); }//if120 // SelectObject(hdc, hpen); LineTo(hdc, 0, i); //LineTo(hdc, i, i); }//for100 // EndPaint(hWnd, &ps); } break; case WM_DESTROY: ``` 显示结果: ![](https://box.kancloud.cn/7c745a655ea52eec0c0e25ca4714a2da_1920x729.png)