Класс 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 = 255) | |
| QColor(QRgb color) | |
| QColor(QRgba64 rgba64) | |
| QColor(const QString &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(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 = Q_NULLPTR) |
| void | getCmykF(qreal *c, qreal *m, qreal *y, qreal *k, qreal *a = Q_NULLPTR) |
| void | getHsl(int *h, int *s, int *l, int *a = Q_NULLPTR) const |
| void | getHslF(qreal *h, qreal *s, qreal *l, qreal *a = Q_NULLPTR) const |
| void | getHsv(int *h, int *s, int *v, int *a = Q_NULLPTR) const |
| void | getHsvF(qreal *h, qreal *s, qreal *v, qreal *a = Q_NULLPTR) const |
| void | getRgb(int *r, int *g, int *b, int *a = Q_NULLPTR) const |
| void | getRgbF(qreal *r, qreal *g, qreal *b, qreal *a = Q_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(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(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) |
| 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 |
| 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(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 указывает параметр Светлота.
Модель 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 = 255)
Создаёт цвет со значением 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(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(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 = Q_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 = Q_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 = Q_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 = Q_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 = Q_NULLPTR) const
Устанавливает значения по указателям h, s, v и a, равные компонентам оттенка, насыщенности, значения и альфа-канала (прозрачность) цвета в формате HSV.
Эти компоненты можно получить индивидуально с помощью функций hue(), saturation(), value() и alpha().
См. также setHsv() и Модель HSV.
void QColor::getHsvF(qreal *h, qreal *s, qreal *v, qreal *a = Q_NULLPTR) const
Устанавливает значения по указателям h, s, v и a, равные компонентам оттенка, насыщенности, значения и альфа-канала (прозрачность) цвета в формате HSV.
Эти компоненты можно получить индивидуально с помощью функций hueF(), saturationF(), valueF() и alphaF().
См. также setHsv() и Модель HSV.
void QColor::getRgb(int *r, int *g, int *b, int *a = Q_NULLPTR) const
Устанавливает значения по указателям r, g, b и a, равные компонентам красного, зеленого, синего и альфа-канала (прозрачность) цвета в формате RGB.
Эти компоненты можно получить индивидуально с помощью функций red(), green(), blue() и alpha().
void QColor::getRgbF(qreal *r, qreal *g, qreal *b, qreal *a = Q_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.
bool QColor::isValidColor(const QString &name)
Возвращает true, если name является допустимым именем цвета и может быть использовано для создания объекта QColor, в противном случае возвращает false.
Использует тот же алгоритм, что и setNamedColor().
Эта функция была добавлена в Qt 4.7.
См. также setNamedColor().
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(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(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().
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 цвета.
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/qt-5.9/qcolor.html