Нужно разложить код цвета на составляющие Red, Green, Blue (функция, обратная RGB) - VBA
Формулировка задачи:
Я знаю код цвета в виде переменной типа Long (например, как свойство range("a1").interior.color).
Цвет в VBA может задаваться через функцию трёх аргументов RGB(red, green, blue), которая возвращает код цвета в формате long. В ней red, green, blue - составляющие цвета, изменяющиеся от 0 до 255.
Мне же нужна функция, обратная RGB. Т.е. зная код цвета, хочу получить значения red, green, blue.
Решение задачи: «Нужно разложить код цвета на составляющие Red, Green, Blue (функция, обратная RGB)»
textual
Листинг программы
Declare Sub CopyMem Lib "kernel32" Alias "RtlMoveMemory" (Destination As Any, Source As Any, ByVal Length As Long) Type t_ARGB r As Byte g As Byte b As Byte a As Byte End Type Function ColorToARGB(c As Long) As t_ARGB CopyMem ColorToARGB.r, c, 4 End Function Sub test() Dim c As t_ARGB c = ColorToARGB(RGB(Red:=1, Green:=2, Blue:=3)) Debug.Print c.r; c.g; c.b End Sub
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д