Класс QColor
Класс QColor предоставляет цвета на основе значений RGB, HSV или CMYK. Подробнее...
| Заголовок: | #include <QColor> |
| CMake: | find_package(Qt6 COMPONENTS Gui REQUIRED) target_link_libraries(mytarget PRIVATE Qt6::Gui) |
| qmake: | QT += gui |
Публичные типы
| перечисление | ФорматИмени { ШестнадцатиричныйRgb, ШестнадцатиричныйArgb } |
| перечисление | Спец { Rgb, Hsv, Cmyk, Hsl, РасширенныйRgb, Недействительный } |
Публичные функции
| 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() | |
| int | alpha() const |
| float | alphaF() const |
| int | black() const |
| float | blackF() const |
| int | blue() const |
| float | blueF() const |
| QColor | convertTo(QColor::Spec colorSpec) const |
| int | cyan() const |
| float | cyanF() const |
| QColor | темнее(int factor = 200) const |
| void | getCmyk(int *c, int *m, int *y, int *k, int *a = nullptr) const |
| void | getCmykF(float *c, float *m, float *y, float *k, float *a = nullptr) const |
| void | getHsl(int *h, int *s, int *l, int *a = nullptr) const |
| void | getHslF(float *h, float *s, float *l, float *a = nullptr) const |
| void | getHsv(int *h, int *s, int *v, int *a = nullptr) const |
| void | getHsvF(float *h, float *s, float *v, float *a = nullptr) const |
| void | getRgb(int *r, int *g, int *b, int *a = nullptr) const |
| void | getRgbF(float *r, float *g, float *b, float *a = nullptr) const |
| int | green() const |
| float | greenF() const |
| int | hslОттенок() const |
| float | hslОттенокF() const |
| int | hslНасыщенность() const |
| float | hslНасыщенностьF() const |
| int | hsvОттенок() const |
| float | hsvОттенокF() const |
| int | hsvНасыщенность() const |
| float | hsvНасыщенностьF() const |
| int | оттенок() const |
| float | оттенокF() const |
| bool | isValid() const |
| QColor | светлее(int factor = 150) const |
| int | светлота() const |
| float | светлотаF() const |
| int | пурпурный() const |
| float | пурпурныйF() const |
| QString | имя(QColor::NameFormat format = HexRgb) const |
| int | красный() const |
| float | красныйF() const |
| QRgb | rgb() const |
| QRgba64 | rgba64() const |
| QRgb | rgba() const |
| int | насыщенность() const |
| float | насыщенностьF() const |
| void | setAlpha(int alpha) |
| void | setAlphaF(float alpha) |
| void | setBlue(int blue) |
| void | setBlueF(float blue) |
| void | setCmyk(int c, int m, int y, int k, int a = 255) |
| void | setCmykF(float c, float m, float y, float k, float a = 1.0) |
| void | setGreen(int green) |
| void | setGreenF(float green) |
| void | setHsl(int h, int s, int l, int a = 255) |
| void | setHslF(float h, float s, float l, float a = 1.0) |
| void | setHsv(int h, int s, int v, int a = 255) |
| void | setHsvF(float h, float s, float v, float a = 1.0) |
| void | setNamedColor(const QString &name) |
| void | setNamedColor(QStringView name) |
| void | setNamedColor(QLatin1String name) |
| void | setRed(int red) |
| void | setRedF(float red) |
| void | setRgb(int r, int g, int b, int a = 255) |
| void | setRgb(QRgb rgb) |
| void | setRgba64(QRgba64 rgba) |
| void | setRgbF(float r, float g, float b, float 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 |
| float | valueF() const |
| int | yellow() const |
| float | 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(float c, float m, float y, float k, float a = 1.0) |
| QColor | fromHsl(int h, int s, int l, int a = 255) |
| QColor | fromHslF(float h, float s, float l, float a = 1.0) |
| QColor | fromHsv(int h, int s, int v, int a = 255) |
| QColor | fromHsvF(float h, float s, float v, float 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(float r, float g, float b, float a = 1.0) |
| QColor | fromRgba(QRgb rgba) |
| bool | isValidColor(const QString &name) |
| bool | isValidColor(QStringView name) |
| bool | isValidColor(QLatin1String name) |
Связанные нечлены
| 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.
END_OF_DOCUMENT_MARKER| 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). Обратите внимание, что он также может содержать значение для альфа-канала (подробнее см. раздел 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() для значений с плавающей точкой. По умолчанию альфа-канал устанавливается в 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, но вместо параметра Значение 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 предоставляет альфа-канал для отрисовки с альфа-смешиванием.
См. также QPalette, QBrush и QColorConstants.
Документация по типам членов
Перечисление 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().
Документация по функциям-членам
[since 5.8] 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().
[since 5.6] 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().
int QColor::alpha() const
Возвращает компонент альфа цвета.
См. также setAlpha(), alphaF() и Смешивание с альфой при рисовании.
float QColor::alphaF() const
Возвращает компонент альфа цвета.
См. также setAlphaF(), alpha() и Смешивание с альфой при рисовании.
int QColor::black() const
Возвращает компонент чёрного цвета.
См. также blackF(), getCmyk() и Модель CMYK цветов.
float QColor::blackF() const
Возвращает компонент чёрного цвета.
См. также black(), getCmykF() и Модель CMYK цветов.
int QColor::blue() const
Возвращает компонент синего цвета.
См. также setBlue(), blueF() и getRgb().
float QColor::blueF() const
Возвращает компонент синего цвета.
См. также setBlueF(), blue() и getRgbF().
[static] QStringList QColor::colorNames()
Возвращает QStringList с именами цветов, известными Qt.
См. также Предопределённые цвета.
QColor QColor::convertTo(QColor::Spec colorSpec) const
Создаёт копию текущего цвета в формате, заданном colorSpec.
См. также spec(), toCmyk(), toHsv(), toRgb() и isValid().
int QColor::cyan() const
Возвращает компонент голубого цвета.
См. также cyanF(), getCmyk() и Модель CMYK цветов.
float QColor::cyanF() const
Возвращает компонент голубого цвета.
См. также cyan(), getCmykF() и Модель CMYK цветов.
QColor QColor::darker(int factor = 200) const
Возвращает более тёмный (или светлый) цвет, но не изменяет текущий объект.
Если factor больше 100, функция возвращает более тёмный цвет. Установка factor в 300 возвращает цвет, имеющий в 3 раза меньшую яркость. Если factor меньше 100, возвращаемый цвет светлее, но для этой цели рекомендуется использовать функцию lighter(). Если factor равен 0 или меньше, результат не определён.
Функция преобразует текущий цвет в HSV, делит компонент значения (V) на factor и преобразует цвет обратно в исходный формат.
См. также 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(float c, float m, float y, float k, float 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.
См. также toHsl(), fromHslF(), isValid() и Модель цвета HSL.
[static] QColor QColor::fromHslF(float h, float s, float l, float a = 1.0)
Это перегруженная функция.
Статическая вспомогательная функция, возвращающая QColor, построенную из значений цвета HSV, h (оттенок), s (насыщенность), l (светлота) и a (альфа-канал, т.е. прозрачность).
Все значения должны быть в диапазоне 0.0-1.0.
См. также 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(float h, float s, float v, float 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, since 5.6] 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, since 5.6] QColor QColor::fromRgba64(QRgba64 rgba64)
Статическая вспомогательная функция, возвращающая QColor, построенную из заданного значения QRgba64 rgba64.
Эта функция была добавлена в Qt 5.6.
См. также fromRgb(), fromRgbF(), toRgb() и isValid().
[static] QColor QColor::fromRgbF(float r, float g, float b, float 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(float *c, float *m, float *y, float *k, float *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().
См. также getHslF(), setHsl() и Модель цвета HSL.
void QColor::getHslF(float *h, float *s, float *l, float *a = nullptr) const
Устанавливает содержимое, указанное по h, s, l и a, на компоненты оттенка, насыщенности, светлоты и альфа-канала (прозрачности) значения цвета HSL.
Эти компоненты могут быть получены индивидуально с помощью функций hslHueF(), hslSaturationF(), lightnessF() и alphaF().
См. также 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(float *h, float *s, float *v, float *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(float *r, float *g, float *b, float *a = nullptr) const
Устанавливает значения, на которые указывают r, g, b и a, в качестве компонентов красного, зеленого, синего и альфа-канала (прозрачности) цвета в представлении RGB.
Эти компоненты можно получить индивидуально, используя функции redF(), greenF(), blueF() и alphaF().
int QColor::green() const
Возвращает компонент зеленого цвета этого цвета.
См. также setGreen(), greenF() и getRgb().
float QColor::greenF() const
Возвращает компонент зеленого цвета этого цвета.
См. также setGreenF(), green() и getRgbF().
int QColor::hslHue() const
Возвращает компонент цветового тона HSL этого цвета.
См. также hslHueF(), hsvHue(), getHsl() и Модель HSL.
float QColor::hslHueF() const
Возвращает компонент цветового тона HSL этого цвета.
См. также hslHue(), hsvHueF() и getHslF().
int QColor::hslSaturation() const
Возвращает компонент насыщенности HSL этого цвета.
См. также hslSaturationF(), hsvSaturation(), getHsl() и Модель HSL.
float QColor::hslSaturationF() const
Возвращает компонент насыщенности HSL этого цвета.
См. также hslSaturation(), hsvSaturationF(), getHslF() и Модель HSL.
int QColor::hsvHue() const
Возвращает компонент цветового тона HSV этого цвета.
См. также hueF(), hslHue(), getHsv() и Модель HSV.
float QColor::hsvHueF() const
Возвращает компонент цветового тона этого цвета.
См. также hue(), hslHueF(), getHsvF() и Модель HSV.
int QColor::hsvSaturation() const
Возвращает компонент насыщенности HSV этого цвета.
См. также saturationF(), hslSaturation(), getHsv() и Модель HSV.
float QColor::hsvSaturationF() const
Возвращает компонент насыщенности HSV этого цвета.
См. также saturation(), hslSaturationF(), getHsvF() и Модель HSV.
int QColor::hue() const
Возвращает компонент цветового тона HSV этого цвета.
Цвет неявно преобразуется в HSV.
См. также hsvHue(), hslHue(), hueF(), getHsv() и Модель HSV.
float 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().
См. также setNamedColor().
[static, since 5.10] bool QColor::isValidColor(QStringView name)
Это перегруженная функция.
Эта функция была добавлена в Qt 5.10.
[static, since 5.8] 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 и преобразует цвет обратно в исходное цветовое представление.
См. также darker() и isValid().
int QColor::lightness() const
Возвращает компонент светлоты этого цвета.
См. также lightnessF() и getHsl().
float QColor::lightnessF() const
Возвращает компонент светлоты этого цвета.
См. также value() и getHslF().
int QColor::magenta() const
Возвращает компонент пурпурного цвета этого цвета.
См. также magentaF(), getCmyk() и Модель CMYK.
float QColor::magentaF() const
Возвращает компонент пурпурного цвета этого цвета.
См. также magenta(), getCmykF() и Модель CMYK.
[since 5.2] QString QColor::name(QColor::NameFormat format = HexRgb) const
Возвращает имя цвета в указанном формате.
Эта функция была добавлена в Qt 5.2.
См. также setNamedColor() и NameFormat.
int QColor::red() const
Возвращает компонент красного цвета этого цвета.
См. также setRed(), redF() и getRgb().
float QColor::redF() const
Возвращает красный цветовой компонент этого цвета.
См. также setRedF(), red(), и getRgbF().
QRgb QColor::rgb() const
Возвращает значение RGB цвета. Значение альфа-канала — непрозрачное.
См. также setRgb(), getRgb(), и rgba().
[since 5.6] 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 цвета.
float QColor::saturationF() const
Возвращает компонент насыщенности HSV этого цвета.
Цвет неявным образом преобразуется в HSV.
См. также hsvSaturationF(), hslSaturationF(), saturation(), getHsvF(), и Модель HSV цвета.
void QColor::setAlpha(int alpha)
Устанавливает альфа-канал этого цвета в alpha. Целочисленный альфа-канал задаётся в диапазоне 0-255.
См. также alpha(), alphaF(), и Смешивание с альфа-каналом.
void QColor::setAlphaF(float alpha)
Устанавливает альфа-канал этого цвета в alpha. Вещественный альфа-канал задаётся в диапазоне 0.0-1.0.
См. также alphaF(), alpha(), и Смешивание с альфа-каналом.
void QColor::setBlue(int blue)
Устанавливает синюю составляющую цвета в blue. Целочисленные компоненты задаются в диапазоне 0-255.
См. также blue(), blueF(), и setRgb().
void QColor::setBlueF(float blue)
Устанавливает синюю составляющую цвета в blue. Если blue выходит за пределы диапазона 0.0-1.0, модель цвета изменится на ExtendedRgb.
См. также 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(float c, float m, float y, float k, float 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(float 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.
См. также getHsl() и setHslF().
void QColor::setHslF(float h, float s, float l, float a = 1.0)
Устанавливает светлоту цвета HSL; h — оттенок, s — насыщенность, l — светлота и a — альфа-компонент цвета HSL.
Все значения должны быть в диапазоне 0.0-1.0.
См. также 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(float h, float s, float v, float 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, предоставленных World Wide Web Consortium, например, "steelblue" или "gainsboro". Эти имена цветов работают на всех платформах. Обратите внимание, что эти имена цветов не совпадают с именами, определёнными в перечислении Qt::GlobalColor, например, "green" и Qt::green не относятся к одному и тому же цвету.
-
transparent- представляющее отсутствие цвета.
Цвет недействителен, если name невозможно разобрать.
См. также QColor(), name(), и isValid().
[since 5.10] void QColor::setNamedColor(QStringView name)
Это перегруженная функция.
Эта функция была добавлена в Qt 5.10.
[since 5.8] void QColor::setNamedColor(QLatin1String name)
Это перегруженная функция.
Эта функция была добавлена в Qt 5.8.
void QColor::setRed(int red)
Устанавливает красную составляющую цвета в red. Целочисленные компоненты задаются в диапазоне 0-255.
См. также red(), redF(), и setRgb().
void QColor::setRedF(float red)
Устанавливает красную составляющую цвета в red. Если red выходит за пределы диапазона 0.0-1.0, модель цвета изменится на ExtendedRgb.
См. также redF(), red(), и setRgbF().
END_OF_DOCUMENT_MARKERvoid 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. Значение альфа устанавливается в непрозрачное.
[since 5.6] void QColor::setRgba64(QRgba64 rgba)
Устанавливает значение RGB64 в rgba, включая альфа-канал.
Эта функция была добавлена в Qt 5.6.
См. также setRgba() и rgba64().
void QColor::setRgbF(float r, float g, float b, float 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.
[since 5.14] QColor QColor::toExtendedRgb() const
Создаёт и возвращает расширенный RGB QColor на основе этого цвета.
Эта функция была добавлена в Qt 5.14.
См. также toRgb и convertTo().
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.
float QColor::valueF() const
Возвращает компонент значения цвета этого цвета.
См. также value(), getHsvF() и Модель цвета HSV.
int QColor::yellow() const
Возвращает компонент жёлтого цвета этого цвета.
См. также yellowF(), getCmyk() и Модель цвета CMYK.
float 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().
END_OF_DOCUMENT_MARKERСвязанные не члены
QRgb
Четверка ARGB в формате #AARRGGBB, эквивалентная целому беззнаковому числу.
Тип также содержит значение для альфа-канала. Значение по умолчанию для альфа-канала ff, то есть непрозрачный. Дополнительную информацию см. в разделе Смешивание с альфа-каналом.
Ниже приведены примеры создания значений QRgb:
const QRgb rgb1 = 0x88112233;
const QRgb rgb2 = QColor("red").rgb();
const QRgb rgb3 = qRgb(qRed(rgb1), qGreen(rgb2), qBlue(rgb2));
const QRgb rgb4 = qRgba(qRed(rgb1), qGreen(rgb2), qBlue(rgb2), qAlpha(rgb1)); См. также qRgb(), qRgba(), QColor::rgb() и QColor::rgba().
int qAlpha(QRgb rgba)
Возвращает компонент альфа четвёрки ARGB rgba.
См. также qRgb() и QColor::alpha().
[since 5.6] uint qAlpha(QRgba64 rgba64)
Возвращает компонент альфа rgba64 как значение в 8 бит.
Эта функция была добавлена в Qt 5.6.
См. также QRgba64::alpha8() и QColor::alpha().
int qBlue(QRgb rgb)
Возвращает компонент синего цвета четвёрки ARGB rgb.
См. также qRgb() и QColor::blue().
[since 5.6] 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().
[since 5.6] uint qGreen(QRgba64 rgba64)
Возвращает компонент зеленого цвета rgba64 как значение в 8 бит.
Эта функция была добавлена в Qt 5.6.
См. также QRgba64::green8() и QColor::green().
[since 5.3] QRgb qPremultiply(QRgb rgb)
Преобразует непредмноженную четвёрку ARGB rgb в предмноженную четвёрку ARGB.
Эта функция была добавлена в Qt 5.3.
См. также qUnpremultiply().
[since 5.6] QRgba64 qPremultiply(QRgba64 rgba64)
Преобразует непредмноженную четвёрку QRgba64 rgba64 в предмноженную четвёрку QRgba64.
Эта функция была добавлена в Qt 5.6.
См. также QRgba64::premultiplied() и qUnpremultiply().
int qRed(QRgb rgb)
Возвращает компонент красного цвета четвёрки ARGB rgb.
См. также qRgb() и QColor::red().
[since 5.6] 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() и qAlpha().
[since 5.6] QRgba64 qRgba64(quint16 r, quint16 g, quint16 b, quint16 a)
Возвращает четвёрку QRgba64 (r, g, b, a).
Эта функция была добавлена в Qt 5.6.
См. также qRgba().
[since 5.6] 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() и qAlpha().
[since 5.3] QRgb qUnpremultiply(QRgb rgb)
Преобразует предмноженную четвёрку ARGB rgb в непредмноженную четвёрку ARGB.
Эта функция была добавлена в Qt 5.3.
См. также qPremultiply().
[since 5.6] 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-6.2/qcolor.html