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

全色度的代碼:
``
```
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:
```
顯示結果:
