Spec-Zone.ru › Qt 5.11

Класс QColor

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

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

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

Перечисление NameFormat { HexRgb, HexArgb }
Перечисление Spec { Rgb, Hsv, Cmyk, Hsl, Invalid }

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

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). Обратите внимание, что он также может содержать значение для альфа-канала (подробнее см. раздел 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().

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

Существует 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 указывает параметр Светлота.

Модель цвета 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().

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

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

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

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

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.

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

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

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

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

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

qreal QColor::hslHueF() const

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

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

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

int QColor::hslSaturation() const

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

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

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

qreal QColor::hslSaturationF() const

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

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

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

int QColor::hsvHue() const

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

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

qreal QColor::hsvHueF() const

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

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

int QColor::hsvSaturation() const

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

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

qreal QColor::hsvSaturationF() const

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

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

int QColor::hue() const

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

Цвет неявно преобразуется в HSV.

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

qreal QColor::hueF() const

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

Цвет неявно преобразуется в HSV.

См. также hsvHueF(), 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

Возвращает имя цвета в заданном формате.

Эта функция была добавлена в 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.

См. также hsvSaturation(), saturationF(), getHsv() и Модель HSV.

qreal QColor::saturationF() const

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

Цвет неявно преобразуется в HSV.

См. также hsvSaturationF(), 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, например, "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. Значения с плавающей точкой задаются в диапазоне 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().

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, эквивалентная целому беззнаковому числу.

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

Spec-Zone.ru

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