當前位置:首頁 » 編程語言 » c語言rgb

c語言rgb

發布時間: 2024-09-29 09:28:11

❶ 誰能解釋一下關於C語言顏色的問題啊

不知道你的程序是怎麼顯示顏色的。一般#FFFFFF這種類型用來表示24位RGB顏色,軟體里用0xFFFFFF表示。R\G\B各佔8位,這里R=G=B=0xFF
所以黑色是0x000000,R\G\B都是0
白色是0xFFFFFF,都是0xFF
紅色0xFF0000,只有Red是0xFF,其餘是0
綠色是0x00FF00,只有綠色是0xFF,其餘是0
藍色是0x0000FF,只有藍色是0xFF,其餘是0

所以你圖片里的綠色和藍色都是對的。

❷ C語言怎麼調顏色

第一步、進入到vs界面,在上方工具欄中選擇箭頭所指的工具選項,如下圖所示。

❸ C語言中 關於顏色的代碼編寫

(1) scanf("%d%d%d",&red,&green,&blue); //輸入三個值
(2) red = red%256;
blue =blue%256;
green = green%256;//將數據轉換到0~255之間
(3)rgb = red | (green<<8) | (blue<<16);//通過或運算將數據放到對應位置上
(4)0x%x //以16進制輸出數據

❹ 顏色空間RGB與 色調、飽和度、亮度(ESL)轉換的完整C語言演算法

你把0-240 按比例 縮放 一下 到 HSL 的 范圍,用 HSL-RGB 轉換。

HSL--H是色相(0到360度),S是飽和度(0到1),L是亮度(0到1)

規1化的 HSL到RGB顏色值算換子程序:
// nomorized h,s,L 0-1.0
void HSL2RGB(double h, double s, double L,unsigned char *rr, unsigned char *gg,
unsigned char *bb)
{
double v,m,sv, vs0, c1, c2,xiaoshu,r,g,b;
int ih;
r = L; g = L;b = L;
if (L <= 0.5) v = L * (1.0 + s); else v = L + s - L * s;
if (v > 0) {
m = L + L - v; sv = (v - m ) / v;
h = h * 6.0; ih = (int)h;
xiaoshu = h - ih;
vs0 = v * sv * xiaoshu; c1 = m + vs0; c2 = v - vs0;
switch (ih) {
case 0: r = v; g = c1; b = m; break;
case 1: r = c2; g = v; b = m; break;
case 2: r = m; g = v; b = c1; break;
case 3: r = m; g = c2; b = v; break;
case 4: r = c1; g = m; b = v; break;
case 5: r = v; g = m; b = c2; break;
default: break;
}
}
*rr = (int) (r * 0xff); *gg = (int) (g * 0xff); *bb = (int) (b * 0xff);
}

把你3個數值,各除以240,代入子程序即可。
詳見:http://hi..com/svjvcfwticdkmse/item/e6c43a21e385b10977272c0e
彩虹光譜RGB值自動生成程序 (L_o_o_n_i_e == 金色潛鳥)

熱點內容
aes演算法模式 發布:2024-11-24 17:47:19 瀏覽:611
linux查看埠是否佔用 發布:2024-11-24 17:42:15 瀏覽:466
手機電影天堂的文件夾 發布:2024-11-24 17:39:08 瀏覽:689
吉林金稅盤安全伺服器地址 發布:2024-11-24 17:39:00 瀏覽:276
360無法訪問網路 發布:2024-11-24 17:32:48 瀏覽:558
普通員工解壓拓展注意什麼細節 發布:2024-11-24 17:32:06 瀏覽:435
安裝密碼鎖為什麼要在裡面纏膠帶 發布:2024-11-24 17:27:59 瀏覽:980
php列標記 發布:2024-11-24 17:23:48 瀏覽:566
C語言項目案例分析 發布:2024-11-24 17:14:48 瀏覽:978
河內塔演算法 發布:2024-11-24 17:03:05 瀏覽:726