Spec-Zone.ru › Qt 5.12

Класс QColor

Класс QColor предоставляет цвета на основе значений RGB, HSV или CMYK. Подробнее...

Заголовок: #include <QColor>
qmake: QT += gui
  • Список всех членов, включая унаследованные
  • Устаревшие члены

Публичные типы

перечисление ФорматИмени { HexRgb, HexArgb }
перечисление Спецификация { Rgb, Hsv, Cmyk, Hsl, Недействительный }

Публичные функции

QColor()
QColor(Qt::GlobalColor color)
QColor(int r, int g, int b, int a = ...)
QColor(QRgb color)
QColor(QRgba64 rgba64)
QColor(const QString &name)
QColor(QStringView name)
QColor(const char *name)
QColor(QLatin1String name)
QColor(const QColor &color)
QColor(QColor &&other)
int alpha() const
qreal alphaF() const
int black() const
qreal blackF() const
int blue() const
qreal blueF() const
QColor convertTo(QColor::Spec colorSpec) const
int cyan() const
qreal cyanF() const
QColor darker(int factor = 200) const
void getCmyk(int *c, int *m, int *y, int *k, int *a = nullptr)
void getCmykF(qreal *c, qreal *m, qreal *y, qreal *k, qreal *a = nullptr)
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 hue() const
qreal hueF() const
bool isValid() const
QColor lighter(int factor = 150) const
int lightness() const
qreal lightnessF() const
int magenta() const
qreal magentaF() const
QString name() const
QString name(QColor::NameFormat format) const
int red() const
qreal redF() const
QRgb rgb() const
QRgba64 rgba64() const
QRgb rgba() const
int saturation() const
qreal saturationF() const
void setAlpha(int alpha)
void setAlphaF(qreal alpha)
void setBlue(int blue)
void setBlueF(qreal blue)
void setCmyk(int c, int m, int y, int k, int a = 255)
void setCmykF(qreal c, qreal m, qreal y, qreal k, qreal a = 1.0)
void setGreen(int green)
void setGreenF(qreal green)
void setHsl(int h, int s, int l, int a = 255)
void setHslF(qreal h, qreal s, qreal l, qreal a = 1.0)
void setHsv(int h, int s, int v, int a = 255)
void setHsvF(qreal h, qreal s, qreal v, qreal a = 1.0)
void setNamedColor(const QString &name)
void setNamedColor(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 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=(QColor &&other)
QColor & operator=(const QColor &color)
QColor & operator=(Qt::GlobalColor color)
bool operator==(const QColor &color) const

Статические публичные члены

QStringList colorNames()
QColor fromCmyk(int c, int m, int y, int k, int a = 255)
QColor fromCmykF(qreal c, qreal m, qreal y, qreal k, qreal a = 1.0)
QColor fromHsl(int h, int s, int l, int a = 255)
QColor fromHslF(qreal h, qreal s, qreal l, qreal a = 1.0)
QColor fromHsv(int h, int s, int v, int a = 255)
QColor fromHsvF(qreal h, qreal s, qreal v, qreal a = 1.0)
QColor fromRgb(QRgb rgb)
QColor fromRgb(int r, int g, int b, int a = 255)
QColor fromRgba64(ushort r, ushort g, ushort b, ushort a = USHRT_MAX)
QColor fromRgba64(QRgba64 rgba64)
QColor fromRgbF(qreal r, qreal g, qreal b, qreal a = 1.0)
QColor fromRgba(QRgb rgba)
bool isValidColor(const QString &name)
bool isValidColor(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)

Подробное описание

Класс QColor предоставляет цвета на основе значений RGB, HSV или CMYK.

Цвет обычно задается компонентами RGB (красный, зеленый и синий), но также можно задать его с помощью компонентов HSV (оттенок, насыщенность и значение) и CMYK (голубой, пурпурный, желтый и черный). Кроме того, цвет можно задать с помощью имени цвета. Имя цвета может быть любым именем цвета SVG 1.0.

RGB HSV CMYK

Конструктор QColor создает цвет на основе значений RGB. Для создания QColor на основе значений HSV или CMYK используйте функции toHsv() и toCmyk() соответственно. Эти функции возвращают копию цвета в нужном формате. Кроме того, статические функции fromRgb(), fromHsv() и fromCmyk() создают цвета из указанных значений. В качестве альтернативы цвет можно преобразовать в любой из трех форматов с помощью функции convertTo() (возвращающей копию цвета в нужном формате) или функций setRgb(), setHsv() и setCmyk(), изменяющих формат текущего цвета. Функция spec() указывает, как был задан цвет.

Цвет можно задать, передав строку RGB (например, "#112233") или строку ARGB (например, "#ff112233") или имя цвета (например, "синий") функции setNamedColor(). Имена цветов взяты из имен цветов SVG 1.0. Функция name() возвращает имя цвета в формате "#RRGGBB". Цвета также можно задать с помощью setRgb(), setHsv() и setCmyk(). Для получения более светлого или темного цвета используйте функции lighter() и darker() соответственно.

Функция isValid() указывает, является ли QColor допустимым. Например, цвет RGB с недопустимыми значениями RGB является недопустимым. По соображениям производительности QColor в основном игнорирует недопустимые цвета, и поэтому результат использования недопустимого цвета не определен.

Компоненты цвета можно получить индивидуально, например, с помощью red(), hue() и cyan(). Значения компонентов цвета также можно получить за один раз с помощью функций getRgb(), getHsv() и getCmyk(). Используя модель RGB, компоненты цвета можно также получить с помощью rgb().

Существует несколько связанных не-членов: QRgb — это тип для целого без знака, представляющего тройку значений RGB (r, g, b). Обратите внимание, что он также может содержать значение для альфа-канала (подробнее см. раздел Альфа-смешанное рисование). Функции qRed(), qBlue() и qGreen() возвращают соответствующую компоненту заданного значения QRgb, а функции qRgb() и qRgba() создают и возвращают тройку QRgb на основе заданных значений компонентов. Наконец, функция qAlpha() возвращает альфа-компоненту предоставленного значения QRgb, а функция qGray() рассчитывает и возвращает значение серого на основе заданного значения.

QColor независим от платформы и устройства. Класс QColormap сопоставляет цвет с аппаратным обеспечением.

Дополнительную информацию о рисовании в целом см. в документации по системе рисования.

Целочисленная и плавающая точность

QColor поддерживает плавающую точность и предоставляет плавающие версии всех функций компонентов цвета, например, getRgbF(), hueF() и fromCmykF(). Обратите внимание, что поскольку компоненты хранятся с помощью целых 16-битных чисел, могут быть небольшие отклонения между значениями, заданными, например, с помощью setRgbF(), и значениями, возвращаемыми функцией getRgbF(), из-за округления.

В то время как целочисленные функции принимают значения в диапазоне 0-255 (за исключением hue(), которое должно иметь значения в диапазоне 0-359), функции с плавающей точкой принимают значения в диапазоне 0,0 - 1,0.

Альфа-смешанное рисование

QColor также поддерживает альфа-смешанное контурирование и заполнение. Альфа-канал цвета определяет эффект прозрачности; 0 представляет полностью прозрачный цвет, а 255 — полностью непрозрачный цвет. Например:

// Specify semi-transparent red
painter.setBrush(QColor(255, 0, 0, 127));
painter.drawRect(0, 0, width()/2, height());

// Specify semi-transparent blue
painter.setBrush(QColor(0, 0, 255, 127));
painter.drawRect(0, 0, width(), height()/2);

Приведенный выше код выводит следующий результат:

Альфа-канал цвета можно получить и установить с помощью функций alpha() и setAlpha(), если его значение является целым числом, и alphaF() и setAlphaF(), если его значение является qreal (double). По умолчанию альфа-канал устанавливается в 255 (непрозрачный). Чтобы получить и установить все компоненты цвета RGB (включая альфа-канал) за один раз, используйте функции rgba() и setRgba().

Предопределенные цвета

Существует 20 предопределенных цветов QColor, описанных в перечислении Qt::GlobalColor, включая черный, белый, основные и вторичные цвета, более темные версии этих цветов и три оттенка серого. QColor также распознает множество имен цветов; статическая функция colorNames() возвращает QStringList имен цветов, о которых знает QColor.

Qt Colors

Кроме того, цвета Qt::color0, Qt::color1 и Qt::transparent используются для специальных целей.

Qt::color0 (нулевое значение пикселя) и Qt::color1 (значение пикселя отличное от нуля) являются специальными цветами для рисования в QBitmaps. Рисование с помощью Qt::color0 устанавливает биты карты в 0 (прозрачный; т.е. фон), а рисование с помощью Qt::color1 устанавливает биты в 1 (непрозрачный; т.е. передние).

Qt::transparent используется для обозначения прозрачного пикселя. При рисовании с этим значением будет использоваться значение пикселя, соответствующее используемому формату пикселей.

Модель HSV цветов

Модель RGB ориентирована на аппаратное обеспечение. Её представление близко к тому, что отображают большинство мониторов. В отличие от этого, HSV представляет цвет таким образом, который лучше соответствует человеческому восприятию цвета. Например, отношения «сильнее», «темнее» и «противоположное» легко выразить в HSV, но гораздо сложнее выразить в RGB.

HSV, как и RGB, имеет три компонента:

  • H, для оттенка, находится в диапазоне от 0 до 359, если цвет хроматический (не серый), или бессмысленно, если он серый. Он представляет градусы на цветовом круге, знакомом большинству людей. Красный — 0 (градусов), зелёный — 120, а синий — 240.

  • S, для насыщенности, находится в диапазоне от 0 до 255, и чем больше он, тем сильнее цвет. Серые цвета имеют насыщенность около 0; очень яркие цвета имеют насыщенность около 255.

  • V, для значения, находится в диапазоне от 0 до 255 и представляет собой светлоту или яркость цвета. 0 — это чёрный; 255 — максимально возможная удалённость от чёрного.

Вот несколько примеров: чистый красный цвет имеет H=0, S=255, V=255; тёмно-красный цвет, немного смещённый к пурпурно-красному, может быть H=350 (эквивалентно -10), S=255, V=180; серовато-светло-красный может иметь H примерно 0 (скажем, 350-359 или 0-10), S примерно 50-100, а S=255.

Qt возвращает значение оттенка -1 для ахроматических цветов. Если вы передаёте значение оттенка, которое слишком велико, Qt принудительно помещает его в диапазон. Оттенок 360 или 720 обрабатывается как 0; оттенок 540 обрабатывается как 180.

В дополнение к стандартной модели HSV Qt предоставляет альфа-канал для функции смешивания с альфа-каналом.

Модель цвета HSL

HSL похожа на HSV, однако вместо параметра Значение HSL задаёт параметр Светлота, который несколько иначе соотносится с яркостью цвета.

Аналогично, значение насыщенности 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.

Документация по документации типов членов

enum QColor::NameFormat

Как форматировать вывод функции name()

Постоянная Значение Описание
QColor::HexRgb 0 #RRGGBB Символ "#" за которым следуют три двухзначных шестнадцатеричных числа (например, #RRGGBB).
QColor::HexArgb 1 #AARRGGBB Символ "#" за которым следуют четыре двухзначных шестнадцатеричных числа (например, #AARRGGBB).

См. также name().

enum QColor::Spec

Тип заданного цвета, RGB, HSV, CMYK или HSL.

Постоянная Значение
QColor::Rgb 1
QColor::Hsv 2
QColor::Cmyk 3
QColor::Hsl 4
QColor::Invalid 0

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

Документация по документации функций членов

QColor::QColor()

Создаёт недопустимый цвет со значением RGB (0, 0, 0). Недопустимый цвет — это цвет, который не настроен должным образом для базовой системы окон.

Значение альфа-канала недопустимого цвета не определено.

См. также isValid().

QColor::QColor(Qt::GlobalColor color)

Это перегруженная функция.

Создаёт новый цвет со значением цвета color.

См. также isValid() и Предустановленные цвета.

QColor::QColor(int r, int g, int b, int a = ...)

Создаёт цвет со значением RGB r, g, b и значением альфа-канала (прозрачности) a.

Цвет остается недопустимым, если какое-либо из аргументов недействительно.

См. также setRgba() и isValid().

QColor::QColor(QRgb color)

Создаёт цвет со значением color. Компонент альфа игнорируется и устанавливается как непрозрачный.

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

QColor::QColor(QRgba64 rgba64)

Создаёт цвет со значением rgba64.

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

См. также fromRgba64().

QColor::QColor(const QString &name)

Создаёт именованный цвет так же, как и setNamedColor() с использованием данного имени name.

Цвет остаётся недопустимым, если имя name не может быть проанализировано.

См. также setNamedColor(), name() и isValid().

QColor::QColor(QStringView name)

Создаёт экземпляр QColor по умолчанию.

QColor::QColor(const char *name)

Создаёт именованный цвет так же, как и setNamedColor() с использованием данного имени name.

Это перегруженная функция.

См. также setNamedColor(), name() и isValid().

QColor::QColor(QLatin1String name)

Создаёт именованный цвет так же, как и setNamedColor() с использованием данного имени name.

Это перегруженная функция.

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

См. также setNamedColor(), name() и isValid().

QColor::QColor(const QColor &color)

Создаёт цвет, являющийся копией color.

См. также isValid().

QColor::QColor(QColor &&other)

Конструктор перемещения.

int QColor::alpha() const

Возвращает компонент альфа цвета.

См. также setAlpha(), alphaF() и Смешивание с альфа-каналом.

qreal QColor::alphaF() const

Возвращает компонент альфа цвета.

См. также setAlphaF(), alpha() и Смешивание с альфа-каналом.

int QColor::black() const

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

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

qreal QColor::blackF() const

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

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

int QColor::blue() const

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

См. также setBlue(), blueF() и getRgb().

qreal QColor::blueF() const

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

См. также setBlueF(), blue() и getRgbF().

[static] QStringList QColor::colorNames()

Возвращает QStringList содержащую имена цветов, которые известны Qt.

См. также Предустановленные цвета.

QColor QColor::convertTo(QColor::Spec colorSpec) const

Создаёт копию текущего цвета в формате, указанном colorSpec.

См. также spec(), toCmyk(), toHsv(), toRgb() и isValid().

int QColor::cyan() const

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

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

qreal QColor::cyanF() const

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

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

QColor QColor::darker(int factor = 200) const

Возвращает более тёмный (или светлый) цвет, но не изменяет этот объект.

Если factor больше 100, эта функция возвращает более тёмный цвет. Установка factor в 300 возвращает цвет с одной третью яркости. Если factor меньше 100, возвращаемый цвет будет светлее, но для этой цели рекомендуется использовать функцию lighter(). Если factor равен 0 или отрицателен, возвращаемое значение неопределено.

Функция преобразует текущий цвет RGB в HSV, делит компонент значения (V) на factor и преобразует цвет обратно в RGB.

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

См. также lighter() и isValid().

[static] QColor QColor::fromCmyk(int c, int m, int y, int k, int a = 255)

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

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

См. также toCmyk(), fromCmykF(), isValid() и Модель CMYK.

[static] QColor QColor::fromCmykF(qreal c, qreal m, qreal y, qreal k, qreal a = 1.0)

Это перегруженная функция.

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

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

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

[static] QColor QColor::fromHsl(int h, int s, int l, int a = 255)

Статическая вспомогательная функция, которая возвращает QColor, созданный из значений цвета HSV: h (оттенок), s (насыщенность), l (светлота) и a (альфа-канал, т. е. прозрачность).

Значения s, l и a должны быть в диапазоне 0-255; значение h должно быть в диапазоне 0-359.

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

См. также toHsl(), fromHslF(), isValid() и Модель HSL.

[static] QColor QColor::fromHslF(qreal h, qreal s, qreal l, qreal a = 1.0)

Это перегруженная функция.

Статическая вспомогательная функция, которая возвращает QColor, созданный из значений цвета HSV: h (оттенок), s (насыщенность), l (светлота) и a (альфа-канал, т. е. прозрачность).

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

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

См. также toHsl(), fromHsl(), isValid() и Модель 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.

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

END_OF_DOCUMENT_MARKER

[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)

Устанавливает значения, на которые указывают 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)

Устанавливает значения, на которые указывают 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 или отрицателен, значение возврата не определено.

Функция преобразует текущий цвет RGB в HSV, умножает компонент значения (V) на factor и преобразует цвет обратно в RGB.

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

См. также darker() и isValid().

int QColor::lightness() const

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

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

См. также lightnessF() и getHsl().

qreal QColor::lightnessF() const

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

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

См. также value() и getHslF().

int QColor::magenta() const

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

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

qreal QColor::magentaF() const

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

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

QString QColor::name() const

Возвращает имя цвета в формате "#RRGGBB"; т.е. символ "#" и три двухзначных шестнадцатеричных числа.

См. также setNamedColor().

QString QColor::name(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. Вещественный альфа-канал задается в диапазоне 0.0-1.0.

См. также alphaF(), alpha(), и Рисование с альфа-смешиванием.

void QColor::setBlue(int blue)

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

См. также blue(), blueF(), и setRgb().

void QColor::setBlueF(qreal blue)

Устанавливает синий компонент цвета этого цвета в blue. Компоненты с плавающей точкой задаются в диапазоне 0.0-1.0.

См. также blueF(), blue(), и setRgbF().

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

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

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

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

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

Это перегруженная функция.

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

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

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

void QColor::setGreen(int green)

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

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

void QColor::setGreenF(qreal green)

Устанавливает зелёный компонент цвета этого цвета в значение green. Значения с плавающей точкой задаются в диапазоне от 0,0 до 1,0.

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

void QColor::setHsl(int h, int s, int l, int a = 255)

Устанавливает значение цвета HSL; h — оттенок, s — насыщенность, l — светлота и a — альфа-компонент цвета HSL.

Значения насыщенности, значения и альфа-канала должны быть в диапазоне от 0 до 255, а значение оттенка должно быть больше -1.

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

См. также getHsl() и setHslF().

void QColor::setHslF(qreal h, qreal s, qreal l, qreal a = 1.0)

Устанавливает светлоту цвета HSL; h — оттенок, s — насыщенность, l — светлота и a — альфа-компонент цвета HSL.

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

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

См. также getHslF() и setHsl().

void QColor::setHsv(int h, int s, int v, int a = 255)

Устанавливает значение цвета HSV; h — оттенок, s — насыщенность, v — значение и a — альфа-компонент цвета HSV.

Значения насыщенности, значения и альфа-канала должны быть в диапазоне от 0 до 255, а значение оттенка должно быть больше -1.

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

void QColor::setHsvF(qreal h, qreal s, qreal v, qreal a = 1.0)

Устанавливает значение цвета HSV; h — оттенок, s — насыщенность, v — значение и a — альфа-компонент цвета HSV.

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

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

void QColor::setNamedColor(const QString &name)

Устанавливает значение RGB этого QColor в значение name, которое может быть в одном из следующих форматов:

  • #RGB (каждый из R, G и B — одиночная шестнадцатеричная цифра)
  • #RRGGBB
  • #AARRGGBB (с Qt 5.2)
  • #RRRGGGBBB
  • #RRRRGGGGBBBB
  • Имя из списка цветов, определённых в списке имен ключевых слов цветов SVG, предоставленном Консорциумом Всемирной паутины; например, "steelblue" или "gainsboro". Эти имена цветов работают на всех платформах. Обратите внимание, что эти имена цветов не совпадают с определениями перечислений Qt::GlobalColor, например, "зелёный" и 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. Значения с плавающей точкой задаются в диапазоне от 0,0 до 1,0.

См. также redF(), red() и setRgbF().

void QColor::setRgb(int r, int g, int b, int a = 255)

Устанавливает значение RGB в r, g, b и значение альфа в a.

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

См. также rgb(), getRgb() и setRgbF().

void QColor::setRgb(QRgb rgb)

Это перегруженная функция.

Устанавливает значение RGB в rgb. Значение альфа устанавливается в непрозрачное.

void QColor::setRgba64(QRgba64 rgba)

Устанавливает значение RGB64 в rgba, включая альфа-канал.

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

См. также setRgba() и rgba64().

void QColor::setRgbF(qreal r, qreal g, qreal b, qreal a = 1.0)

Устанавливает цветовые каналы этого цвета в r (красный), g (зелёный), b (синий) и a (альфа, прозрачность).

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

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

void QColor::setRgba(QRgb rgba)

Устанавливает значение RGB в rgba, включая его альфа-канал.

См. также rgba(), rgb() и setRgba64().

QColor::Spec QColor::spec() const

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

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

QColor QColor::toCmyk() const

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

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

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

QColor &QColor::operator=(QColor &&other)

Оператор присваивания перемещением.

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

Присваивает копию color этому цвету и возвращает ссылку на него.

QColor &QColor::operator=(Qt::GlobalColor color)

Это перегруженная функция.

Присваивает копию color и возвращает ссылку на этот цвет.

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

Возвращает true если у этого цвета такие же значения RGB и альфа-канала, как у color; в противном случае возвращает false.

Связанные нечлены

typedef QRgb

Четверка ARGB в формате #AARRGGBB, эквивалентная unsigned int.

Тип также содержит значение для альфа-канала. По умолчанию альфа-канал равен 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.12/qcolor.html

Spec-Zone.ru

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