Класс QColorSpace
Класс QColorSpace предоставляет абстракцию цветового пространства. Подробнее...
| Заголовок: | #include <QColorSpace> |
| qmake: | QT += gui |
| С тех пор: | Qt 5.14 |
Этот класс был представлен в Qt 5.14.
Типы публичного доступа
| Перечисление | NamedColorSpace { SRgb, SRgbLinear, AdobeRgb, DisplayP3, ProPhotoRgb } |
| Перечисление | Primaries { Custom, SRgb, AdobeRgb, DciP3D65, ProPhotoRgb } |
| Перечисление | TransferFunction { Custom, Linear, Gamma, SRgb, ProPhotoRgb } |
Публичные функции
| QColorSpace(const QPointF &whitePoint, const QPointF &redPoint, const QPointF &greenPoint, const QPointF &bluePoint, QColorSpace::TransferFunction fun, float gamma = 0.0f) | |
| QColorSpace(QColorSpace::Primaries primaries, float gamma) | |
| QColorSpace(QColorSpace::Primaries primaries, QColorSpace::TransferFunction fun, float gamma = 0.0f) | |
| QColorSpace(QColorSpace::NamedColorSpace namedColorSpace) | |
| QColorSpace() | |
| float | gamma() const |
| QByteArray | iccProfile() const |
| bool | isValid() const |
| QColorSpace::Primaries | primaries() const |
| void | setPrimaries(QColorSpace::Primaries primariesId) |
| void | setPrimaries(const QPointF &whitePoint, const QPointF &redPoint, const QPointF &greenPoint, const QPointF &bluePoint) |
| void | setTransferFunction(QColorSpace::TransferFunction transferFunction, float gamma = 0.0f) |
| void | swap(QColorSpace &other) |
| QColorSpace::TransferFunction | transferFunction() const |
| QColorTransform | transformationToColorSpace(const QColorSpace &colorspace) const |
| QColorSpace | withTransferFunction(QColorSpace::TransferFunction transferFunction, float gamma = 0.0f) const |
| QVariant | operator QVariant() const |
Статические публичные члены
| QColorSpace | fromIccProfile(const QByteArray &iccProfile) |
Связанные нечлены
| bool | operator!=(const QColorSpace &colorSpace1, const QColorSpace &colorSpace2) |
| QDataStream & | operator<<(QDataStream &stream, const QColorSpace &colorSpace) |
| bool | operator==(const QColorSpace &colorSpace1, const QColorSpace &colorSpace2) |
| QDataStream & | operator>>(QDataStream &stream, QColorSpace &colorSpace) |
Подробное описание
Цветовые значения могут интерпретироваться по-разному, и в зависимости от интерпретации могут находиться в разных пространствах. Мы называем это цветовыми пространствами.
QColorSpace предоставляет доступ к созданию нескольких предопределённых цветовых пространств и может генерировать QColorTransforms для преобразования цветов из одного цветового пространства в другое.
QColorSpace также может представлять цветовые пространства, определённые профилями ICC или встроенные в изображения, которые иначе не соответствуют предопределённым цветовым пространствам.
Цветовое пространство, в общем случае, можно рассматривать как комбинацию набора основных цветов и функции передачи. Основные цвета определяют оси цветового пространства, а функция передачи определяет, как значения отображаются на осях. Основные цвета определяются тремя основными цветами, которые точно показывают, как красный, зелёный и синий выглядят в этом конкретном цветовом пространстве, и белым цветом, который показывает, где и насколько ярким является чистый белый цвет. Диапазон цветов, выражаемых основными цветами, называется гаммой, а цветовое пространство, которое может представлять более широкий диапазон цветов, также известно как широкоформатное цветовое пространство.
Функция передачи или гамма-кривая определяет, как каждый компонент в цветовом пространстве кодируется. Они используются потому, что восприятие человеком нелинейно, и функции передачи стремятся обеспечить, чтобы цвета казались равномерно распределёнными для человеческих глаз.
Документация по типам членов
перечисление QColorSpace::NamedColorSpace
Предопределённые цветовые пространства.
| Константа | Значение | Описание |
|---|---|---|
QColorSpace::SRgb |
1 |
Цветовое пространство sRGB, в котором Qt работает по умолчанию. Это приблизительное представление того, как работают большинство классических мониторов, и режим, который поддерживают большинство программного и аппаратного обеспечения. Регистрация ICC для sRGB. |
QColorSpace::SRgbLinear |
2 |
Цветовое пространство sRGB с линейной гамма-коррекцией. Полезно для смешивания с гамма-коррекцией. |
QColorSpace::AdobeRgb |
3 |
Цветовое пространство Adobe RGB — классическое широкоформатное цветовое пространство, использующее гамма-коррекцию 2,2. Регистрация ICC для Adobe RGB (1998) |
QColorSpace::DisplayP3 |
4 |
Цветовое пространство, использующее основные цвета DCI-P3, но с белой точкой и функцией передачи sRGB. Распространён на современных широкоформатных экранах. Регистрация ICC для DCI-P3 |
QColorSpace::ProPhotoRgb |
5 |
Цветовое пространство Pro Photo RGB, также известное как ROMM RGB, — это цветовое пространство с очень широкой гаммой. Регистрация ICC для ROMM RGB |
перечисление QColorSpace::Primaries
Предопределённые наборы основных цветов.
| Константа | Значение | Описание |
|---|---|---|
QColorSpace::Primaries::Custom |
0 |
Основные цвета не определены или не соответствуют ни одному из предопределённых наборов. |
QColorSpace::Primaries::SRgb |
1 |
Основные цвета sRGB |
QColorSpace::Primaries::AdobeRgb |
2 |
Основные цвета Adobe RGB |
QColorSpace::Primaries::DciP3D65 |
3 |
Основные цвета DCI-P3 с белой точкой D65 |
QColorSpace::Primaries::ProPhotoRgb |
4 |
Основные цвета ProPhoto RGB с белой точкой D50 |
перечисление QColorSpace::TransferFunction
Предопределённые функции передачи или гамма-кривые.
| Постоянная | Значение | Описание |
|---|---|---|
QColorSpace::TransferFunction::Custom |
0 |
Пользовательская или нулевая функция преобразования |
QColorSpace::TransferFunction::Linear |
1 |
Линейные функции преобразования |
QColorSpace::TransferFunction::Gamma |
2 |
Функция преобразования, представляющая собой реальную кривую Гамма, основанную на значении gamma() |
QColorSpace::TransferFunction::SRgb |
3 |
Функция преобразования sRGB, состоящая из линейных и гамма-частей |
QColorSpace::TransferFunction::ProPhotoRgb |
4 |
Функция преобразования ProPhoto RGB, состоящая из линейных и гамма-частей |
Документация функций-членов
QColorSpace::QColorSpace(const QPointF &whitePoint, const QPointF &redPoint, const QPointF &greenPoint, const QPointF &bluePoint, QColorSpace::TransferFunction fun, float gamma = 0.0f)
Создаёт пользовательское цветовое пространство с первичными цветами, основанными на цветовых характеристиках основных цветов whitePoint, redPoint, greenPoint и bluePoint, и использующей функцию преобразования fun и необязательно gamma.
QColorSpace::QColorSpace(QColorSpace::Primaries primaries, float gamma)
Создаёт пользовательское цветовое пространство с первичными цветами primaries, используя функцию преобразования гамма gamma.
QColorSpace::QColorSpace(QColorSpace::Primaries primaries, QColorSpace::TransferFunction fun, float gamma = 0.0f)
Создаёт пользовательское цветовое пространство с первичными цветами primaries, используя функцию преобразования fun и необязательно gamma.
QColorSpace::QColorSpace(QColorSpace::NamedColorSpace namedColorSpace)
Создаёт новый объект цветового пространства, представляющий namedColorSpace.
QColorSpace::QColorSpace()
Создаёт новый объект цветового пространства, представляющий неопределённое и недействительное цветовое пространство.
[static] QColorSpace QColorSpace::fromIccProfile(const QByteArray &iccProfile)
Создаёт QColorSpace из профиля ICC iccProfile.
Примечание: Не все профили ICC поддерживаются. QColorSpace поддерживает только профили ICC RGB-XYZ, основанные на матрице с тремя компонентами.
Если профиль ICC не поддерживается, возвращается недействительное QColorSpace, где вы по-прежнему можете прочитать исходный профиль ICC с помощью iccProfile().
Примечание: Если данные QByteArray созданы из внешних источников, они должны быть выровнены по крайней мере по 4 байтам.
См. также iccProfile().
float QColorSpace::gamma() const
Возвращает значение гамма для цветовых пространств с TransferFunction::Gamma, приблизительное значение гамма для других предопределённых цветовых пространств или 0.0, если приблизительное значение гамма неизвестно.
См. также transferFunction().
QByteArray QColorSpace::iccProfile() const
Возвращает профиль ICC, представляющий цветовое пространство.
Если цветовое пространство было сгенерировано из профиля ICC, возвращается этот профиль, иначе генерируется новый.
Примечание: Даже недействительные цветовые пространства могут возвращать профиль ICC, если они были сгенерированы из него, чтобы позволить приложениям реализовать более широкую поддержку.
См. также fromIccProfile().
bool QColorSpace::isValid() const
Возвращает true если цветовое пространство является действительным.
QColorSpace::Primaries QColorSpace::primaries() const
Возвращает предопределённые первичные цвета цветового пространства или primaries::Custom если оно не соответствует ни одному из них.
См. также setPrimaries().
void QColorSpace::setPrimaries(QColorSpace::Primaries primariesId)
Устанавливает первичные цвета для набора primariesId.
См. также primaries().
void QColorSpace::setPrimaries(const QPointF &whitePoint, const QPointF &redPoint, const QPointF &greenPoint, const QPointF &bluePoint)
Устанавливает первичные цвета для цветовых характеристик whitePoint, redPoint, greenPoint и bluePoint.
См. также primaries().
void QColorSpace::setTransferFunction(QColorSpace::TransferFunction transferFunction, float gamma = 0.0f)
Устанавливает функцию преобразования на transferFunction и gamma.
См. также transferFunction(), gamma() и withTransferFunction().
void QColorSpace::swap(QColorSpace &other)
Меняет цветовое пространство other с этим цветовым пространством. Эта операция очень быстрая и никогда не терпит неудачу.
QColorSpace::TransferFunction QColorSpace::transferFunction() const
Возвращает предопределённую функцию преобразования цветового пространства или TransferFunction::Custom если она не соответствует ни одной из них.
См. также gamma(), setTransferFunction() и withTransferFunction().
QColorTransform QColorSpace::transformationToColorSpace(const QColorSpace &colorspace) const
Генерирует и возвращает преобразование цветового пространства от этого цветового пространства к colorspace.
QColorSpace QColorSpace::withTransferFunction(QColorSpace::TransferFunction transferFunction, float gamma = 0.0f) const
Возвращает копию этого цветового пространства, за исключением использования функции преобразования transferFunction и gamma.
См. также transferFunction(), gamma() и setTransferFunction().
QVariant QColorSpace::operator QVariant() const
Возвращает цветовое пространство в виде QVariant.
Эта функция была введена в Qt 5.15.
END_OF_DOCUMENT_MARKERСвязанные нечлены
bool operator!=(const QColorSpace &colorSpace1, const QColorSpace &colorSpace2)
Возвращает true если цветовое пространство colorSpace1 не равно цветовому пространству colorSpace2; в противном случае возвращает false
QDataStream &operator<<(QDataStream &stream, const QColorSpace &colorSpace)
Записывает заданное colorSpace в заданный stream в виде профиля ICC.
См. также QColorSpace::iccProfile() и Сериализация типов данных Qt.
bool operator==(const QColorSpace &colorSpace1, const QColorSpace &colorSpace2)
Возвращает true если цветовое пространство colorSpace1 равно цветовому пространству colorSpace2; в противном случае возвращает false
QDataStream &operator>>(QDataStream &stream, QColorSpace &colorSpace)
Считывает цветовое пространство из заданного stream и сохраняет его в заданном colorSpace.
См. также QColorSpace::fromIccProfile() и Сериализация типов данных Qt.
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-5.15/qcolorspace.html