Spec-Zone.ru › Qt 5.15

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

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, но вместо параметра 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().

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

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

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

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

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

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_MARKER

void QColor::setCmyk(int c, int m, int y, int k, int a = 255)

Устанавливает цвет в значениях CMYK, c (голубой), m (пурпурный), y (жёлтый), k (чёрный) и a (альфа-канал, т.е. прозрачность).

Все значения должны быть в диапазоне 0-255.

См. также getCmyk(), setCmykF() и Модель цвета CMYK.

void QColor::setCmykF(qreal c, qreal m, qreal y, qreal k, qreal a = 1.0)

Это перегруженный метод.

Устанавливает цвет в значениях CMYK, c (голубой), m (пурпурный), y (жёлтый), k (чёрный) и a (альфа-канал, т.е. прозрачность).

Все значения должны быть в диапазоне 0.0-1.0.

См. также getCmykF(), setCmyk() и Модель цвета CMYK.

void QColor::setGreen(int green)

Устанавливает зелёный компонент цвета на green. Целочисленные компоненты задаются в диапазоне 0-255.

См. также green(), greenF() и setRgb().

void QColor::setGreenF(qreal green)

Устанавливает зелёный компонент цвета на green. Если 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

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

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

QColor QColor::toCmyk() const

Создаёт и возвращает CMYK QColor на основе этого цвета.

См. также fromCmyk(), convertTo(), isValid() и Модель цвета CMYK.

QColor QColor::toExtendedRgb() const

Создаёт и возвращает расширенный RGB QColor на основе этого цвета.

Эта функция была добавлена в Qt 5.14.

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

END_OF_DOCUMENT_MARKER

QColor QColor::toHsl() const

Создаёт и возвращает цвет HSL QColor на основе этого цвета.

См. также fromHsl(), convertTo(), isValid(), и Модель цвета HSL.

QColor QColor::toHsv() const

Создаёт и возвращает цвет HSV QColor на основе этого цвета.

См. также fromHsv(), convertTo(), isValid(), и Модель цвета HSV.

QColor QColor::toRgb() const

Создаёт и возвращает цвет RGB QColor на основе этого цвета.

См. также fromRgb(), convertTo(), и isValid().

int QColor::value() const

Возвращает компонент значения цвета этого цвета.

См. также valueF(), getHsv(), и Модель цвета HSV.

qreal QColor::valueF() const

Возвращает компонент значения цвета этого цвета.

См. также value(), getHsvF(), и Модель цвета HSV.

int QColor::yellow() const

Возвращает компонент жёлтого цвета этого цвета.

См. также yellowF(), getCmyk(), и Модель цвета CMYK.

qreal QColor::yellowF() const

Возвращает компонент жёлтого цвета этого цвета.

См. также yellow(), getCmykF(), и Модель цвета CMYK.

QVariant QColor::operator QVariant() const

Возвращает цвет как QVariant

bool QColor::operator!=(const QColor &color) const

Возвращает true если у этого цвета разные спецификации цвета или значения компонентов, чем у 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

Spec-Zone.ru

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