1. RGB颜色模式
RGB颜色模式基于红色(Red)、绿色(Green)和蓝色(Blue)三种光的组合,通常用于显示器和电子屏幕。通过调节这三种颜色的强度,可以表示多种颜色。每种颜色的强度一般用一个范围在 0 到 255 之间的数字来表示,0表示没有该颜色的光,255表示该颜色的光的最强强度。
- R (Red):红色通道的强度
- G (Green):绿色通道的强度
- B (Blue):蓝色通道的强度
例如,RGB(255, 0, 0)表示纯红色,因为红色通道是最大值(255),而绿色和蓝色通道没有光(0)。
2. 16进制颜色代码
16进制颜色代码通常由“#”符号开始,后面跟着6个字符。每两个字符代表一个颜色通道(红色、绿色、蓝色)的16进制数值(从00到FF),对应的是RGB的强度值。
- #RRGGBB 形式,R、G、B每个部分是2个十六进制字符
- RR 表示红色通道的强度(从00到FF)
- GG 表示绿色通道的强度(从00到FF)
- BB 表示蓝色通道的强度(从00到FF)
例如,#FF0000
表示纯红色:
- 红色部分 FF(即255)
- 绿色部分 00(即0)
- 蓝色部分 00(即0)
MsgBox % HexToRGB("0xf0ffff") MsgBox % HexToRGB("0xFFFF00", "Parse") ; Input: 6 characters HEX-color. Mode can be RGB, Message (R: x, G: y, B: z) or parse (R,G,B) HexToRGB(Color, Mode="") { ; If df, d is *16 and f is *1. Thus, Rx = R*16 while Rn = R*1 Color:=regexreplace(Color,"^(0x|0X|#)") Rx := SubStr(Color, 1,1), Rn := SubStr(Color, 2,1) Gx := SubStr(Color, 3,1), Gn := SubStr(Color, 4,1) Bx := SubStr(Color, 5,1), Bn := SubStr(Color, 6,1) AllVars := "Rx|Rn|Gx|Gn|Bx|Bn" Loop, Parse, Allvars, | ; Add the Hex values (A - F) { StringReplace, %A_LoopField%, %A_LoopField%, a, 10 StringReplace, %A_LoopField%, %A_LoopField%, b, 11 StringReplace, %A_LoopField%, %A_LoopField%, c, 12 StringReplace, %A_LoopField%, %A_LoopField%, d, 13 StringReplace, %A_LoopField%, %A_LoopField%, e, 14 StringReplace, %A_LoopField%, %A_LoopField%, f, 15 } R := Rx*16+Rn, G := Gx*16+Gn, B := Bx*16+Bn If (Mode = "Message") ; Returns "R: 255 G: 255 B: 255" Out := "R:" . R . " G:" . G . " B:" . B else if (Mode = "Parse") ; Returns "255,255,255" Out := R . "," . G . "," . B else Out := R . G . B ; Returns 255255255 return Out }
声明:站内资源为整理优化好的代码上传分享与学习研究,如果是开源代码基本都会标明出处,方便大家扩展学习路径。请不要恶意搬运,破坏站长辛苦整理维护的劳动成果。本站为爱好者分享站点,所有内容不作为商业行为。如若本站上传内容侵犯了原著者的合法权益,请联系我们进行删除下架。
评论(0)