Spec-Zone.ru › Qt 5.9

Класс 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 = 255)
QColor(QRgb color)
QColor(QRgba64 rgba64)
QColor(const QString &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(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 = Q_NULLPTR)
void getCmykF(qreal *c, qreal *m, qreal *y, qreal *k, qreal *a = Q_NULLPTR)
void getHsl(int *h, int *s, int *l, int *a = Q_NULLPTR) const
void getHslF(qreal *h, qreal *s, qreal *l, qreal *a = Q_NULLPTR) const
void getHsv(int *h, int *s, int *v, int *a = Q_NULLPTR) const
void getHsvF(qreal *h, qreal *s, qreal *v, qreal *a = Q_NULLPTR) const
void getRgb(int *r, int *g, int *b, int *a = Q_NULLPTR) const
void getRgbF(qreal *r, qreal *g, qreal *b, qreal *a = Q_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(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(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)
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
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(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 указывает параметр Светлота.

Модель 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 = 255)

Создаёт цвет со значением 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(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(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 = Q_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 = Q_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 = Q_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 = Q_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 = Q_NULLPTR) const

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

Эти компоненты можно получить индивидуально с помощью функций hue(), saturation(), value() и alpha().

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

void QColor::getHsvF(qreal *h, qreal *s, qreal *v, qreal *a = Q_NULLPTR) const

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

Эти компоненты можно получить индивидуально с помощью функций hueF(), saturationF(), valueF() и alphaF().

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

void QColor::getRgb(int *r, int *g, int *b, int *a = Q_NULLPTR) const

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

Эти компоненты можно получить индивидуально с помощью функций red(), green(), blue() и alpha().

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

void QColor::getRgbF(qreal *r, qreal *g, qreal *b, qreal *a = Q_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.

bool QColor::isValidColor(const QString &name)

Возвращает true, если name является допустимым именем цвета и может быть использовано для создания объекта QColor, в противном случае возвращает false.

Использует тот же алгоритм, что и setNamedColor().

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

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

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

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 цвета.

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/qt-5.9/qcolor.html

Spec-Zone.ru

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