Функция NumberToRGB(number)

Страницы: 1
RSS
Функция NumberToRGB(number), Функция преобразовывает одно число цвета в компоненты RGB (red, green, blue)
 
Хотел раскрасить метку из Settings.line[1]["Color"]. Но функции, как получить RGB из числа не нашёл. Нужна такая функция или другое решение.
Заранее спасибо!
 
Цитата
Михаил Понамаренко написал:
Хотел раскрасить метку из Settings.line[1]["Color"]. Но функции, как получить RGB из числа не нашёл. Нужна такая функция или другое решение.
Заранее спасибо!
rgb и есть число
www.bot4sale.ru

Пасхалочка для Алексея Иванникова: https://forum.quik.ru/messages/forum10/message63088/topic7052/#message63088
 
Но разработчики QUIK и тут накосячили, перепутав местами цвета.
Так RGB(255, 0, 0) должен соответствовать числу 0xff0000, а по факту соответствует 0x0000ff
Т.о., если подставлять число в HEX-формате получим совсем другой цвет.
Можете прокомментировать данную ошибку?
Надо делать так, как надо. А как не надо - делать не надо.
 
С учетом перепутанных R и B
Код
function NumberToRGB(number)
   local number = tonumber(number) or 0
   return bit.band(number,0x0000FF), bit.rshift(bit.band(number,0x00FF00),8), bit.rshift(bit.band(number,0xFF0000),16) -- R, G, B
end
 
Добрый день.
Никакой ошибки мы тут не видим. Можете пояснить в чем проблема?
 
Цитата
Старатель написал:
Так RGB(255, 0, 0) должен соответствовать числу 0xff0000, а по факту соответствует 0x0000ff
Т.о., если подставлять число в HEX-формате получим совсем другой цвет.
Цитата
Michael Bulychev написал:
Никакой ошибки мы тут не видим. Можете пояснить в чем проблема?

Ну я не знаю, как ещё объяснить  :unamused:
В QLua функции работы с цветом (SetColor, Highlight, Settings.line[1].Color) принимают на вход число, не соответствующее цветовой схеме RGB.
Т.о., если мы хотим загрузить из настроек цвет в HEX-формате (0xff0000), то для использования в QLua его надо сначала конвертировать в GBR (0x0000ff).
Это и есть ошибка.
Надо делать так, как надо. А как не надо - делать не надо.
Страницы: 1
Читают тему
Наверх