Spec-Zone.ru › Qt

Класс 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.

Qt Colors

Цвета 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().

См. также rgb() и setRgb().

void QColor::getRgbF(float *r, float *g, float *b, float *a = nullptr) const

Устанавливает значения, на которые указывают r, g, b и a, в качестве компонентов красного, зеленого, синего и альфа-канала (прозрачности) цвета в представлении RGB.

Эти компоненты можно получить индивидуально, используя функции redF(), greenF(), blueF() и alphaF().

См. также rgb() и setRgb().

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_MARKER

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. Значение альфа устанавливается в непрозрачное.

[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

Возвращает способ задания цвета.

См. также Spec и convertTo().

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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API