求出红绿蓝三种颜色以10进制数表示的亮度值.用VB谁会做

来源:百度知道 编辑:UC知道 时间:2024/07/04 09:03:40
如果能详细的告诉我,给五十分。

Private Sub RGBToHSL( _
r As Long, g As Long, b As Long, _
h As Single, s As Single, l As Single _
)
Dim Max As Single
Dim Min As Single
Dim delta As Single
Dim rR As Single, rG As Single, rB As Single

rR = r / 255: rG = g / 255: rB = b / 255

'{Given: rgb each in [0,1].
' Desired: h in [0,360] and s in [0,1], except if s=0, then h=UNDEFINED.}
Max = Maximum(rR, rG, rB)
Min = Minimum(rR, rG, rB)
l = (Max + Min) / 2 '{This is the lightness}
'{Next calculate saturation}
If Max = Min Then