
一次懂rgb(红绿蓝)颜色详细参数
如图,这是rgb颜色的几种基本颜色,颜色值(也就是“#000000”这些数)。其中前两位(00)表示r(红色/red,#FF0000),中间两位表示g(绿色/green,#00FF00),最后两位表示b(蓝色/blue,#0000FF)。
黑色值是#000000,也就是所有的颜色都没有。
白色值是#FFFFFF,也就是所有颜色都是最大。
红绿蓝(rgb)是三基色,其他颜色是不同值的三种颜色混合而成的颜色。黄色(#FFFF00)是红色(r)和绿色(g)最大;青色(#00FFFF)是绿色(g)和蓝色(b)最大;品红色(#FF00FF)是红色(r)和蓝色(b)最大。这三种颜色再加上黑色就构成了CMYK(青色 - 品红 - 黄色 - 黑色)。
每种颜色的最小值是0(十六进制:#00)。最大值是255(十六进制:#FF)。对应的每两位表示的颜色值有255种,用16进制FF表示,如红色从#010000(看起来更接近黑色)——#FF0000。参考下图:
附加:黑——白的过度表
互补色:
色彩中的互补色有:红色与绿色互补,蓝色与橙色互补,紫色与黄色互补。
RGB转换为16进制颜色,vba几行代码教你学会制作颜色选择器
Excel在使用颜色值,一般使用RGB表示或者10进制赋值。
本文件介绍一下如何制作一个颜色选择和RGB转换16进制表示颜色值。
如下图所示,左侧为RGB转换为16进制方法,右侧为16进制转换为RGB方法。
RGB即分别指三元色中的红、黄、蓝,值范围为0~255,由暗到明。
更换不同的数值可以得到不同的颜色值。
转换RGB转换16进制函数代码:
Private Function Get16(r, g, b) Get16 = "#" & VBA.Format(VBA.Hex(r), "00") & VBA.Format(VBA.Hex(g), "00") & VBA.Format(VBA.Hex(b), "00")End Function
Private Sub SetColor(ByVal Target As Range)If Target.Address = "$B$3" Or Target.Address = "$C$3" Or Target.Address = "$D$3" Then Range("C5").Value = Get16([B3].Value, [C3].Value, [D3].Value) Columns(6).Interior.Color = RGB([B3], [C3], [D3])End IfEnd Sub
16进制转换RGB函数代码:
If Target.Address = "$J$2" Then Dim h As String h = VBA.Replace([J2].Value, "#", "", 1, 1) [I6].Value = Application.WorksheetFunction.Hex2Dec(VBA.Left(h, 2)) [J6].Value = Application.WorksheetFunction.Hex2Dec(VBA.Mid(h, 3, 2)) [K6].Value = Application.WorksheetFunction.Hex2Dec(VBA.Right(h, 2)) [M2].Interior.Color = RGB([I6], [J6], [K6])End If
使用了一个内置函数Hex2Dec()将十六进制数转换为十进制数返回,这个很简单。
END