Класс QColor
Класс QColor предоставляет цвета на основе значений RGB, HSV или CMYK. Подробнее...
| Заголовок: | #include <QColor> |
| qmake: | QT += gui |
Публичные типы
| Перечисление | NameFormat { HexRgb, HexArgb } |
| Перечисление | Spec { Rgb, Hsv, Cmyk, Hsl, Invalid } |
Публичные функции
| 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). Обратите внимание, что он также может содержать значение для альфа-канала (подробнее см. раздел Alpha-Blended Drawing). Функции qRed(), qBlue() и qGreen() возвращают соответствующую компоненту заданного значения QRgb, а функции qRgb() и qRgba() создают и возвращают тройку QRgb на основе заданных значений компонент. Наконец, функция qAlpha() возвращает альфа-компоненту заданного значения QRgb, а функция qGray() вычисляет и возвращает значение серого на основе заданного значения.
QColor не зависит от платформы и устройства. Класс QColormap отображает цвет на аппаратное обеспечение.
Дополнительную информацию об отрисовке см. в документации по Paint System.
Целочисленная и плавающая точка точность
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 указывает параметр Светлота.
Модель цвета 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().
[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().
[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().
[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.
См. также setHsl().
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.
См. также setHsl().
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
Возвращает компонент оттенка этого цвета.
Эта функция была добавлена в Qt 4.6.
См. также getHslF() и getHsl().
qreal QColor::hslHueF() const
Возвращает компонент оттенка этого цвета.
Эта функция была добавлена в Qt 4.6.
int QColor::hslSaturation() const
Возвращает компонент насыщенности этого цвета.
Эта функция была добавлена в Qt 4.6.
См. также saturationF(), getHsv() и Модель цвета HSV.
qreal QColor::hslSaturationF() const
Возвращает компонент насыщенности этого цвета.
Эта функция была добавлена в Qt 4.6.
См. также saturationF() и getHslF().
int QColor::hsvHue() const
Возвращает компонент оттенка этого цвета.
См. также hueF(), getHsv() и Модель цвета HSV.
qreal QColor::hsvHueF() const
Возвращает компонент оттенка этого цвета.
См. также hue(), getHsvF() и Модель цвета HSV.
int QColor::hsvSaturation() const
Возвращает компонент насыщенности этого цвета.
См. также saturationF(), getHsv() и Модель цвета HSV.
qreal QColor::hsvSaturationF() const
Возвращает компонент насыщенности этого цвета.
См. также saturation(), getHsvF() и Модель цвета HSV.
int QColor::hue() const
Возвращает компонент оттенка этого цвета.
Цвет неявно преобразуется в HSV.
См. также hsvHue(), hueF(), getHsv() и Модель цвета HSV.
qreal QColor::hueF() const
Возвращает компонент оттенка этого цвета.
Цвет неявно преобразуется в HSV.
См. также hsvHueF(), 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
Возвращает имя цвета в заданном формате.
Эта функция была добавлена в 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.
См. также hsvSaturation(), saturationF(), getHsv() и Модель HSV.
qreal QColor::saturationF() const
Возвращает компонент насыщенности цвета.
Цвет неявно преобразуется в HSV.
См. также hsvSaturationF(), 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, например, "green" и 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().
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, эквивалентная целому беззнаковому числу.
Тип также содержит значение для альфа-канала. Значение по умолчанию для альфа-канала — 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/archives/qt-5.11/qcolor.html