PureBasic

RGBA()

Синтаксис

Color = RGBA(Red , Green , Blue , Alpha)

Описание


Возвращает 32-разрядное значение цвета, объединяющее значения компонентов Red, Green, Blue и Alpha (соответственно: красного, зелёного, синего и прозрачности).

Параметры

Red, Green, Blue Значения красного, зеленого и синего компонентов цвета. Каждое значение должно быть в диапазоне от 0 до 255.
Alpha Значение прозрачности цвета. Оно должно быть в диапазоне от 0 до 255. Значению 0 соответствует полностью прозрачный цвет, а значению 255 - полностью непрозрачный цвет.

Возвращаемое значение

Возвращает значение комбинации цветов.

Комментарии

Для того, чтобы получить значения компонентов Red, Green, Blue и Alpha из 32-битного значения цвета RGBA, используйте функции Red(), Green(), Blue() и Alpha(). Эти функции полезны для операций связанных с рисованием.

Результатом может быть значение в диапазоне от 0 до 4 294 967 295 оттенков. Поэтому рекомендуется использовать тип "quad", (Result.q) и устанавливать неиспользуемые байты в ноль. В действительности, в 32-разрядной операционной системе результатом является число с типом "integer" (по умолчанию) с используемым диапазоном значений от - 2 147 483 648 до + 2 147 483 647, поэтому сравнение двух цветов с типом "integer" может оказаться некорректным.

Пример:

Debug RGBA(0, 0, 0, 0) ; Полностью прозрачный черный
Debug RGBA(255, 255, 255, 255) ; Белый полностью непрозрачный
Debug RGBA(255, 0, 0, 255) ; Красный полностью непрозрачный
Debug RGBA(0, 0, 255, 0) ; Синий полностью прозрачный

Пример: 24-битный цвет и 32-битный цвет

Alpha = 255

; Использование типа Quad (см. примечания)
Color24.q  = ColorRequester()

Color32.q = RGBA(Red(Color24), Green(Color24), Blue(Color24), alpha)
Color32 = Color32 & $FFFFFFFF ; Обнуление неиспользуемых байтов. Полезно для сравнения цвета.

; Также, две строки выше можно заменить на:
; Color32 = Color24 | Alpha << 24

Debug "Red " + Red(Color32)
Debug "Green  " + Green(Color32)
Debug "Blue  " + Blue(Color32)
Debug "Alpha " + Alpha(Color32)

См. также

Red(), Green(), Blue(), Alpha(), RGB()

Поддерживаемые OS

Все

<- RGB() - Оглавление 2D Drawing - Red()->