Spec-Zone.ru › Qt 5.15

Класс 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

Spec-Zone.ru

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