Spec-Zone.ru › Qt 5.6

Класс 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 = 255)
QColor(QRgb color)
QColor(QRgba64 rgba64)
QColor(const QString &name)
QColor(const char *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 темнее(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 светлее(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 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)

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

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(), изменяющие формат цвета this. Функция 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. Вместо параметра значения из HSV, HSL имеет параметр светлоты. Параметр светлоты меняется от чёрного к цвету и от цвета к белому. Если вы выходите на улицу ночью, то это чёрный или тёмно-серый цвет. Днём это красочный, но если вы посмотрите в очень яркий свет, то вещи будут белыми и выцветшими.

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

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

CMYK имеет четыре компонента, все в диапазоне от 0 до 255: голубой (C), пурпурный (M), жёлтый (Y) и чёрный (K). Голубой, пурпурный и жёлтый называются аддитивными цветами; модель CMYK создаёт цвет, начиная с белой поверхности, а затем вычитая цвет, применяя соответствующие компоненты. В то время как комбинация голубого, пурпурного и жёлтого даёт чёрный цвет, вычитание одного или нескольких даёт любой другой цвет. При различных комбинациях этих трёх цветов можно получить весь спектр цветов.

Смешивание 100 процентов голубого, пурпурного и жёлтого даёт чёрный цвет, но результат неудовлетворительный, так как это приводит к растрате чернил, увеличению времени высыхания и грязному цвету при печати. По этой причине чёрный добавляется в профессиональной печати, чтобы обеспечить твёрдый чёрный тон; отсюда и термин «четырёхцветный процесс».

В дополнение к стандартной модели CMYK Qt предоставляет альфа-канал для поддержки альфа-смешанного вывода.

См. также QPalette, QBrush и QApplication::setColorSpec().

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

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.

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

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

END_OF_DOCUMENT_MARKER

[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() и The HSV Color Model.

[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() и The HSV Color Model.

[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() и The CMYK Color Model.

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() и The CMYK Color Model.

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.

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

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

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

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

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

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

Возвращает имя цвета в указанном формате 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.

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

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

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

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

Spec-Zone.ru

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