Spec-Zone.ru › Qt 6.1

Класс QColor

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

Заголовок: #include <QColor>
CMake: find_package(Qt6 COMPONENTS Gui REQUIRED) target_link_libraries(mytarget PRIVATE Qt6::Gui)
qmake: QT += gui
  • Список всех членов, включая унаследованные

Открытые типы

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

Открытые функции

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 = 255)
QColor(Qt::GlobalColor color)
QColor()
int alpha() const
float alphaF() const
int black() const
float blackF() const
int blue() const
float blueF() const
QColor convertTo(QColor::Spec colorSpec) const
int cyan() const
float cyanF() const
QColor темнее(int factor = 200) const
void getCmyk(int *c, int *m, int *y, int *k, int *a = nullptr) const
void getCmykF(float *c, float *m, float *y, float *k, float *a = nullptr) const
void getHsl(int *h, int *s, int *l, int *a = nullptr) const
void getHslF(float *h, float *s, float *l, float *a = nullptr) const
void getHsv(int *h, int *s, int *v, int *a = nullptr) const
void getHsvF(float *h, float *s, float *v, float *a = nullptr) const
void getRgb(int *r, int *g, int *b, int *a = nullptr) const
void getRgbF(float *r, float *g, float *b, float *a = nullptr) const
int green() const
float greenF() const
int hslОттенок() const
float hslОттенокF() const
int hslНасыщенность() const
float hslНасыщенностьF() const
int hsvОттенок() const
float hsvОттенокF() const
int hsvНасыщенность() const
float hsvНасыщенностьF() const
int оттенок() const
float оттенокF() const
bool isValid() const
QColor светлее(int factor = 150) const
int светлота() const
float светлотаF() const
int пурпурный() const
float пурпурныйF() const
QString имя(QColor::NameFormat format = HexRgb) const
int красный() const
float красныйF() const
QRgb rgb() const
QRgba64 rgba64() const
QRgb rgba() const
int насыщенность() const
float насыщенностьF() const
void setAlpha(int alpha)
void setAlphaF(float alpha)
void setBlue(int blue)
void setBlueF(float blue)
void setCmyk(int c, int m, int y, int k, int a = 255)
void setCmykF(float c, float m, float y, float k, float a = 1.0)
void setGreen(int green)
void setGreenF(float green)
void setHsl(int h, int s, int l, int a = 255)
void setHslF(float h, float s, float l, float a = 1.0)
void setHsv(int h, int s, int v, int a = 255)
void setHsvF(float h, float s, float v, float a = 1.0)
void setNamedColor(const QString &name)
void setNamedColor(QStringView name)
void setNamedColor(QLatin1String name)
void setRed(int red)
void setRedF(float red)
void setRgb(int r, int g, int b, int a = 255)
void setRgb(QRgb rgb)
void setRgba64(QRgba64 rgba)
void setRgbF(float r, float g, float b, float a = 1.0)
void setRgba(QRgb rgba)
QColor::Spec spec() const
QColor toCmyk() const
QColor toExtendedRgb() const
QColor toHsl() const
QColor toHsv() const
QColor toRgb() const
int value() const
float valueF() const
int yellow() const
float 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(float c, float m, float y, float k, float a = 1.0)
QColor fromHsl(int h, int s, int l, int a = 255)
QColor fromHslF(float h, float s, float l, float a = 1.0)
QColor fromHsv(int h, int s, int v, int a = 255)
QColor fromHsvF(float h, float s, float v, float 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(float r, float g, float b, float a = 1.0)
QColor fromRgba(QRgb rgba)
bool isValidColor(const QString &name)
bool isValidColor(QStringView name)
bool isValidColor(QLatin1String name)

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

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.

END_OF_DOCUMENT_MARKER
RGB HSV CMYK

Конструктор QColor создаёт цвет на основе значений RGB. Для создания цвета на основе значений 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). Обратите внимание, что он также может содержать значение для альфа-канала (подробнее см. раздел Alpha-Blended Drawing). Функции qRed(), qBlue() и qGreen() возвращают соответствующую компоненту заданного значения QRgb, а функции qRgb() и qRgba() создают и возвращают тройку QRgb на основе заданных значений компонентов. Наконец, функция qAlpha() возвращает альфа-компонент предоставленного QRgb, а функция qGray() вычисляет и возвращает значение серого цвета на основе заданного значения.

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

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

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

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

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

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

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

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

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

Приведённый выше код генерирует следующий вывод:

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

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

В пространстве имён QColorConstants есть 20 предопределённых объектов QColor, включая чёрный, белый, первичные и вторичные цвета, более тёмные версии этих цветов и три оттенка серого. Кроме того, пространство имён QColorConstants::Svg определяет объекты QColor для стандартных имён ключевых слов цвета SVG.

Qt Colors

Цвета QColorConstants::Color0, QColorConstants::Color1 и QColorConstants::Transparent используются для специальных целей.

QColorConstants::Color0 (нулевое значение пикселя) и QColorConstants::Color1 (значение пикселя, отличное от нуля) являются специальными цветами для рисования в QBitmaps. Рисование с QColorConstants::Color0 устанавливает биты растрового изображения в 0 (прозрачный; т. е., фон), а рисование с c{QColorConstants::Color1} устанавливает биты в 1 (непрозрачный; т. е., передний план).

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

По историческим причинам 20 предопределённых цветов также доступны в перечислении Qt::GlobalColor.

Наконец, QColor распознаёт множество имён цветов (в виде строк); статическая функция colorNames() возвращает список имён цветов QStringList, которые известны QColor.

Расширенная модель RGB

Расширенная модель RGB, также известная как цветовое пространство scRGB, такая же, как модель RGB, за исключением того, что она допускает значения меньше 0,0 и больше 1,0. Это позволяет представлять цвета, которые в противном случае выходили бы за пределы диапазона цветового пространства RGB, но при этом используют те же значения для цветов внутри цветового пространства RGB.

Модель 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 предоставляет альфа-канал для функции alpha-смешанного рисования.

Модель 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 предоставляет альфа-канал для функции alpha-смешанного рисования.

См. также QPalette, QBrush и QColorConstants.

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

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

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

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

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

enum QColor::Spec

Тип заданного цвета, либо RGB, расширенный RGB, HSV, CMYK или HSL.

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

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

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

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

[since 5.6] 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 = 255)

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

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

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

QColor::QColor(Qt::GlobalColor color)

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

Конструирует новый цвет со значением color.

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

QColor::QColor()

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

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

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

int QColor::alpha() const

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

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

float QColor::alphaF() const

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

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

int QColor::black() const

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

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

float QColor::blackF() const

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

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

int QColor::blue() const

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

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

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

float 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 и преобразует цвет обратно в его первоначальный формат.

См. также 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(float c, float m, float y, float k, float 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.

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

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

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

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

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

См. также 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(float h, float s, float v, float 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, since 5.6] 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, since 5.6] QColor QColor::fromRgba64(QRgba64 rgba64)

Статическая вспомогательная функция, возвращающая QColor, построенную из заданного значения QRgba64 rgba64.

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

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

[static] QColor QColor::fromRgbF(float r, float g, float b, float a = 1.0)

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

Значение альфы должно быть в диапазоне 0.0-1.0. Если какое-либо из других значений находится вне диапазона 0.0-1.0, модель цвета будет установлена как ExtendedRgb.

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

[static] QColor QColor::fromRgba(QRgb rgba)

Статическая вспомогательная функция, возвращающая QColor, построенную из заданного значения QRgb rgba.

В отличие от функции fromRgb(), альфа-канал, указанный заданным значением QRgb, включается.

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

void QColor::getCmyk(int *c, int *m, int *y, int *k, int *a = nullptr) const

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

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

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

void QColor::getCmykF(float *c, float *m, float *y, float *k, float *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().

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

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

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

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

См. также 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(float *h, float *s, float *v, float *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(float *r, float *g, float *b, float *a = nullptr) const

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

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

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

int QColor::green() const

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

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

float QColor::greenF() const

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

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

int QColor::hslHue() const

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

См. также hslHueF(), hsvHue(), getHsl() и Модель HSL.

float QColor::hslHueF() const

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

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

int QColor::hslSaturation() const

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

См. также hslSaturationF(), hsvSaturation(), getHsl() и Модель HSL.

float QColor::hslSaturationF() const

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

См. также hslSaturation(), hsvSaturationF(), getHslF() и Модель HSL.

int QColor::hsvHue() const

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

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

float QColor::hsvHueF() const

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

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

int QColor::hsvSaturation() const

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

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

float QColor::hsvSaturationF() const

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

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

int QColor::hue() const

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

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

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

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

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

[static, since 5.10] bool QColor::isValidColor(QStringView name)

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

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

[static, since 5.8] 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 и преобразует цвет обратно в исходное цветовое представление.

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

int QColor::lightness() const

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

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

float QColor::lightnessF() const

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

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

int QColor::magenta() const

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

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

float QColor::magentaF() const

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

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

[since 5.2] QString QColor::name(QColor::NameFormat format = HexRgb) const

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

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

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

int QColor::red() const

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

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

float QColor::redF() const

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

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

QRgb QColor::rgb() const

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

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

[since 5.6] 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 цвета.

float QColor::saturationF() const

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

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

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

void QColor::setAlpha(int alpha)

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

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

void QColor::setAlphaF(float alpha)

Устанавливает альфа-канал этого цвета в alpha. Вещественный альфа-канал задаётся в диапазоне 0.0-1.0.

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

void QColor::setBlue(int blue)

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

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

void QColor::setBlueF(float blue)

Устанавливает синюю составляющую цвета в blue. Если blue выходит за пределы диапазона 0.0-1.0, модель цвета изменится на ExtendedRgb.

См. также 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(float c, float m, float y, float k, float 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(float green)

Устанавливает зелёную составляющую цвета в green. Если green выходит за пределы диапазона 0.0-1.0, модель цвета изменится на ExtendedRgb.

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

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

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

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

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

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

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

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

См. также 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(float h, float s, float v, float 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, предоставленных World Wide Web Consortium, например, "steelblue" или "gainsboro". Эти имена цветов работают на всех платформах. Обратите внимание, что эти имена цветов не совпадают с именами, определёнными в перечислении Qt::GlobalColor, например, "green" и Qt::green не относятся к одному и тому же цвету.
  • transparent - представляющее отсутствие цвета.

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

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

[since 5.10] void QColor::setNamedColor(QStringView name)

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

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

[since 5.8] void QColor::setNamedColor(QLatin1String name)

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

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

void QColor::setRed(int red)

Устанавливает красную составляющую цвета в red. Целочисленные компоненты задаются в диапазоне 0-255.

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

void QColor::setRedF(float red)

Устанавливает красную составляющую цвета в red. Если red выходит за пределы диапазона 0.0-1.0, модель цвета изменится на ExtendedRgb.

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

END_OF_DOCUMENT_MARKER

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. Значение альфа устанавливается в непрозрачное.

[since 5.6] void QColor::setRgba64(QRgba64 rgba)

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

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

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

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

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

Значение альфа должно быть в диапазоне от 0,0 до 1,0. Если какое-либо из других значений выходит за пределы диапазона от 0,0 до 1,0, модель цвета будет установлена как ExtendedRgb.

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

[since 5.14] QColor QColor::toExtendedRgb() const

Создаёт и возвращает расширенный RGB QColor на основе этого цвета.

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

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

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.

float QColor::valueF() const

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

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

int QColor::yellow() const

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

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

float QColor::yellowF() const

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

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

QVariant QColor::operator QVariant() const

Возвращает цвет как QVariant.

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

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

Спецификации ExtendedRgb и Rgb в этом контексте считаются совпадающими.

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

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

Это перегруженный метод.

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

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

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

Спецификации ExtendedRgb и Rgb в этом контексте считаются совпадающими.

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

END_OF_DOCUMENT_MARKER

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

QRgb

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

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

Ниже приведены примеры создания значений QRgb:

const QRgb rgb1 = 0x88112233;
const QRgb rgb2 = QColor("red").rgb();
const QRgb rgb3 = qRgb(qRed(rgb1), qGreen(rgb2), qBlue(rgb2));
const QRgb rgb4 = qRgba(qRed(rgb1), qGreen(rgb2), qBlue(rgb2), qAlpha(rgb1));

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

int qAlpha(QRgb rgba)

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

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

[since 5.6] uint qAlpha(QRgba64 rgba64)

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

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

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

int qBlue(QRgb rgb)

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

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

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

[since 5.6] uint qGreen(QRgba64 rgba64)

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

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

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

[since 5.3] QRgb qPremultiply(QRgb rgb)

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

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

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

[since 5.6] QRgba64 qPremultiply(QRgba64 rgba64)

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

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

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

int qRed(QRgb rgb)

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

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

[since 5.6] 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() и qAlpha().

[since 5.6] QRgba64 qRgba64(quint16 r, quint16 g, quint16 b, quint16 a)

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

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

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

[since 5.6] 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() и qAlpha().

[since 5.3] QRgb qUnpremultiply(QRgb rgb)

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

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

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

[since 5.6] 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-6.1/qcolor.html

Spec-Zone.ru

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