VB 颜色值十六进制与RGB之间怎样转换?

2024年10月28日 19:33
有2个网友回答
网友(1):

把十六进制的数前面加0补成长度为6的数,然后前两位化成十进制数代表红色,中间两位化成十进制数代表绿色,最后两位化成十进制数代表蓝色。如&FFFF,先变成00FFFF,于是等于RGB(0,255,255)

网友(2):

反回RGB数组的一个函数

Public Function ColorRGB(Color As Long) As Byte()
Const ByN As Integer = 256
Const ByN2 As Long = 65536
Dim A(2) As Byte
A(0) = (Color Mod ByN)
A(1) = ((Color Mod ByN2) \ ByN)
A(2) = (Color \ ByN2)
ColorRGB = A
End Function

例如:

Print ColorRGB(&H1111FF)(0) '红色RGB
Print ColorRGB(&H11FF11)(1) '绿色RGB
Print ColorRGB(&HFF1111)(2) '蓝色RGB

都等于255

变回十六进制更简单
HEX(RGB(1,1,1))