Вычисляет действительное значение цвета для полноцветных режимов
Синтаксис
Использование
result = RGB(red, green, blue)
Параметры
red
значение красного компонента цвета
green
значение зеленого компонента цвета
blue
значение синего компонента цвета
Возвращаемое значение
Комбинированный цвет.
Описание
red,
green и
blue компоненты в
диапазоне
0-
255.
Функция
RGB может использоваться для вычисления значения
действительного цвета, для использования в полноцветных режимах. Она
возвращает целое число без знака в формате
&hAARRGGBB, где
RR,
GG
и
BB
равны значениям, передаваемым этой функции, в шестнадцатеричном формате.
AA
является неявным значением альфа и автоматически устанавливается в
&hFF (непрозрачный).
Это позволяет получить red, green, blue и alpha значения из значения цвета,
с помощью сочетания
And и
Shr.
Во втором примере ниже показано как
#define(объявляются)
и используются макросы для этого.
Примечание для Windows API программистов:
Макрос с именем
RGB в ссылках Windows был переименован в
BGR
в заголовках FB для Windows, чтобы избежать столкновений.
Пример
Смотрите пример
Put (Графика)
дополнительно.
ScreenRes 640,480,32 '32-битный
цвет
Line(0,0)-(319,479), RGB(255,0,0) 'Рисуем
ярко-красный прямоугольник в левой части окна
Line(639,0)-(320,479), RGB(0,0,255) 'Рисуем
ярко-синий прямоугольник в правой части окна
Sleep 'ожидание перед
выходом
'' Установка и
получение Red, Green, Blue и Alpha значений
#define RGBA_R( c ) ( CUInt( c ) Shr 16 And 255 )
#define RGBA_G( c ) ( CUInt( c ) Shr 8 And 255 )
#define RGBA_B( c ) ( CUInt( c ) And 255 )
#define RGBA_A( c ) ( CUInt( c ) Shr 24 )
Dim As UInteger r, g, b, a
Dim As UInteger col = RGB(128, 192, 64)
Print Using "Color: _&H\ \"; Hex(col, 8)
r = RGBA_R( col )
g = RGBA_G( col )
b = RGBA_B( col )
a = RGBA_A( col )
Print
Print Using "Red: _&H\\ = ###"; Hex(r, 2); r
Print Using "Green: _&H\\ = ###"; Hex(g, 2); g
Print Using "Blue: _&H\\ = ###"; Hex(b, 2); b
Print Using "Alpha: _&H\\ = ###"; Hex(a, 2); a
Различия диалектов
- Не доступно в диалекте -lang qb
, но есть псевдоним __Rgb.
Отличия от QB
См. также