Преобразование char[4] в QColor
Вопрос
у меня есть char[4]
и я хочу иметь возможность преобразовать его в QColor
есть ли способ напрямую преобразовать, а не делать это:
const char foo[4] = { 128, 128, 128, 128 };
const QColor bar( foo[0], foo[1], foo[2], foo[3] );
Решение
Я предполагаю, что вы используете RGBA, поэтому вы можете использовать соответствующий конструктор:
QColor::QColor(int r, int g, int b, int a = 255)
Создает цвет со значением RGB r, g, b и значением альфа-канала (прозрачности) a.
Цвет остается недействительным, если какой-либо из аргументов недействителен.
Вы также можете использовать следующий статический метод:
QColor QColor::fromRgb(int r, int g, int b, int a = 255) [статический]
Статическая удобная функция, которая возвращает QColor, созданный из значений цвета RGB: r (красный), g (зеленый), b (синий) и a (альфа-канал, т.е.прозрачность).
Все значения должны находиться в диапазоне 0–255.