Spec-Zone.ru › Qt 5.13

Класс QColor

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

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

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

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

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

QColor(const QColor &color)
QColor(QLatin1String name)
QColor(const char *name)
QColor(const QString &name)
QColor(QRgba64 rgba64)
QColor(QRgb color)
QColor(int r, int g, int b, int a = ...)
QColor(Qt::GlobalColor color)
QColor()
QColor & operator=(const QColor &color)
int alpha() const
qreal alphaF() const
int black() const
qreal blackF() const
int blue() const
qreal blueF() const
QColor convertTo(QColor::Spec colorSpec) const
int cyan() const
qreal cyanF() const
QColor темнее(int factor = 200) const
void getCmyk(int *c, int *m, int *y, int *k, int *a = nullptr) const
void getCmykF(qreal *c, qreal *m, qreal *y, qreal *k, qreal *a = nullptr) const
void getHsl(int *h, int *s, int *l, int *a = nullptr) const
void getHslF(qreal *h, qreal *s, qreal *l, qreal *a = nullptr) const
void getHsv(int *h, int *s, int *v, int *a = nullptr) const
void getHsvF(qreal *h, qreal *s, qreal *v, qreal *a = nullptr) const
void getRgb(int *r, int *g, int *b, int *a = nullptr) const
void getRgbF(qreal *r, qreal *g, qreal *b, qreal *a = nullptr) const
int green() const
qreal greenF() const
int hslHue() const
qreal hslHueF() const
int hslSaturation() const
qreal hslSaturationF() const
int hsvHue() const
qreal hsvHueF() const
int hsvSaturation() const
qreal hsvSaturationF() const
int hue() const
qreal hueF() const
bool isValid() const
QColor светлее(int factor = 150) const
int светлота() 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 насыщенность() const
qreal насыщенностьF() const
void setAlpha(int alpha)
void setAlphaF(qreal alpha)
void setBlue(int blue)
void setBlueF(qreal blue)
void setCmyk(int c, int m, int y, int k, int a = 255)
void setCmykF(qreal c, qreal m, qreal y, qreal k, qreal a = 1.0)
void setGreen(int green)
void setGreenF(qreal green)
void setHsl(int h, int s, int l, int a = 255)
void setHslF(qreal h, qreal s, qreal l, qreal a = 1.0)
void setHsv(int h, int s, int v, int a = 255)
void setHsvF(qreal h, qreal s, qreal v, qreal a = 1.0)
void setNamedColor(const QString &name)
void setNamedColor(QStringView name)
void setNamedColor(QLatin1String name)
void setRed(int red)
void setRedF(qreal red)
void setRgb(int r, int g, int b, int a = 255)
void setRgb(QRgb rgb)
void setRgba64(QRgba64 rgba)
void setRgbF(qreal r, qreal g, qreal b, qreal a = 1.0)
void setRgba(QRgb rgba)
QColor::Spec spec() const
QColor toCmyk() const
QColor toHsl() const
QColor toHsv() const
QColor toRgb() const
int value() const
qreal valueF() const
int yellow() const
qreal yellowF() const
QVariant operator QVariant() const
bool operator!=(const QColor &color) const
QColor & operator=(Qt::GlobalColor color)
bool operator==(const QColor &color) const

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

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

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

typedef QRgb
int qAlpha(QRgb rgba)
uint qAlpha(QRgba64 rgba64)
int qBlue(QRgb rgb)
uint qBlue(QRgba64 rgba64)
int qGray(int r, int g, int b)
int qGray(QRgb rgb)
int qGreen(QRgb rgb)
uint qGreen(QRgba64 rgba64)
QRgb qPremultiply(QRgb rgb)
QRgba64 qPremultiply(QRgba64 rgba64)
int qRed(QRgb rgb)
uint qRed(QRgba64 rgba64)
QRgb qRgb(int r, int g, int b)
QRgba64 qRgba64(quint16 r, quint16 g, quint16 b, quint16 a)
QRgba64 qRgba64(quint64 c)
QRgb qRgba(int r, int g, int b, int a)
QRgb qUnpremultiply(QRgb rgb)
QRgba64 qUnpremultiply(QRgba64 rgba64)
QDataStream & operator<<(QDataStream &stream, const QColor &color)
QDataStream & operator>>(QDataStream &stream, QColor &color)

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

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

RGB HSV CMYK

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

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

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

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

Существует несколько связанных функций: QRgb — псевдоним для целого без знака, представляющего тройку значений 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 предопределённых цветов QColors, описанных в перечислении 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.

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

перечисление QColor::NameFormat

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

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

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

перечисление 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(const QColor &color)

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

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

QColor::QColor(QLatin1String name)

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

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

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

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

QColor::QColor(const char *name)

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

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

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

QColor::QColor(const QString &name)

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

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

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

QColor::QColor(QRgba64 rgba64)

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

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

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

QColor::QColor(QRgb color)

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

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

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

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

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

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

QColor::QColor(Qt::GlobalColor color)

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

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

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

QColor::QColor()

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

Значение альфа недействительного цвета не определено.

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

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

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

int QColor::alpha() const

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

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

qreal QColor::alphaF() const

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

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

int QColor::black() const

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

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

qreal QColor::blackF() const

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

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

int QColor::blue() const

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

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

qreal QColor::blueF() const

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

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

[static] QStringList QColor::colorNames()

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

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

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

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

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

int QColor::cyan() const

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

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

qreal QColor::cyanF() const

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Статическая вспомогательная функция, которая возвращает QColor, построенный из значений цвета 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) const

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

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

См. также setCmyk() и Модель цветового пространства CMYK.

void QColor::getCmykF(qreal *c, qreal *m, qreal *y, qreal *k, qreal *a = nullptr) const

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

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

См. также setCmykF() и Модель цветового пространства CMYK.

void QColor::getHsl(int *h, int *s, int *l, int *a = nullptr) const

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

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

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

См. также getHslF(), setHsl() и Модель цветового пространства HSL.

void QColor::getHslF(qreal *h, qreal *s, qreal *l, qreal *a = nullptr) const

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

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

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

См. также getHsl(), setHslF() и Модель цветового пространства HSL.

void QColor::getHsv(int *h, int *s, int *v, int *a = nullptr) const

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

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

См. также setHsv() и Модель цветового пространства HSV.

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

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

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

См. также setHsv() и Модель цветового пространства HSV.

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

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

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

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

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

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

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

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

int QColor::green() const

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

См. также setGreen(), greenF() и getRgb().

qreal QColor::greenF() const

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

См. также setGreenF(), green() и getRgbF().

int QColor::hslHue() const

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

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

См. также hslHueF(), hsvHue(), getHsl() и Модель цветового пространства HSL.

qreal QColor::hslHueF() const

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

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

См. также hslHue(), hsvHueF() и getHslF().

int QColor::hslSaturation() const

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

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

См. также hslSaturationF(), hsvSaturation(), getHsl() и Модель цветового пространства HSL.

qreal QColor::hslSaturationF() const

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

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

См. также hslSaturation(), hsvSaturationF(), getHslF() и Модель цветового пространства HSL.

int QColor::hsvHue() const

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

См. также hueF(), hslHue(), getHsv() и Модель цветового пространства HSV.

qreal QColor::hsvHueF() const

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

См. также hue(), hslHueF(), getHsvF() и Модель цветового пространства HSV.

int QColor::hsvSaturation() const

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

См. также saturationF(), hslSaturation(), getHsv() и Модель цветового пространства HSV.

qreal QColor::hsvSaturationF() const

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

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

int QColor::hue() const

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

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

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

qreal QColor::hueF() const

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

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

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

bool QColor::isValid() const

Возвращает true если цвет действителен; в противном случае возвращает false.

[static] bool QColor::isValidColor(const QString &name)

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

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

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

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

[static] bool QColor::isValidColor(QStringView name)

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

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

[static] bool QColor::isValidColor(QLatin1String name)

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

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

QColor QColor::lighter(int factor = 150) const

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

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

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

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

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

int QColor::lightness() const

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

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

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

qreal QColor::lightnessF() const

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

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

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

int QColor::magenta() const

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

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

qreal QColor::magentaF() const

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

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

QString QColor::name() const

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

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

QString QColor::name(QColor::NameFormat format) const

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

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

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

int QColor::red() const

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

См. также setRed(), redF(), и getRgb().

qreal QColor::redF() const

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

См. также setRedF(), red(), и getRgbF().

QRgb QColor::rgb() const

Возвращает значение RGB цвета. Значение альфа канала непрозрачное.

См. также setRgb(), getRgb(), и rgba().

QRgba64 QColor::rgba64() const

Возвращает значение RGB64 цвета, включая альфа-канал.

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

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

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

QRgb QColor::rgba() const

Возвращает значение RGB цвета, включая альфа-канал.

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

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

int QColor::saturation() const

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

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

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

qreal QColor::saturationF() const

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

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

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

void QColor::setAlpha(int alpha)

Устанавливает альфа-канал этого цвета в alpha. Целочисленный альфа-канал задаётся в диапазоне 0-255.

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

void QColor::setAlphaF(qreal alpha)

Устанавливает альфа-канал этого цвета в alpha. Значение qreal альфа задаётся в диапазоне 0.0-1.0.

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

void QColor::setBlue(int blue)

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

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

void QColor::setBlueF(qreal blue)

Устанавливает компонент синего цвета этого цвета в blue. Вещественные компоненты задаются в диапазоне 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 (с версии 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(), и Модель цвета 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=(Qt::GlobalColor color)

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

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

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

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

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

typedef QColor::QRgb

Четверка ARGB в формате #AARRGGBB, эквивалентная беззнаковому целому.

Тип также содержит значение для альфа-канала. Значение альфа-канала по умолчанию - ff, т.е. непрозрачный. Дополнительную информацию см. в разделе Алгоритм смешивания с альфа-каналом.

См. также QColor::rgb() и QColor::rgba().

int QColor::qAlpha(QRgb rgba)

Возвращает компонент альфа четверки ARGB rgba.

См. также qRgb() и QColor::alpha().

uint QColor::qAlpha(QRgba64 rgba64)

Возвращает компонент альфа rgba64 как значение с 8 битами.

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

См. также QRgba64::alpha8() и QColor::alpha().

int QColor::qBlue(QRgb rgb)

Возвращает синий компонент четверки ARGB rgb.

См. также qRgb() и QColor::blue().

uint QColor::qBlue(QRgba64 rgba64)

Возвращает синий компонент rgba64 как значение с 8 битами.

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

См. также QRgba64::blue8() и QColor::blue().

int QColor::qGray(int r, int g, int b)

Возвращает значение серого (от 0 до 255) из тройки (r, g, b).

Значение серого вычисляется по формуле (r * 11 + g * 16 + b * 5)/32.

int QColor::qGray(QRgb rgb)

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

Возвращает значение серого (от 0 до 255) из заданной четверки ARGB rgb.

Значение серого вычисляется по формуле (R * 11 + G * 16 + B * 5)/32; альфа-канал игнорируется.

int QColor::qGreen(QRgb rgb)

Возвращает зелёный компонент четверки ARGB rgb.

См. также qRgb() и QColor::green().

uint QColor::qGreen(QRgba64 rgba64)

Возвращает зелёный компонент rgba64 как значение с 8 битами.

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

См. также QRgba64::green8() и QColor::green().

QRgb QColor::qPremultiply(QRgb rgb)

Преобразует непредмнноженную четверку ARGB rgb в предмноженную четверку ARGB.

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

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

QRgba64 QColor::qPremultiply(QRgba64 rgba64)

Преобразует непредмноженную четверку QRgba64 rgba64 в предмноженную четверку QRgba64.

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

См. также QRgba64::premultiplied() и qUnpremultiply().

int QColor::qRed(QRgb rgb)

Возвращает красный компонент четверки ARGB rgb.

См. также qRgb() и QColor::red().

uint QColor::qRed(QRgba64 rgba64)

Возвращает красный компонент rgba64 как значение с 8 битами.

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

См. также QRgba64::red8() и QColor::red().

QRgb QColor::qRgb(int r, int g, int b)

Возвращает четверку ARGB (255, r, g, b).

См. также qRgba(), qRed(), qGreen() и qBlue().

QRgba64 QColor::qRgba64(quint16 r, quint16 g, quint16 b, quint16 a)

Возвращает четверку QRgba64 (r, g, b, a).

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

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

QRgba64 QColor::qRgba64(quint64 c)

Возвращает c как структуру QRgba64.

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

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

QRgb QColor::qRgba(int r, int g, int b, int a)

Возвращает четверку ARGB (a, r, g, b).

См. также qRgb(), qRed(), qGreen() и qBlue().

QRgb QColor::qUnpremultiply(QRgb rgb)

Преобразует предмноженную четверку ARGB rgb в непредмноженную четверку ARGB.

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

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

QRgba64 QColor::qUnpremultiply(QRgba64 rgba64)

Преобразует предмноженную четверку QRgba64 rgba64 в непредмноженную четверку QRgba64.

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

См. также QRgba64::unpremultiplied() и qPremultiply().

QDataStream &QColor::operator<<(QDataStream &stream, const QColor &color)

Записывает color в stream.

См. также Сериализация типов данных Qt.

QDataStream &QColor::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.13/qcolor.html

Spec-Zone.ru

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