Класс QColor
Класс QColor предоставляет цвета на основе значений RGB, HSV или CMYK. Подробнее...
| Заголовок: | #include <QColor> |
| qmake: | QT += gui |
Открытые типы
| Перечисление | ФорматИмени { HexRgb, HexArgb } |
| Перечисление | Спецификация { Rgb, Hsv, Cmyk, Hsl, ExtendedRgb, Недействительно } |
Открытые функции
| 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 = 255) | |
| 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 | оттенок() const |
| qreal | оттенокF() const |
| bool | isValid() const |
| QColor | светлее(int factor = 150) const |
| int | светлота() const |
| qreal | светлотаF() const |
| int | magenta() const |
| qreal | magentaF() const |
| QString | имя() const |
| QString | имя(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 | toExtendedRgb() 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 — это тип для unsigned int, представляющего тройку значений 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().
Предопределённые цвета
В пространстве имён QColorConstants есть 20 предопределённых объектов QColor, включая чёрный, белый, основные и вторичные цвета, более тёмные версии этих цветов и три оттенка серого. Кроме того, пространство имён QColorConstants::Svg определяет объекты QColor для стандартных имен цветов SVG.
Цвета QColorConstants::Color0, QColorConstants::Color1 и QColorConstants::Transparent используются для специальных целей.
QColorConstants::Color0 (ноль пиксельного значения) и QColorConstants::Color1 (ненулевое пиксельное значение) — это специальные цвета для рисования в QBitmaps. Рисование с помощью QColorConstants::Color0 устанавливает биты растра в 0 (прозрачный; т.е. фон), а рисование с помощью c{QColorConstants::Color1} устанавливает биты в 1 (непрозрачный; т.е. передний план).
QColorConstants::Transparent используется для обозначения прозрачного пикселя. При рисовании с этим значением будет использовано соответствующее значение пикселя для используемого базового формата пикселей.
По историческим причинам 20 предопределённых цветов также доступны в перечислении Qt::GlobalColor.
Наконец, QColor распознаёт различные имена цветов (как строки); статическая функция colorNames() возвращает QStringList имён цветов, которые QColor знает.
Расширенная модель RGB
Расширенная модель RGB, также известная как цветовое пространство scRGB, такая же, как модель RGB, за исключением того, что она допускает значения меньше 0,0 и больше 1,0. Это позволяет представлять цвета, которые в противном случае выходили бы за пределы диапазона цветового пространства RGB, но при этом использовать те же значения для цветов внутри цветового пространства RGB.
Модель 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, но вместо параметра Value, HSL задаёт параметр Lightness, который несколько иначе отображает яркость цвета.
Аналогично, значение насыщенности HSL не всегда совпадает со значением насыщенности HSV для одного и того же цвета. hslSaturation() возвращает значение насыщенности HSL цвета, а saturation() и hsvSaturation() возвращают значение насыщенности HSV.
Значение оттенка определяется одинаково в HSL и HSV.
Модель цвета CMYK
В то время как модели RGB и HSV используются для отображения на компьютерных мониторах, модель CMYK используется в четырёхцветном процессе печати на печатных станках и некоторых устройствах для вывода на бумагу.
CMYK имеет четыре компонента, все в диапазоне 0-255: голубой (C), пурпурный (M), жёлтый (Y) и чёрный (K). Голубой, пурпурный и жёлтый называются аддитивными цветами; модель цвета CMYK создаёт цвет, начиная с белой поверхности и затем вычитая цвет путём применения соответствующих компонентов. Хотя комбинирование голубого, пурпурного и жёлтого даёт чёрный цвет, вычитание одного или нескольких даст любой другой цвет. При сочетании в различных процентах эти три цвета могут создавать весь спектр цветов.
Смешение 100 процентов голубого, пурпурного и жёлтого действительно даёт чёрный, но результат неудовлетворительный, так как он расходует чернила, увеличивает время высыхания и даёт грязный цвет при печати. По этой причине в профессиональной печати добавляют чёрный цвет, чтобы получить тёмно-чёрный оттенок; отсюда и термин «четырёхцветный процесс».
В дополнение к стандартной модели CMYK Qt предоставляет альфа-канал для функций смешивания с альфа-каналом.
См. также QPalette, QBrush и QColorConstants.
Документация по типам членов
enum QColor::NameFormat
Как форматировать вывод функции name()
| Постоянная | Значение | Описание |
|---|---|---|
QColor::HexRgb |
0 |
#RRGGBB символ "#" за которым следуют три двухзначных шестнадцатеричных числа (например, #RRGGBB). |
QColor::HexArgb |
1 |
#AARRGGBB символ "#" за которым следуют четыре двухзначных шестнадцатеричных числа (например, #AARRGGBB). |
См. также name().
enum QColor::Spec
Тип указанного цвета, либо RGB, расширенный RGB, HSV, CMYK или HSL.
| Постоянная | Значение |
|---|---|
QColor::Rgb |
1 |
QColor::Hsv |
2 |
QColor::Cmyk |
3 |
QColor::Hsl |
4 |
QColor::ExtendedRgb |
5 |
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 = 255)
Создаёт цвет с 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().
END_OF_DOCUMENT_MARKER
[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, созданную из заданных значений цвета HSL: 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, созданную из заданных значений цвета HSL: 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. Если любое из других значений находится за пределами диапазона от 0.0 до 1.0, модель цвета будет установлена как ExtendedRgb.
См. также 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) 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. Если blue находится вне диапазона 0.0-1.0, модель цвета будет изменена на ExtendedRgb.
См. также blueF(), blue(), и setRgbF().
END_OF_DOCUMENT_MARKERvoid 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. Если green выходит за пределы диапазона 0.0-1.0, модель цвета будет изменена на ExtendedRgb.
См. также 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. Если red выходит за пределы диапазона 0.0-1.0, модель цвета будет изменена на ExtendedRgb.
См. также 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. Если какие-либо другие значения выходят за пределы диапазона 0.0-1.0, цветовая модель будет установлена как ExtendedRgb.
См. также 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::toExtendedRgb() const
Создаёт и возвращает расширенный RGB QColor на основе этого цвета.
Эта функция была добавлена в Qt 5.14.
См. также toRgb и convertTo().
END_OF_DOCUMENT_MARKERQColor 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 если у этого цвета разные спецификации цвета или значения компонентов, чем у color; в противном случае возвращает false.
ExtendedRgb и Rgb спецификации считаются совпадающими в этом контексте.
См. также spec().
QColor &QColor::operator=(Qt::GlobalColor color)
Это перегруженный метод.
Присваивает копию color и возвращает ссылку на этот цвет.
bool QColor::operator==(const QColor &color) const
Возвращает true если у этого цвета такая же спецификация цвета и значения компонентов, как у color; в противном случае возвращает false.
ExtendedRgb и Rgb спецификации считаются совпадающими в этом контексте.
См. также spec().
Связанные нечлены
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.15/qcolor.html