Вроде бы это тебе нано. Функция возвращает ч/б цвет. | Код | Private Declare Function ColorHLSToRGB Lib "Shlwapi.dll" (ByVal wHue As Integer, ByVal wLuminance As Integer, ByVal wSaturation As Integer) As Long Private Declare Function ColorRGBToHLS Lib "Shlwapi.dll" (ByVal clrRGB As Long, pwHue As Integer, pwLuminance As Integer, pwSaturation As Integer) As Long
Private Function RGBToBlackWhite(ByVal ColorRGB As Long) As Long Dim ch As Integer Dim cl As Integer Dim cs As Integer dl = ColorRGBToHLS(ColorRGB, ch, cl, cs) RGBToBlackWhite = ColorHLSToRGB(160, cl, 0) 'RGBToBlackWhite = RGBToBlackWhite Mod 256 'Если ч/б цвет нужно положить в 1 байт а не в 4-ре. End Function
Private Sub Command1_Click() ColBW = RGBToBlackWhite(RGB(58, 67, 24)) End Sub |
|