- CharToString
- CharArrayToString
- CharArrayToStruct
- StructToCharArray
- ColorToARGB
- ColorToString
- DoubleToString
- EnumToString
- IntegerToString
- ShortToString
- ShortArrayToString
- TimeToString
- NormalizeDouble
- StringToCharArray
- StringToColor
- StringToDouble
- StringToInteger
- StringToShortArray
- StringToTime
- StringFormat
ColorToARGB
Преобразует тип color в тип uint для получения ARGB-представления цвета. ARGB формат цвета используется при создании графического ресурса, вывода текста и в классе стандартной библиотеки CCanvas.
uint ColorToARGB(
|
Параметры
clr
[in] Значение цвета в переменной типа color.
alpha
[in] Значение альфа-канала, для получения цвета в формате ARGB. Задается значением от 0 (цвет накладываемого пикселя совсем не меняет отображения нижележащего пикселя) до 255 (цвет накладывается полностью и перекрывает собою цвет нижележащего пикселя). Прозрачность цвета в процентом выражении вычисляется как (1-alpha/255)*100%, то есть чем меньше значение альфа-канала, тем более прозрачен цвет.
Возвращаемое значение
Представление цвета в формате ARGB, где в четырех байтах типа uint прописаны по порядку значения Alfa, Red, Green, Blue (альфа-канал, красный, зеленый, голубой).
Примечание
Основным общеупотребимым форматом для описания цвета пикселя на экране дисплея в компьютерной графике является RGB, где по названиям базовых цветов задаются красная (Red), зеленая (Green) и синяя (Blue) компоненты цвета. Каждая компонента описывается одним байтом, задающим насыщенность данного цвета в интервале от 0 до 255 (от 0x00 до 0XFF в шестнадцатеричном формате). Так как белый цвет содержит в себе все цвета, то он описывается как 0xFFFFFF, то есть каждая из трех компонент представлена максимальным значением 0xFF.
Но в ряде задач требуется указание прозрачности цвета, чтобы описать, каким образом будет выглядеть изображение, если на него наложен цвет с некоторой долей прозрачности. Для таких случаев вводится понятие альфа-канала (Alpha), который вводится как дополнительная компонента к формату RGB. Схема формата ARGB показана на рисунке.
Значения в виде ARGB обычно указываются в шестнадцатеричном формате, где каждая пара цифр представляет по порядку значения каналов Alpha, Red, Green и Blue. Например, ARGB-цвет 80FFFF00 означает желтый цвет с непрозрачностью 50.2 %. В начале идет 0x80, которое задает 50.2% значение альфа-канала, так как это 50.2% от значения 0xFF; далее первая пара FF представляет максимальное значение красной компоненты; следующая пара FF задает такую же силу зеленой компоненты; и последняя пара 00 представляет минимальное значение синей компоненты (отсутствие синего). Сложение зеленого и красного цвета дает желтый. Если альфа-канал не используется, запись может быть сокращена до 6 цифр RRGGBB, вот почему значения альфа-канала хранятся в верхних битах целочисленного типа uint.
В зависимости от контекста 16-ричные цифры могут записываться с префиксом '0x' или '#', например, 80FFFF00, или 0x80FFFF00, или #80FFFF00.
Пример:
//+------------------------------------------------------------------+
|
Смотри также
Ресурсы, ResourceCreate(), TextOut(), Тип color, Типы char, short, int и long