ColorToRGB

Материал из UoPilot
Перейти к навигации Перейти к поиску

Описание

Раскладывает указанный цвет на отдельные цветовые каналы (RGB) и записывает результат в отдельную строку указанного массива. Возвращает признак успешности работы в строковую переменную.

Синтаксис

Привязка к окну: нет
Работа со свернутым окном: нет

set <$признак> colorToRGB (<#цвет> <%результатRGB[#номер_строки]>)

где:
$признак - строковая переменная-признак успешности срабатывания ("-1" - ошибка, "" - правильно)
#цвет - числовое значение цвета, который нужно разложить на каналы RGB
%результатRGB - массив для записи значения отдельных каналов
#номер_строки (необязательно) - номер строки массива, в которую будем записывать результат. Если не указать, то результат запишется в 1-ю строку массива

Примеры

log open // открываем окно лога для вывода результатов
log clear // очистим окно лога
set #color 12642802 // записать десятичное значение цвета в переменную #color
set $s colorToRGB (#color %arr) // получить значения каналов в 1-ю строку массива %arr, а признак успешности в $s
if $s = -1 // если ошибка
  log error // ... то пишем в лог сообщение "error"
else // иначе (нет ошибки)
  set delimiter ' ' // устанавливаем разделитель " " (пробел) между элементами массива при выводе в лог
  log Каналы RGB: %arr[1] // выводим в лог значения отдельных каналов в одну строку
  log Красный: %arr[1 1] // выводим значение для каждого канала в отдельных строках
  log Зелёный: %arr[1 2]
  log Синий: %arr[1 3]
  // теперь для примера используем отдельные функции получения значений каждого RGB-канала
  set #r colorToRed(#color)
  log Отдельно красный: #r
  set #g colorToGreen(#color)
  log Отдельно зелёный: #g
  set #b colorToBlue(#color)
  log Отдельно синий: #b
end_if
end_script
set $s colorToRGB (12642802  %arr[2]) // получить значения каналов во вторую строку массива %arr, а признак успешности в $s

Смотрите также

История развития

2.32 Добавил функции разложения цвета:

   'colorToRed   (color)' - возвращает значение красного канала указанного цвета
   'colorToGreen (color)' - возвращает значение зеленого канала
   'colorToBlue  (color)' - возвращает значение синего канала
   'colorToRGB   (color %arr)' - разлаживает цвет на составляющие в первую строку указанного массива
   'colorToRGB   (color %arr[x])' - то-же, но в конкретную строку // %arr [ 1 1 ] R, %arr [ 1 2 ] G, %arr [ 1 3 ] B