Класс QColor
Класс QColor предоставляет цвета на основе значений RGB, HSV или CMYK. Подробнее...
| Заголовок: | #include <QColor> |
| qmake: | QT += gui |
Публичные типы
| перечисление | ФорматИмени { HexRgb, HexArgb } |
| перечисление | Спецификация { Rgb, Hsv, Cmyk, Hsl, Недействительный } |
Публичные функции
| QColor() | |
| QColor(Qt::GlobalColor color) | |
| QColor(int r, int g, int b, int a = ...) | |
| QColor(QRgb color) | |
| QColor(QRgba64 rgba64) | |
| QColor(const QString &name) | |
| QColor(QStringView name) | |
| QColor(const char *name) | |
| QColor(QLatin1String name) | |
| QColor(const QColor &color) | |
| QColor(QColor &&other) | |
| int | alpha() const |
| qreal | alphaF() const |
| int | black() const |
| qreal | blackF() const |
| int | blue() const |
| qreal | blueF() const |
| QColor | convertTo(QColor::Spec colorSpec) const |
| int | cyan() const |
| qreal | cyanF() const |
| QColor | darker(int factor = 200) const |
| void | getCmyk(int *c, int *m, int *y, int *k, int *a = nullptr) |
| void | getCmykF(qreal *c, qreal *m, qreal *y, qreal *k, qreal *a = nullptr) |
| void | getHsl(int *h, int *s, int *l, int *a = nullptr) const |
| void | getHslF(qreal *h, qreal *s, qreal *l, qreal *a = nullptr) const |
| void | getHsv(int *h, int *s, int *v, int *a = nullptr) const |
| void | getHsvF(qreal *h, qreal *s, qreal *v, qreal *a = nullptr) const |
| void | getRgb(int *r, int *g, int *b, int *a = nullptr) const |
| void | getRgbF(qreal *r, qreal *g, qreal *b, qreal *a = nullptr) const |
| int | green() const |
| qreal | greenF() const |
| int | hslHue() const |
| qreal | hslHueF() const |
| int | hslSaturation() const |
| qreal | hslSaturationF() const |
| int | hsvHue() const |
| qreal | hsvHueF() const |
| int | hsvSaturation() const |
| qreal | hsvSaturationF() const |
| int | hue() const |
| qreal | hueF() const |
| bool | isValid() const |
| QColor | lighter(int factor = 150) const |
| int | lightness() const |
| qreal | lightnessF() const |
| int | magenta() const |
| qreal | magentaF() const |
| QString | name() const |
| QString | name(QColor::NameFormat format) const |
| int | red() const |
| qreal | redF() const |
| QRgb | rgb() const |
| QRgba64 | rgba64() const |
| QRgb | rgba() const |
| int | saturation() const |
| qreal | saturationF() const |
| void | setAlpha(int alpha) |
| void | setAlphaF(qreal alpha) |
| void | setBlue(int blue) |
| void | setBlueF(qreal blue) |
| void | setCmyk(int c, int m, int y, int k, int a = 255) |
| void | setCmykF(qreal c, qreal m, qreal y, qreal k, qreal a = 1.0) |
| void | setGreen(int green) |
| void | setGreenF(qreal green) |
| void | setHsl(int h, int s, int l, int a = 255) |
| void | setHslF(qreal h, qreal s, qreal l, qreal a = 1.0) |
| void | setHsv(int h, int s, int v, int a = 255) |
| void | setHsvF(qreal h, qreal s, qreal v, qreal a = 1.0) |
| void | setNamedColor(const QString &name) |
| void | setNamedColor(QStringView name) |
| void | setNamedColor(QLatin1String name) |
| void | setRed(int red) |
| void | setRedF(qreal red) |
| void | setRgb(int r, int g, int b, int a = 255) |
| void | setRgb(QRgb rgb) |
| void | setRgba64(QRgba64 rgba) |
| void | setRgbF(qreal r, qreal g, qreal b, qreal a = 1.0) |
| void | setRgba(QRgb rgba) |
| QColor::Spec | spec() const |
| QColor | toCmyk() const |
| QColor | toHsl() const |
| QColor | toHsv() const |
| QColor | toRgb() const |
| int | value() const |
| qreal | valueF() const |
| int | yellow() const |
| qreal | yellowF() const |
| QVariant | operator QVariant() const |
| bool | operator!=(const QColor &color) const |
| QColor & | operator=(QColor &&other) |
| QColor & | operator=(const QColor &color) |
| QColor & | operator=(Qt::GlobalColor color) |
| bool | operator==(const QColor &color) const |
Статические публичные члены
| QStringList | colorNames() |
| QColor | fromCmyk(int c, int m, int y, int k, int a = 255) |
| QColor | fromCmykF(qreal c, qreal m, qreal y, qreal k, qreal a = 1.0) |
| QColor | fromHsl(int h, int s, int l, int a = 255) |
| QColor | fromHslF(qreal h, qreal s, qreal l, qreal a = 1.0) |
| QColor | fromHsv(int h, int s, int v, int a = 255) |
| QColor | fromHsvF(qreal h, qreal s, qreal v, qreal a = 1.0) |
| QColor | fromRgb(QRgb rgb) |
| QColor | fromRgb(int r, int g, int b, int a = 255) |
| QColor | fromRgba64(ushort r, ushort g, ushort b, ushort a = USHRT_MAX) |
| QColor | fromRgba64(QRgba64 rgba64) |
| QColor | fromRgbF(qreal r, qreal g, qreal b, qreal a = 1.0) |
| QColor | fromRgba(QRgb rgba) |
| bool | isValidColor(const QString &name) |
| bool | isValidColor(QStringView name) |
| bool | isValidColor(QLatin1String name) |
Связанные нечлены
| typedef | QRgb |
| int | qAlpha(QRgb rgba) |
| uint | qAlpha(QRgba64 rgba64) |
| int | qBlue(QRgb rgb) |
| uint | qBlue(QRgba64 rgba64) |
| int | qGray(int r, int g, int b) |
| int | qGray(QRgb rgb) |
| int | qGreen(QRgb rgb) |
| uint | qGreen(QRgba64 rgba64) |
| QRgb | qPremultiply(QRgb rgb) |
| QRgba64 | qPremultiply(QRgba64 rgba64) |
| int | qRed(QRgb rgb) |
| uint | qRed(QRgba64 rgba64) |
| QRgb | qRgb(int r, int g, int b) |
| QRgba64 | qRgba64(quint16 r, quint16 g, quint16 b, quint16 a) |
| QRgba64 | qRgba64(quint64 c) |
| QRgb | qRgba(int r, int g, int b, int a) |
| QRgb | qUnpremultiply(QRgb rgb) |
| QRgba64 | qUnpremultiply(QRgba64 rgba64) |
| QDataStream & | operator<<(QDataStream &stream, const QColor &color) |
| QDataStream & | operator>>(QDataStream &stream, QColor &color) |
Подробное описание
Класс QColor предоставляет цвета на основе значений RGB, HSV или CMYK.
Цвет обычно задается компонентами RGB (красный, зеленый и синий), но также можно задать его с помощью компонентов HSV (оттенок, насыщенность и значение) и CMYK (голубой, пурпурный, желтый и черный). Кроме того, цвет можно задать с помощью имени цвета. Имя цвета может быть любым именем цвета SVG 1.0.
| RGB | HSV | CMYK |
|---|---|---|
Конструктор QColor создает цвет на основе значений RGB. Для создания QColor на основе значений HSV или CMYK используйте функции toHsv() и toCmyk() соответственно. Эти функции возвращают копию цвета в нужном формате. Кроме того, статические функции fromRgb(), fromHsv() и fromCmyk() создают цвета из указанных значений. В качестве альтернативы цвет можно преобразовать в любой из трех форматов с помощью функции convertTo() (возвращающей копию цвета в нужном формате) или функций setRgb(), setHsv() и setCmyk(), изменяющих формат текущего цвета. Функция spec() указывает, как был задан цвет.
Цвет можно задать, передав строку RGB (например, "#112233") или строку ARGB (например, "#ff112233") или имя цвета (например, "синий") функции setNamedColor(). Имена цветов взяты из имен цветов SVG 1.0. Функция name() возвращает имя цвета в формате "#RRGGBB". Цвета также можно задать с помощью setRgb(), setHsv() и setCmyk(). Для получения более светлого или темного цвета используйте функции lighter() и darker() соответственно.
Функция isValid() указывает, является ли QColor допустимым. Например, цвет RGB с недопустимыми значениями RGB является недопустимым. По соображениям производительности QColor в основном игнорирует недопустимые цвета, и поэтому результат использования недопустимого цвета не определен.
Компоненты цвета можно получить индивидуально, например, с помощью red(), hue() и cyan(). Значения компонентов цвета также можно получить за один раз с помощью функций getRgb(), getHsv() и getCmyk(). Используя модель RGB, компоненты цвета можно также получить с помощью rgb().
Существует несколько связанных не-членов: QRgb — это тип для целого без знака, представляющего тройку значений RGB (r, g, b). Обратите внимание, что он также может содержать значение для альфа-канала (подробнее см. раздел Альфа-смешанное рисование). Функции qRed(), qBlue() и qGreen() возвращают соответствующую компоненту заданного значения QRgb, а функции qRgb() и qRgba() создают и возвращают тройку QRgb на основе заданных значений компонентов. Наконец, функция qAlpha() возвращает альфа-компоненту предоставленного значения QRgb, а функция qGray() рассчитывает и возвращает значение серого на основе заданного значения.
QColor независим от платформы и устройства. Класс QColormap сопоставляет цвет с аппаратным обеспечением.
Дополнительную информацию о рисовании в целом см. в документации по системе рисования.
Целочисленная и плавающая точность
QColor поддерживает плавающую точность и предоставляет плавающие версии всех функций компонентов цвета, например, getRgbF(), hueF() и fromCmykF(). Обратите внимание, что поскольку компоненты хранятся с помощью целых 16-битных чисел, могут быть небольшие отклонения между значениями, заданными, например, с помощью setRgbF(), и значениями, возвращаемыми функцией getRgbF(), из-за округления.
В то время как целочисленные функции принимают значения в диапазоне 0-255 (за исключением hue(), которое должно иметь значения в диапазоне 0-359), функции с плавающей точкой принимают значения в диапазоне 0,0 - 1,0.
Альфа-смешанное рисование
QColor также поддерживает альфа-смешанное контурирование и заполнение. Альфа-канал цвета определяет эффект прозрачности; 0 представляет полностью прозрачный цвет, а 255 — полностью непрозрачный цвет. Например:
// Specify semi-transparent red painter.setBrush(QColor(255, 0, 0, 127)); painter.drawRect(0, 0, width()/2, height()); // Specify semi-transparent blue painter.setBrush(QColor(0, 0, 255, 127)); painter.drawRect(0, 0, width(), height()/2);
Приведенный выше код выводит следующий результат:
Альфа-канал цвета можно получить и установить с помощью функций alpha() и setAlpha(), если его значение является целым числом, и alphaF() и setAlphaF(), если его значение является qreal (double). По умолчанию альфа-канал устанавливается в 255 (непрозрачный). Чтобы получить и установить все компоненты цвета RGB (включая альфа-канал) за один раз, используйте функции rgba() и setRgba().
Предопределенные цвета
Существует 20 предопределенных цветов QColor, описанных в перечислении Qt::GlobalColor, включая черный, белый, основные и вторичные цвета, более темные версии этих цветов и три оттенка серого. QColor также распознает множество имен цветов; статическая функция colorNames() возвращает QStringList имен цветов, о которых знает QColor.
Кроме того, цвета Qt::color0, Qt::color1 и Qt::transparent используются для специальных целей.
Qt::color0 (нулевое значение пикселя) и Qt::color1 (значение пикселя отличное от нуля) являются специальными цветами для рисования в QBitmaps. Рисование с помощью Qt::color0 устанавливает биты карты в 0 (прозрачный; т.е. фон), а рисование с помощью Qt::color1 устанавливает биты в 1 (непрозрачный; т.е. передние).
Qt::transparent используется для обозначения прозрачного пикселя. При рисовании с этим значением будет использоваться значение пикселя, соответствующее используемому формату пикселей.
Модель HSV цветов
Модель RGB ориентирована на аппаратное обеспечение. Её представление близко к тому, что отображают большинство мониторов. В отличие от этого, HSV представляет цвет таким образом, который лучше соответствует человеческому восприятию цвета. Например, отношения «сильнее», «темнее» и «противоположное» легко выразить в HSV, но гораздо сложнее выразить в RGB.
HSV, как и RGB, имеет три компонента:
- H, для оттенка, находится в диапазоне от 0 до 359, если цвет хроматический (не серый), или бессмысленно, если он серый. Он представляет градусы на цветовом круге, знакомом большинству людей. Красный — 0 (градусов), зелёный — 120, а синий — 240.
- S, для насыщенности, находится в диапазоне от 0 до 255, и чем больше он, тем сильнее цвет. Серые цвета имеют насыщенность около 0; очень яркие цвета имеют насыщенность около 255.
- V, для значения, находится в диапазоне от 0 до 255 и представляет собой светлоту или яркость цвета. 0 — это чёрный; 255 — максимально возможная удалённость от чёрного.
Вот несколько примеров: чистый красный цвет имеет H=0, S=255, V=255; тёмно-красный цвет, немного смещённый к пурпурно-красному, может быть H=350 (эквивалентно -10), S=255, V=180; серовато-светло-красный может иметь H примерно 0 (скажем, 350-359 или 0-10), S примерно 50-100, а S=255.
Qt возвращает значение оттенка -1 для ахроматических цветов. Если вы передаёте значение оттенка, которое слишком велико, Qt принудительно помещает его в диапазон. Оттенок 360 или 720 обрабатывается как 0; оттенок 540 обрабатывается как 180.
В дополнение к стандартной модели HSV Qt предоставляет альфа-канал для функции смешивания с альфа-каналом.
Модель цвета HSL
HSL похожа на HSV, однако вместо параметра Значение HSL задаёт параметр Светлота, который несколько иначе соотносится с яркостью цвета.
Аналогично, значение насыщенности HSL, как правило, не совпадает со значением насыщенности HSV для одного и того же цвета. hslSaturation() возвращает значение насыщенности HSL цвета, а saturation() и hsvSaturation() возвращают значение насыщенности HSV.
Значение оттенка определено одинаковым в HSL и HSV.
Модель цвета CMYK
В то время как модели RGB и HSV используются для отображения на компьютерных мониторах, модель CMYK используется в четырёхцветном процессе печати на типографских станках и некоторых устройствах для вывода на плёнку.
CMYK имеет четыре компонента, все в диапазоне от 0 до 255: голубой (C), пурпурный (M), жёлтый (Y) и чёрный (K). Голубой, пурпурный и жёлтый называются аддитивными цветами; модель CMYK создаёт цвет, начиная с белой поверхности и затем вычитая цвет путём применения соответствующих компонентов. Объединение голубого, пурпурного и жёлтого даёт чёрный цвет; вычитание одного или нескольких даёт любой другой цвет. При различных сочетаниях этих трёх цветов можно получить весь спектр цветов.
Смешивание 100 процентов голубого, пурпурного и жёлтого даёт чёрный цвет, но результат неудовлетворительный, так как он тратит чернила, увеличивает время высыхания и даёт мутный цвет при печати. По этой причине в профессиональной печати добавляется чёрный цвет для обеспечения тёмного тона; отсюда и термин «четырёхцветный процесс».
В дополнение к стандартной модели CMYK Qt предоставляет альфа-канал для функции смешивания с альфа-каналом.
Документация по документации типов членов
enum QColor::NameFormat
Как форматировать вывод функции name()
| Постоянная | Значение | Описание |
|---|---|---|
QColor::HexRgb |
0 |
#RRGGBB Символ "#" за которым следуют три двухзначных шестнадцатеричных числа (например, #RRGGBB). |
QColor::HexArgb |
1 |
#AARRGGBB Символ "#" за которым следуют четыре двухзначных шестнадцатеричных числа (например, #AARRGGBB). |
См. также name().
enum QColor::Spec
Тип заданного цвета, RGB, HSV, CMYK или HSL.
| Постоянная | Значение |
|---|---|
QColor::Rgb |
1 |
QColor::Hsv |
2 |
QColor::Cmyk |
3 |
QColor::Hsl |
4 |
QColor::Invalid |
0 |
См. также spec() и convertTo().
Документация по документации функций членов
QColor::QColor()
Создаёт недопустимый цвет со значением RGB (0, 0, 0). Недопустимый цвет — это цвет, который не настроен должным образом для базовой системы окон.
Значение альфа-канала недопустимого цвета не определено.
См. также isValid().
QColor::QColor(Qt::GlobalColor color)
Это перегруженная функция.
Создаёт новый цвет со значением цвета color.
См. также isValid() и Предустановленные цвета.
QColor::QColor(int r, int g, int b, int a = ...)
Создаёт цвет со значением RGB r, g, b и значением альфа-канала (прозрачности) a.
Цвет остается недопустимым, если какое-либо из аргументов недействительно.
См. также setRgba() и isValid().
QColor::QColor(QRgb color)
Создаёт цвет со значением color. Компонент альфа игнорируется и устанавливается как непрозрачный.
См. также fromRgb() и isValid().
QColor::QColor(QRgba64 rgba64)
Создаёт цвет со значением rgba64.
Эта функция была добавлена в Qt 5.6.
См. также fromRgba64().
QColor::QColor(const QString &name)
Создаёт именованный цвет так же, как и setNamedColor() с использованием данного имени name.
Цвет остаётся недопустимым, если имя name не может быть проанализировано.
См. также setNamedColor(), name() и isValid().
QColor::QColor(QStringView name)
Создаёт экземпляр QColor по умолчанию.
QColor::QColor(const char *name)
Создаёт именованный цвет так же, как и setNamedColor() с использованием данного имени name.
Это перегруженная функция.
См. также setNamedColor(), name() и isValid().
QColor::QColor(QLatin1String name)
Создаёт именованный цвет так же, как и setNamedColor() с использованием данного имени name.
Это перегруженная функция.
Эта функция была добавлена в Qt 5.8.
См. также setNamedColor(), name() и isValid().
QColor::QColor(const QColor &color)
Создаёт цвет, являющийся копией color.
См. также isValid().
QColor::QColor(QColor &&other)
Конструктор перемещения.
int QColor::alpha() const
Возвращает компонент альфа цвета.
См. также setAlpha(), alphaF() и Смешивание с альфа-каналом.
qreal QColor::alphaF() const
Возвращает компонент альфа цвета.
См. также setAlphaF(), alpha() и Смешивание с альфа-каналом.
int QColor::black() const
Возвращает компонент чёрного цвета.
См. также blackF(), getCmyk() и Модель цвета CMYK.
qreal QColor::blackF() const
Возвращает компонент чёрного цвета.
См. также black(), getCmykF() и Модель цвета CMYK.
int QColor::blue() const
Возвращает компонент синего цвета.
См. также setBlue(), blueF() и getRgb().
qreal QColor::blueF() const
Возвращает компонент синего цвета.
См. также setBlueF(), blue() и getRgbF().
[static] QStringList QColor::colorNames()
Возвращает QStringList содержащую имена цветов, которые известны Qt.
См. также Предустановленные цвета.
QColor QColor::convertTo(QColor::Spec colorSpec) const
Создаёт копию текущего цвета в формате, указанном colorSpec.
См. также spec(), toCmyk(), toHsv(), toRgb() и isValid().
int QColor::cyan() const
Возвращает компонент синего цвета этого цвета.
См. также cyanF(), getCmyk() и Модель CMYK.
qreal QColor::cyanF() const
Возвращает компонент синего цвета этого цвета.
См. также cyan(), getCmykF() и Модель CMYK.
QColor QColor::darker(int factor = 200) const
Возвращает более тёмный (или светлый) цвет, но не изменяет этот объект.
Если factor больше 100, эта функция возвращает более тёмный цвет. Установка factor в 300 возвращает цвет с одной третью яркости. Если factor меньше 100, возвращаемый цвет будет светлее, но для этой цели рекомендуется использовать функцию lighter(). Если factor равен 0 или отрицателен, возвращаемое значение неопределено.
Функция преобразует текущий цвет RGB в HSV, делит компонент значения (V) на factor и преобразует цвет обратно в RGB.
Эта функция была добавлена в Qt 4.3.
См. также lighter() и isValid().
[static] QColor QColor::fromCmyk(int c, int m, int y, int k, int a = 255)
Статическая вспомогательная функция, которая возвращает QColor, созданный из заданных значений цвета CMYK: c (голубой), m (пурпурный), y (жёлтый), k (чёрный) и a (альфа-канал, т. е. прозрачность).
Все значения должны быть в диапазоне 0-255.
См. также toCmyk(), fromCmykF(), isValid() и Модель CMYK.
[static] QColor QColor::fromCmykF(qreal c, qreal m, qreal y, qreal k, qreal a = 1.0)
Это перегруженная функция.
Статическая вспомогательная функция, которая возвращает QColor, созданный из заданных значений цвета CMYK: c (голубой), m (пурпурный), y (жёлтый), k (чёрный) и a (альфа-канал, т. е. прозрачность).
Все значения должны быть в диапазоне 0,0-1,0.
См. также toCmyk(), fromCmyk(), isValid() и Модель CMYK.
[static] QColor QColor::fromHsl(int h, int s, int l, int a = 255)
Статическая вспомогательная функция, которая возвращает QColor, созданный из значений цвета HSV: h (оттенок), s (насыщенность), l (светлота) и a (альфа-канал, т. е. прозрачность).
Значения s, l и a должны быть в диапазоне 0-255; значение h должно быть в диапазоне 0-359.
Эта функция была добавлена в Qt 4.6.
См. также toHsl(), fromHslF(), isValid() и Модель HSL.
[static] QColor QColor::fromHslF(qreal h, qreal s, qreal l, qreal a = 1.0)
Это перегруженная функция.
Статическая вспомогательная функция, которая возвращает QColor, созданный из значений цвета HSV: h (оттенок), s (насыщенность), l (светлота) и a (альфа-канал, т. е. прозрачность).
Все значения должны быть в диапазоне 0,0-1,0.
Эта функция была добавлена в Qt 4.6.
См. также toHsl(), fromHsl(), isValid() и Модель HSL.
[static] QColor QColor::fromHsv(int h, int s, int v, int a = 255)
Статическая вспомогательная функция, которая возвращает QColor, созданный из значений цвета HSV: h (оттенок), s (насыщенность), v (значение) и a (альфа-канал, т. е. прозрачность).
Значения s, v и a должны быть в диапазоне 0-255; значение h должно быть в диапазоне 0-359.
См. также toHsv(), fromHsvF(), isValid() и Модель HSV.
[static] QColor QColor::fromHsvF(qreal h, qreal s, qreal v, qreal a = 1.0)
Это перегруженная функция.
Статическая вспомогательная функция, которая возвращает QColor, созданный из значений цвета HSV: h (оттенок), s (насыщенность), v (значение) и a (альфа-канал, т. е. прозрачность).
Все значения должны быть в диапазоне 0,0-1,0.
См. также toHsv(), fromHsv(), isValid() и Модель HSV.
[static] QColor QColor::fromRgb(QRgb rgb)
Статическая вспомогательная функция, которая возвращает QColor, созданный из заданного значения QRgb rgb.
Компонент альфа канала значения rgb игнорируется (т. е. он автоматически устанавливается в 255). Используйте функцию fromRgba(), чтобы включить альфа-канал, указанный в данном значении QRgb.
См. также fromRgba(), fromRgbF(), toRgb() и isValid().
[static] QColor QColor::fromRgb(int r, int g, int b, int a = 255)
Статическая вспомогательная функция, которая возвращает QColor, созданный из значений RGB: r (красный), g (зелёный), b (синий) и a (альфа-канал, т. е. прозрачность).
Все значения должны быть в диапазоне 0-255.
См. также toRgb(), fromRgba64(), fromRgbF() и isValid().
[static] QColor QColor::fromRgba64(ushort r, ushort g, ushort b, ushort a = USHRT_MAX)
Статическая вспомогательная функция, которая возвращает QColor, созданный из значений RGBA64: r (красный), g (зелёный), b (синий) и a (альфа-канал, т. е. прозрачность).
Эта функция была добавлена в Qt 5.6.
См. также fromRgb(), fromRgbF(), toRgb() и isValid().
[static] QColor QColor::fromRgba64(QRgba64 rgba64)
Статическая вспомогательная функция, которая возвращает QColor, созданный из заданного значения QRgba64 rgba64.
Эта функция была добавлена в Qt 5.6.
См. также fromRgb(), fromRgbF(), toRgb() и isValid().
[static] QColor QColor::fromRgbF(qreal r, qreal g, qreal b, qreal a = 1.0)
Статическая вспомогательная функция, которая возвращает QColor, созданный из значений RGB: r (красный), g (зелёный), b (синий) и a (альфа-канал, т. е. прозрачность).
Все значения должны быть в диапазоне 0,0-1,0.
См. также fromRgb(), fromRgba64(), toRgb() и isValid().
END_OF_DOCUMENT_MARKER
[static] QColor QColor::fromRgba(QRgb rgba)
Статическая вспомогательная функция, возвращающая QColor, созданную из заданного значения QRgb rgba.
В отличие от функции fromRgb(), альфа-канал, указанный в заданном значении QRgb, включается.
См. также fromRgb(), fromRgba64() и isValid().
void QColor::getCmyk(int *c, int *m, int *y, int *k, int *a = nullptr)
Устанавливает значения, на которые указывают c, m, y, k и a, в компоненты цветности циан, пурпурный, жёлтый, чёрный и альфа-канал (прозрачность) значения CMYK цвета.
Эти компоненты можно получить по отдельности, используя функции cyan(), magenta(), yellow(), black() и alpha().
См. также setCmyk() и Модель CMYK цвета.
void QColor::getCmykF(qreal *c, qreal *m, qreal *y, qreal *k, qreal *a = nullptr)
Устанавливает значения, на которые указывают c, m, y, k и a, в компоненты цветности циан, пурпурный, жёлтый, чёрный и альфа-канал (прозрачность) значения CMYK цвета.
Эти компоненты можно получить по отдельности, используя функции cyanF(), magentaF(), yellowF(), blackF() и alphaF().
См. также setCmykF() и Модель CMYK цвета.
void QColor::getHsl(int *h, int *s, int *l, int *a = nullptr) const
Устанавливает значения, на которые указывают h, s, l и a, в компоненты цветового тона, насыщенности, светлоты и альфа-канал (прозрачность) значения HSL цвета.
Эти компоненты можно получить по отдельности, используя функции hslHue(), hslSaturation(), lightness() и alpha().
Функция была введена в Qt 4.6.
См. также getHslF(), setHsl() и Модель HSL цвета.
void QColor::getHslF(qreal *h, qreal *s, qreal *l, qreal *a = nullptr) const
Устанавливает значения, на которые указывают h, s, l и a, в компоненты цветового тона, насыщенности, светлоты и альфа-канал (прозрачность) значения HSL цвета.
Эти компоненты можно получить по отдельности, используя функции hslHueF(), hslSaturationF(), lightnessF() и alphaF().
Функция была введена в Qt 4.6.
См. также getHsl(), setHslF() и Модель HSL цвета.
void QColor::getHsv(int *h, int *s, int *v, int *a = nullptr) const
Устанавливает значения, на которые указывают h, s, v и a, в компоненты цветового тона, насыщенности, значения и альфа-канал (прозрачность) значения HSV цвета.
Эти компоненты можно получить по отдельности, используя функции hue(), saturation(), value() и alpha().
См. также setHsv() и Модель HSV цвета.
void QColor::getHsvF(qreal *h, qreal *s, qreal *v, qreal *a = nullptr) const
Устанавливает значения, на которые указывают h, s, v и a, в компоненты цветового тона, насыщенности, значения и альфа-канал (прозрачность) значения HSV цвета.
Эти компоненты можно получить по отдельности, используя функции hueF(), saturationF(), valueF() и alphaF().
См. также setHsv() и Модель HSV цвета.
void QColor::getRgb(int *r, int *g, int *b, int *a = nullptr) const
Устанавливает значения, на которые указывают r, g, b и a, в компоненты красного, зеленого, синего и альфа-канал (прозрачность) значения RGB цвета.
Эти компоненты можно получить по отдельности, используя функции red(), green(), blue() и alpha().
void QColor::getRgbF(qreal *r, qreal *g, qreal *b, qreal *a = nullptr) const
Устанавливает значения, на которые указывают r, g, b и a, в компоненты красного, зеленого, синего и альфа-канал (прозрачность) значения RGB цвета.
Эти компоненты можно получить по отдельности, используя функции redF(), greenF(), blueF() и alphaF().
int QColor::green() const
Возвращает зелёный компонент цвета.
См. также setGreen(), greenF() и getRgb().
qreal QColor::greenF() const
Возвращает зелёный компонент цвета.
См. также setGreenF(), green() и getRgbF().
int QColor::hslHue() const
Возвращает компонент цветового тона HSL этого цвета.
Функция была введена в Qt 4.6.
См. также hslHueF(), hsvHue(), getHsl() и Модель HSL цвета.
qreal QColor::hslHueF() const
Возвращает компонент цветового тона HSL этого цвета.
Функция была введена в Qt 4.6.
См. также hslHue(), hsvHueF() и getHslF().
int QColor::hslSaturation() const
Возвращает компонент насыщенности HSL этого цвета.
Функция была введена в Qt 4.6.
См. также hslSaturationF(), hsvSaturation(), getHsl() и Модель HSL цвета.
qreal QColor::hslSaturationF() const
Возвращает компонент насыщенности HSL этого цвета.
Функция была введена в Qt 4.6.
См. также hslSaturation(), hsvSaturationF(), getHslF() и Модель HSL цвета.
int QColor::hsvHue() const
Возвращает компонент цветового тона HSV этого цвета.
См. также hueF(), hslHue(), getHsv() и Модель HSV цвета.
qreal QColor::hsvHueF() const
Возвращает компонент цветового тона этого цвета.
См. также hue(), hslHueF(), getHsvF() и Модель HSV цвета.
int QColor::hsvSaturation() const
Возвращает компонент насыщенности HSV этого цвета.
См. также saturationF(), hslSaturation(), getHsv() и Модель HSV цвета.
qreal QColor::hsvSaturationF() const
Возвращает компонент насыщенности цвета HSV этого цвета.
См. также saturation(), hslSaturationF(), getHsvF(), и Модель цвета HSV.
int QColor::hue() const
Возвращает компонент оттенка цвета HSV этого цвета.
Цвет неявно преобразуется в HSV.
См. также hsvHue(), hslHue(), hueF(), getHsv(), и Модель цвета HSV.
qreal QColor::hueF() const
Возвращает компонент оттенка цвета HSV этого цвета.
Цвет неявно преобразуется в HSV.
См. также hsvHueF(), hslHueF(), hue(), getHsvF(), и Модель цвета HSV.
bool QColor::isValid() const
Возвращает true если цвет является допустимым; в противном случае возвращает false.
[static] bool QColor::isValidColor(const QString &name)
Возвращает true если name является допустимым именем цвета и может быть использовано для построения объекта QColor, в противном случае возвращает false.
Использует тот же алгоритм, что и setNamedColor().
Эта функция была добавлена в Qt 4.7.
См. также setNamedColor().
[static] bool QColor::isValidColor(QStringView name)
Это перегруженная функция.
Эта функция была добавлена в Qt 5.10.
[static] bool QColor::isValidColor(QLatin1String name)
Это перегруженная функция.
Эта функция была добавлена в Qt 5.8.
QColor QColor::lighter(int factor = 150) const
Возвращает более светлый (или темный) цвет, но не изменяет этот объект.
Если factor больше 100, эта функция возвращает более светлый цвет. Установка factor в 150 возвращает цвет, который на 50% светлее. Если factor меньше 100, возвращаемый цвет темнее, но для этой цели рекомендуется использовать функцию darker(). Если factor равен 0 или отрицателен, значение возврата не определено.
Функция преобразует текущий цвет RGB в HSV, умножает компонент значения (V) на factor и преобразует цвет обратно в RGB.
Эта функция была добавлена в Qt 4.3.
См. также darker() и isValid().
int QColor::lightness() const
Возвращает компонент светлоты цвета этого цвета.
Эта функция была добавлена в Qt 4.6.
См. также lightnessF() и getHsl().
qreal QColor::lightnessF() const
Возвращает компонент светлоты цвета этого цвета.
Эта функция была добавлена в Qt 4.6.
См. также value() и getHslF().
int QColor::magenta() const
Возвращает компонент пурпурного цвета этого цвета.
См. также magentaF(), getCmyk(), и Модель цвета CMYK.
qreal QColor::magentaF() const
Возвращает компонент пурпурного цвета этого цвета.
См. также magenta(), getCmykF(), и Модель цвета CMYK.
QString QColor::name() const
Возвращает имя цвета в формате "#RRGGBB"; т.е. символ "#" и три двухзначных шестнадцатеричных числа.
См. также setNamedColor().
QString QColor::name(QColor::NameFormat format) const
Возвращает имя цвета в указанном формате format.
Эта функция была добавлена в Qt 5.2.
См. также setNamedColor() и NameFormat.
int QColor::red() const
Возвращает красный компонент цвета этого цвета.
См. также setRed(), redF(), и getRgb().
qreal QColor::redF() const
Возвращает красный компонент цвета этого цвета.
См. также setRedF(), red(), и getRgbF().
QRgb QColor::rgb() const
Возвращает значение RGB цвета. Значение альфа непрозрачное.
См. также setRgb(), getRgb(), и rgba().
QRgba64 QColor::rgba64() const
Возвращает значение RGB64 цвета, включая альфа-канал.
Для недопустимого цвета значение альфа возвращаемого цвета не определено.
Эта функция была добавлена в Qt 5.6.
См. также setRgba64(), rgba(), и rgb().
QRgb QColor::rgba() const
Возвращает значение RGB цвета, включая его альфа-канал.
Для недопустимого цвета значение альфа возвращаемого цвета не определено.
См. также setRgba(), rgb(), и rgba64().
int QColor::saturation() const
Возвращает компонент насыщенности цвета HSV этого цвета.
Цвет неявно преобразуется в HSV.
См. также hsvSaturation(), hslSaturation(), saturationF(), getHsv(), и Модель цвета HSV.
qreal QColor::saturationF() const
Возвращает компонент насыщенности цвета HSV этого цвета.
Цвет неявно преобразуется в HSV.
См. также hsvSaturationF(), hslSaturationF(), saturation(), getHsvF(), и Модель цвета HSV.
void QColor::setAlpha(int alpha)
Устанавливает альфа-канал этого цвета в alpha. Целочисленный альфа-канал задается в диапазоне 0-255.
См. также alpha(), alphaF(), и Рисование с альфа-смешиванием.
void QColor::setAlphaF(qreal alpha)
Устанавливает альфа-канал этого цвета в alpha. Вещественный альфа-канал задается в диапазоне 0.0-1.0.
См. также alphaF(), alpha(), и Рисование с альфа-смешиванием.
void QColor::setBlue(int blue)
Устанавливает синий компонент цвета этого цвета в blue. Целочисленные компоненты задаются в диапазоне 0-255.
См. также blue(), blueF(), и setRgb().
void QColor::setBlueF(qreal blue)
Устанавливает синий компонент цвета этого цвета в blue. Компоненты с плавающей точкой задаются в диапазоне 0.0-1.0.
См. также blueF(), blue(), и setRgbF().
void QColor::setCmyk(int c, int m, int y, int k, int a = 255)
Устанавливает цвет в значения CMYK: c (голубой), m (пурпурный), y (жёлтый), k (чёрный) и a (альфа-канал, т.е. прозрачность).
Все значения должны быть в диапазоне 0-255.
См. также getCmyk(), setCmykF(), и Модель цвета CMYK.
void QColor::setCmykF(qreal c, qreal m, qreal y, qreal k, qreal a = 1.0)
Это перегруженная функция.
Устанавливает цвет в значениях CMYK, c (голубой), m (пурпурный), y (жёлтый), k (чёрный) и a (альфа-канал, т.е. прозрачность).
Все значения должны быть в диапазоне от 0,0 до 1,0.
См. также getCmykF(), setCmyk() и Модель CMYK цветов.
void QColor::setGreen(int green)
Устанавливает зелёный компонент цвета этого цвета в значение green. Целочисленные компоненты задаются в диапазоне от 0 до 255.
См. также green(), greenF() и setRgb().
void QColor::setGreenF(qreal green)
Устанавливает зелёный компонент цвета этого цвета в значение green. Значения с плавающей точкой задаются в диапазоне от 0,0 до 1,0.
См. также greenF(), green() и setRgbF().
void QColor::setHsl(int h, int s, int l, int a = 255)
Устанавливает значение цвета HSL; h — оттенок, s — насыщенность, l — светлота и a — альфа-компонент цвета HSL.
Значения насыщенности, значения и альфа-канала должны быть в диапазоне от 0 до 255, а значение оттенка должно быть больше -1.
Эта функция была добавлена в Qt 4.6.
См. также getHsl() и setHslF().
void QColor::setHslF(qreal h, qreal s, qreal l, qreal a = 1.0)
Устанавливает светлоту цвета HSL; h — оттенок, s — насыщенность, l — светлота и a — альфа-компонент цвета HSL.
Все значения должны быть в диапазоне от 0,0 до 1,0.
Эта функция была добавлена в Qt 4.6.
См. также getHslF() и setHsl().
void QColor::setHsv(int h, int s, int v, int a = 255)
Устанавливает значение цвета HSV; h — оттенок, s — насыщенность, v — значение и a — альфа-компонент цвета HSV.
Значения насыщенности, значения и альфа-канала должны быть в диапазоне от 0 до 255, а значение оттенка должно быть больше -1.
См. также getHsv(), setHsvF() и Модель HSV цветов.
void QColor::setHsvF(qreal h, qreal s, qreal v, qreal a = 1.0)
Устанавливает значение цвета HSV; h — оттенок, s — насыщенность, v — значение и a — альфа-компонент цвета HSV.
Все значения должны быть в диапазоне от 0,0 до 1,0.
См. также getHsvF(), setHsv() и Модель HSV цветов.
void QColor::setNamedColor(const QString &name)
Устанавливает значение RGB этого QColor в значение name, которое может быть в одном из следующих форматов:
- #RGB (каждый из R, G и B — одиночная шестнадцатеричная цифра)
- #RRGGBB
- #AARRGGBB (с Qt 5.2)
- #RRRGGGBBB
- #RRRRGGGGBBBB
- Имя из списка цветов, определённых в списке имен ключевых слов цветов SVG, предоставленном Консорциумом Всемирной паутины; например, "steelblue" или "gainsboro". Эти имена цветов работают на всех платформах. Обратите внимание, что эти имена цветов не совпадают с определениями перечислений Qt::GlobalColor, например, "зелёный" и Qt::green не ссылаются на один и тот же цвет.
-
transparent— представляющий отсутствие цвета.
Цвет является недопустимым, если name нельзя разобрать.
См. также QColor(), name() и isValid().
void QColor::setNamedColor(QStringView name)
Это перегруженная функция.
Эта функция была добавлена в Qt 5.10.
void QColor::setNamedColor(QLatin1String name)
Это перегруженная функция.
Эта функция была добавлена в Qt 5.8.
void QColor::setRed(int red)
Устанавливает красный компонент цвета этого цвета в значение red. Целочисленные компоненты задаются в диапазоне от 0 до 255.
См. также red(), redF() и setRgb().
void QColor::setRedF(qreal red)
Устанавливает красный компонент цвета этого цвета в значение red. Значения с плавающей точкой задаются в диапазоне от 0,0 до 1,0.
См. также redF(), red() и setRgbF().
void QColor::setRgb(int r, int g, int b, int a = 255)
Устанавливает значение RGB в r, g, b и значение альфа в a.
Все значения должны быть в диапазоне от 0 до 255.
См. также rgb(), getRgb() и setRgbF().
void QColor::setRgb(QRgb rgb)
Это перегруженная функция.
Устанавливает значение RGB в rgb. Значение альфа устанавливается в непрозрачное.
void QColor::setRgba64(QRgba64 rgba)
Устанавливает значение RGB64 в rgba, включая альфа-канал.
Эта функция была добавлена в Qt 5.6.
См. также setRgba() и rgba64().
void QColor::setRgbF(qreal r, qreal g, qreal b, qreal a = 1.0)
Устанавливает цветовые каналы этого цвета в r (красный), g (зелёный), b (синий) и a (альфа, прозрачность).
Все значения должны быть в диапазоне от 0,0 до 1,0.
См. также rgb(), getRgbF() и setRgb().
void QColor::setRgba(QRgb rgba)
Устанавливает значение RGB в rgba, включая его альфа-канал.
См. также rgba(), rgb() и setRgba64().
QColor::Spec QColor::spec() const
Возвращает способ задания цвета.
QColor QColor::toCmyk() const
Создаёт и возвращает CMYK QColor на основе этого цвета.
См. также fromCmyk(), convertTo(), isValid() и Модель CMYK цветов.
QColor QColor::toHsl() const
Создаёт и возвращает HSL QColor на основе этого цвета.
См. также fromHsl(), convertTo(), isValid() и Модель HSL цветов.
QColor QColor::toHsv() const
Создаёт и возвращает HSV QColor на основе этого цвета.
См. также fromHsv(), convertTo(), isValid() и Модель HSV цветов.
QColor QColor::toRgb() const
Создаёт и возвращает RGB QColor на основе этого цвета.
См. также fromRgb(), convertTo() и isValid().
int QColor::value() const
Возвращает компонент значения цвета этого цвета.
См. также valueF(), getHsv() и Модель HSV цветов.
qreal QColor::valueF() const
Возвращает компонент значения цвета этого цвета.
См. также value(), getHsvF() и Модель HSV цветов.
int QColor::yellow() const
Возвращает желтую составляющую цвета.
См. также yellowF(), getCmyk() и Модель CMYK цвета.
qreal QColor::yellowF() const
Возвращает желтую составляющую цвета.
См. также yellow(), getCmykF() и Модель CMYK цвета.
QVariant QColor::operator QVariant() const
Возвращает цвет в виде QVariant.
bool QColor::operator!=(const QColor &color) const
Возвращает true если у этого цвета разные значения RGB и альфа-канала, чем у color; в противном случае возвращает false.
QColor &QColor::operator=(QColor &&other)
Оператор присваивания перемещением.
QColor &QColor::operator=(const QColor &color)
Присваивает копию color этому цвету и возвращает ссылку на него.
QColor &QColor::operator=(Qt::GlobalColor color)
Это перегруженная функция.
Присваивает копию color и возвращает ссылку на этот цвет.
bool QColor::operator==(const QColor &color) const
Возвращает true если у этого цвета такие же значения RGB и альфа-канала, как у color; в противном случае возвращает false.
Связанные нечлены
typedef QRgb
Четверка ARGB в формате #AARRGGBB, эквивалентная unsigned int.
Тип также содержит значение для альфа-канала. По умолчанию альфа-канал равен ff, то есть непрозрачный. Дополнительную информацию см. в разделе Смешанное рисование с альфа-каналом.
См. такжеQColor::rgb() и QColor::rgba().
int qAlpha(QRgb rgba)
Возвращает альфа-компонент четвёрки ARGB rgba.
См. такжеqRgb() и QColor::alpha().
uint qAlpha(QRgba64 rgba64)
Возвращает альфа-компонент rgba64 как 8-битовое значение.
Эта функция была добавлена в Qt 5.6.
См. такжеQRgba64::alpha8() и QColor::alpha().
int qBlue(QRgb rgb)
Возвращает синий компонент четвёрки ARGB rgb.
См. такжеqRgb() и QColor::blue().
uint qBlue(QRgba64 rgba64)
Возвращает синий компонент rgba64 как 8-битовое значение.
Эта функция была добавлена в Qt 5.6.
См. такжеQRgba64::blue8() и QColor::blue().
int qGray(int r, int g, int b)
Возвращает значение серого цвета (от 0 до 255) из тройки (r, g, b).
Значение серого цвета вычисляется по формуле (r * 11 + g * 16 + b * 5)/32.
int qGray(QRgb rgb)
Это перегруженная функция.
Возвращает значение серого цвета (от 0 до 255) из заданной четвёрки ARGB rgb.
Значение серого цвета вычисляется по формуле (R * 11 + G * 16 + B * 5)/32; альфа-канал игнорируется.
int qGreen(QRgb rgb)
Возвращает зелёный компонент четвёрки ARGB rgb.
См. такжеqRgb() и QColor::green().
uint qGreen(QRgba64 rgba64)
Возвращает зелёный компонент rgba64 как 8-битовое значение.
Эта функция была добавлена в Qt 5.6.
См. такжеQRgba64::green8() и QColor::green().
QRgb qPremultiply(QRgb rgb)
Преобразует неумноженную четвёрку ARGB rgb в умноженную четвёрку ARGB.
Эта функция была добавлена в Qt 5.3.
См. такжеqUnpremultiply().
QRgba64 qPremultiply(QRgba64 rgba64)
Преобразует неумноженную четвёрку QRgba64 rgba64 в умноженную четвёрку QRgba64.
Эта функция была добавлена в Qt 5.6.
См. такжеQRgba64::premultiplied() и qUnpremultiply().
int qRed(QRgb rgb)
Возвращает красный компонент четвёрки ARGB rgb.
См. такжеqRgb() и QColor::red().
uint qRed(QRgba64 rgba64)
Возвращает красный компонент rgba64 как 8-битовое значение.
Эта функция была добавлена в Qt 5.6.
См. такжеQRgba64::red8() и QColor::red().
QRgb qRgb(int r, int g, int b)
Возвращает четвёрку ARGB (255, r, g, b).
См. такжеqRgba(), qRed(), qGreen(), и qBlue().
QRgba64 qRgba64(quint16 r, quint16 g, quint16 b, quint16 a)
Возвращает четвёрку QRgba64 (r, g, b, a).
Эта функция была добавлена в Qt 5.6.
См. такжеqRgba().
QRgba64 qRgba64(quint64 c)
Возвращает c как структуру QRgba64.
Эта функция была добавлена в Qt 5.6.
См. такжеqRgba().
QRgb qRgba(int r, int g, int b, int a)
Возвращает четвёрку ARGB (a, r, g, b).
См. такжеqRgb(), qRed(), qGreen(), и qBlue().
QRgb qUnpremultiply(QRgb rgb)
Преобразует умноженную четвёрку ARGB rgb в неумноженную четвёрку ARGB.
Эта функция была добавлена в Qt 5.3.
См. такжеqPremultiply().
QRgba64 qUnpremultiply(QRgba64 rgba64)
Преобразует умноженную четвёрку QRgba64 rgba64 в неумноженную четвёрку QRgba64.
Эта функция была добавлена в Qt 5.6.
См. такжеQRgba64::unpremultiplied() и qPremultiply().
QDataStream &operator<<(QDataStream &stream, const QColor &color)
Записывает color в stream.
См. такжеСериализация типов данных Qt.
QDataStream &operator>>(QDataStream &stream, QColor &color)
Читает color из stream.
См. такжеСериализация типов данных Qt.
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-5.12/qcolor.html