当前位置:首页 » 编程语言 » 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 == 金色潜鸟)

热点内容
服务器反查ip 发布:2024-09-29 11:18:18 浏览:17
连接oracle数据库的工具 发布:2024-09-29 11:12:02 浏览:252
php系统变量 发布:2024-09-29 11:07:32 浏览:342
access数据库是一个 发布:2024-09-29 11:06:59 浏览:508
exe反编译工具下载 发布:2024-09-29 10:59:03 浏览:676
安卓手机开播如何设置 发布:2024-09-29 10:49:58 浏览:193
eclipse编译产生的文件 发布:2024-09-29 10:49:20 浏览:931
配置cuda需要什么显卡 发布:2024-09-29 10:44:29 浏览:607
androidgridview加载 发布:2024-09-29 10:44:16 浏览:270
android用户反馈 发布:2024-09-29 10:36:16 浏览:178