Класс QColor
Класс QColor предоставляет цвета на основе значений RGB, HSV или CMYK. Подробнее...
| Заголовок: | #include <QColor> |
| qmake: | QT += gui |
Публичные типы
| Перечисление | ФорматИмени { HexRgb, HexArgb } |
| Перечисление | Спецификация { Rgb, Hsv, Cmyk, Hsl, Недействительно } |
Публичные функции
| QColor(const QColor &color) | |
| QColor(QLatin1String name) | |
| QColor(const char *name) | |
| QColor(const QString &name) | |
| QColor(QRgba64 rgba64) | |
| QColor(QRgb color) | |
| QColor(int r, int g, int b, int a = ...) | |
| QColor(Qt::GlobalColor color) | |
| QColor() | |
| QColor & | operator=(const QColor &color) |
| 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 | темнее(int factor = 200) const |
| void | getCmyk(int *c, int *m, int *y, int *k, int *a = nullptr) const |
| void | getCmykF(qreal *c, qreal *m, qreal *y, qreal *k, qreal *a = nullptr) const |
| 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 | светлее(int factor = 150) const |
| int | светлота() 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 | насыщенность() const |
| qreal | насыщенностьF() 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=(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) |
Подробное описание
Цвет обычно задаётся через компоненты 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") или имя цвета (например, "blue") в функцию 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 предопределённых цветов QColors, описанных в перечислении 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 предоставляет альфа-канал для функции смешивания с альфа-каналом.
Документация по типам членов
перечисление QColor::NameFormat
Как форматировать вывод функции name()
| Константа | Значение | Описание |
|---|---|---|
QColor::HexRgb |
0 |
#RRGGBB Символ «#» после трёх двухзначных шестнадцатеричных чисел (например, #RRGGBB). |
QColor::HexArgb |
1 |
#AARRGGBB Символ «#» после четырёх двухзначных шестнадцатеричных чисел (например, #AARRGGBB). |
См. также name().
перечисление 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(const QColor &color)
Создаёт цвет, являющийся копией color.
См. также isValid().
QColor::QColor(QLatin1String name)
Создаёт именованный цвет таким же образом, как setNamedColor() с использованием заданного name.
Это перегруженная функция.
Эта функция была введена в Qt 5.8.
См. также setNamedColor(), name(), и isValid().
QColor::QColor(const char *name)
Создаёт именованный цвет таким же образом, как setNamedColor() с использованием заданного name.
Это перегруженная функция.
См. также setNamedColor(), name(), и isValid().
QColor::QColor(const QString &name)
Создаёт именованный цвет таким же образом, как setNamedColor() с использованием заданного name.
Цвет остаётся недействительным, если name невозможно разобрать.
См. также setNamedColor(), name(), и isValid().
QColor::QColor(QRgba64 rgba64)
Создаёт цвет со значением rgba64.
Эта функция была введена в Qt 5.6.
См. также fromRgba64().
QColor::QColor(QRgb color)
Создаёт цвет со значением color. Компонент альфа игнорируется и устанавливается в непрозрачный.
См. также fromRgb() и isValid().
QColor::QColor(int r, int g, int b, int a = ...)
Создаёт цвет с значением RGB r, g, b и значением канала альфа (прозрачности) a.
Цвет остаётся недействительным, если любое из аргументов недействительно.
См. также setRgba() и isValid().
QColor::QColor(Qt::GlobalColor color)
Это перегруженная функция.
Создаёт новый цвет со значением цвета color.
См. также isValid() и Предопределённые цвета.
QColor::QColor()
Создаёт недействительный цвет со значением RGB (0, 0, 0). Недействительный цвет — это цвет, который не правильно настроен для базовой системы окон.
Значение альфа недействительного цвета не определено.
См. также isValid().
QColor &QColor::operator=(const QColor &color)
Присваивает копию color этому цвету и возвращает ссылку на него.
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
Создаёт копию цвета this в формате, заданном 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 или отрицательному значению, возвращаемое значение не определено.
Функция преобразует текущий цвет в HSV, делит компонент значения (V) на factor и преобразует цвет обратно в исходный цветовой спектр.
Эта функция была представлена в 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) const
Задает значения, на которые указывают 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) const
Задает значения, на которые указывают 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 или меньше, возвращаемое значение не определено.
Функция преобразует текущий цвет в HSV, умножает компонент значения (V) на factor и преобразует цвет обратно в его исходное цветовое представление.
Эта функция была добавлена в 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. Значение qreal альфа задаётся в диапазоне 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 (с версии 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(), и Модель цвета 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=(Qt::GlobalColor color)
Это перегруженная функция.
Присваивает копию color и возвращает ссылку на этот цвет.
bool QColor::operator==(const QColor &color) const
Возвращает true, если у этого цвета одинаковые значения RGB и альфа, что и у color; в противном случае возвращает false.
Связанные нечлены
typedef QColor::QRgb
Четверка ARGB в формате #AARRGGBB, эквивалентная беззнаковому целому.
Тип также содержит значение для альфа-канала. Значение альфа-канала по умолчанию - ff, т.е. непрозрачный. Дополнительную информацию см. в разделе Алгоритм смешивания с альфа-каналом.
См. также QColor::rgb() и QColor::rgba().
int QColor::qAlpha(QRgb rgba)
Возвращает компонент альфа четверки ARGB rgba.
См. также qRgb() и QColor::alpha().
uint QColor::qAlpha(QRgba64 rgba64)
Возвращает компонент альфа rgba64 как значение с 8 битами.
Эта функция была добавлена в Qt 5.6.
См. также QRgba64::alpha8() и QColor::alpha().
int QColor::qBlue(QRgb rgb)
Возвращает синий компонент четверки ARGB rgb.
См. также qRgb() и QColor::blue().
uint QColor::qBlue(QRgba64 rgba64)
Возвращает синий компонент rgba64 как значение с 8 битами.
Эта функция была добавлена в Qt 5.6.
См. также QRgba64::blue8() и QColor::blue().
int QColor::qGray(int r, int g, int b)
Возвращает значение серого (от 0 до 255) из тройки (r, g, b).
Значение серого вычисляется по формуле (r * 11 + g * 16 + b * 5)/32.
int QColor::qGray(QRgb rgb)
Это перегруженная функция.
Возвращает значение серого (от 0 до 255) из заданной четверки ARGB rgb.
Значение серого вычисляется по формуле (R * 11 + G * 16 + B * 5)/32; альфа-канал игнорируется.
int QColor::qGreen(QRgb rgb)
Возвращает зелёный компонент четверки ARGB rgb.
См. также qRgb() и QColor::green().
uint QColor::qGreen(QRgba64 rgba64)
Возвращает зелёный компонент rgba64 как значение с 8 битами.
Эта функция была добавлена в Qt 5.6.
См. также QRgba64::green8() и QColor::green().
QRgb QColor::qPremultiply(QRgb rgb)
Преобразует непредмнноженную четверку ARGB rgb в предмноженную четверку ARGB.
Эта функция была добавлена в Qt 5.3.
См. также qUnpremultiply().
QRgba64 QColor::qPremultiply(QRgba64 rgba64)
Преобразует непредмноженную четверку QRgba64 rgba64 в предмноженную четверку QRgba64.
Эта функция была добавлена в Qt 5.6.
См. также QRgba64::premultiplied() и qUnpremultiply().
int QColor::qRed(QRgb rgb)
Возвращает красный компонент четверки ARGB rgb.
См. также qRgb() и QColor::red().
uint QColor::qRed(QRgba64 rgba64)
Возвращает красный компонент rgba64 как значение с 8 битами.
Эта функция была добавлена в Qt 5.6.
См. также QRgba64::red8() и QColor::red().
QRgb QColor::qRgb(int r, int g, int b)
Возвращает четверку ARGB (255, r, g, b).
См. также qRgba(), qRed(), qGreen() и qBlue().
QRgba64 QColor::qRgba64(quint16 r, quint16 g, quint16 b, quint16 a)
Возвращает четверку QRgba64 (r, g, b, a).
Эта функция была добавлена в Qt 5.6.
См. также qRgba().
QRgba64 QColor::qRgba64(quint64 c)
Возвращает c как структуру QRgba64.
Эта функция была добавлена в Qt 5.6.
См. также qRgba().
QRgb QColor::qRgba(int r, int g, int b, int a)
Возвращает четверку ARGB (a, r, g, b).
См. также qRgb(), qRed(), qGreen() и qBlue().
QRgb QColor::qUnpremultiply(QRgb rgb)
Преобразует предмноженную четверку ARGB rgb в непредмноженную четверку ARGB.
Эта функция была добавлена в Qt 5.3.
См. также qPremultiply().
QRgba64 QColor::qUnpremultiply(QRgba64 rgba64)
Преобразует предмноженную четверку QRgba64 rgba64 в непредмноженную четверку QRgba64.
Эта функция была добавлена в Qt 5.6.
См. также QRgba64::unpremultiplied() и qPremultiply().
QDataStream &QColor::operator<<(QDataStream &stream, const QColor &color)
Записывает color в stream.
См. также Сериализация типов данных Qt.
QDataStream &QColor::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.13/qcolor.html