class QColorSpace#

QColorSpace 提供了一个颜色空间抽象。更多…

概要#

方法#

静态函数

备注

此文档可能包含从 C++ 自动翻译到 Python 的代码片段。我们总是欢迎对片段翻译的贡献。如果您发现翻译有问题,您也可以通过在 https:/bugreports.qt.io/projects/PYSIDE 上创建工单来让我们知道。

详细描述

颜色值可以以不同的方式解释,根据解释可以存在于不同的空间中。我们称这种情况为 颜色空间

QColorSpace 提供访问创建多个预定义颜色空间的功能,并可以生成用于将颜色从一种颜色空间转换为另一种颜色空间的 QColorTransform。

QColorSpace 还可以表示由 ICC 配置文件定义或在图像中嵌入的颜色空间,这些颜色空间不符合预定义的颜色空间。

一般来说,颜色空间可以被理解为一系列基色和传输函数的组合。基色定义了颜色空间的轴,传输函数定义了值在轴上的映射。基色由三种基色组成,它们精确地表示了这个特定颜色空间中的红色、绿色和蓝色的外观,以及一个表示纯白色亮度的白色。基色所能表达的颜色范围称为色域,能够表示更广范围颜色的颜色空间也称为广色域颜色空间。

传输函数或伽玛曲线决定了颜色空间中每个组成部分的编码方式。这些被使用是因为人类的感知并非线性的,传输函数试图确保颜色对人类眼睛来说看起来是均匀分布的。

class NamedColorSpace#

预定义颜色空间。

常量

描述

QColorSpace.SRgb

SRGB 颜色空间,Qt 默认操作的颜色空间。它是最接近大多数经典监视器操作的方式,也是大多数软件和硬件支持的模式。sRGB 的 ICC 注册

QColorSpace.SRgbLinear

具有线性伽玛的 sRGB 颜色空间。对于伽玛校正混合很有用。

QColorSpace.AdobeRgb

Adobe RGB颜色空间是一种经典的宽色域颜色空间,使用伽玛值为2.2。 Adobe RGB (1998)的ICC注册

QColorSpace.DisplayP3

使用DCI-P3原色的颜色空间,但使用sRGB的白色点和传递函数。在现代宽色域屏幕中很常见。 DCI-P3的ICC注册

QColorSpace.ProPhotoRgb

Pro Photo RGB颜色空间,也称为ROMM RGB,是一个非常宽的色域颜色空间。 ROMM RGB的ICC注册

class Primaries#

预定义的原色集。

常量

描述

QColorSpace.Primaries.Custom

原色未定义或与任何预定义集不匹配。

QColorSpace.Primaries.SRgb

sRGB原色

QColorSpace.Primaries.AdobeRgb

Adobe RGB原色

QColorSpace.Primaries.DciP3D65

带有D65白色点的DCI-P3原色

QColorSpace.Primaries.ProPhotoRgb

带有D50白色点的ProPhoto RGB原色

class TransferFunction#

预定义的传递函数或伽玛曲线。

常量

描述

QColorSpace.TransferFunction.Custom

自定义或空传递函数

QColorSpace.TransferFunction.Linear

线性传递函数

QColorSpace.TransferFunction.Gamma

基于gamma()值的真实伽玛曲线的传递函数

QColorSpace.TransferFunction.SRgb

由线性和伽玛部分组成的sRGB传递函数

QColorSpace.TransferFunction.ProPhotoRgb

由线性和伽玛部分组成的ProPhoto RGB传递函数

__init__(namedColorSpace)#
参数:

namedColorSpaceNamedColorSpace

创建一个新的颜色空间对象,代表一个namedColorSpace

__init__(primaries, transferFunction[, gamma=0.0f])
参数:

使用原色primaries创建一个自定义颜色空间,使用传递函数transferFunction和可选的gamma

__init__(primaries, transferFunctionTable)
参数:
  • primariesPrimaries

  • transferFunctionTable – .uint16_t的.list

使用由 transferFunctionTable 描述的自定义转换函数,创建一个包含主色 gamut 的自定义颜色空间。

该表格应包含至少2个值,并包含一个从0到65535的单调递增的值列表。

__init__(primaries, gamma)
参数:

创建一个具有主色 primaries 的自定义颜色空间,使用 gamma 转换函数。

__init__(colorSpace)
参数:

colorSpaceQColorSpace

创建一个新的颜色空间对象,代表一个namedColorSpace

__init__(whitePoint, redPoint, greenPoint, bluePoint, transferFunction[, gamma=0.0f])
参数:

创建一个基于主色 whitePointredPointgreenPointbluePoint 的色度的自定义颜色空间,并使用转换函数 transferFunction 和可选的 gamma

__init__(whitePoint, redPoint, greenPoint, bluePoint, redTransferFunctionTable, greenTransferFunctionTable, blueTransferFunctionTable)
参数:
  • whitePointQPointF

  • redPointQPointF

  • greenPointQPointF

  • bluePointQPointF

  • redTransferFunctionTable – .uint16_t 列表

  • greenTransferFunctionTable – .uint16_t 列表

  • blueTransferFunctionTable – .uint16_t 列表

根据主色 whitePointredPointgreenPointbluePoint 的色度创建自定义颜色空间,并使用 redTransferFunctionTablegreenTransferFunctionTableblueTransferFunctionTable 所描述的自定义转换函数。

__init__(whitePoint, redPoint, greenPoint, bluePoint, transferFunctionTable)
参数:

创建一个基于基色色谱的定制的色彩空间,基色为白色点、红色点、绿色点和蓝色点,并使用由 transferFunctionTable 描述的自定义转换函数。

__init__()

创建一个新的色彩空间对象,该对象表示一个未定义且无效的色彩空间。

description()#
返回类型:

str

返回名称或简短说明。如果在 setDescription() 中没有提供描述,则返回配置文件的原始名称,如果配置文件未被修改,则返回猜测的名称,如果识别出配置文件为已知色彩空间,则返回猜测的名称,否则返回空字符串。

另请参阅

setDescription()

static fromIccProfile(iccProfile)#
参数:

iccProfileQByteArray

返回类型:

QColorSpace

从 ICC 配置文件 iccProfile 创建一个 QColorSpace

备注

并非所有 ICC 配置文件都受支持。 QColorSpace 仅支持基于三维矩阵的 RGB-XYZ ICC 配置文件。

如果 ICC 配置文件不受支持,将返回一个无效的 QColorSpace,您仍然可以使用 iccProfile() 读取原始 ICC 配置文件。

另请参阅

iccProfile()

gamma()#
返回类型:

float

返回具有 TransferFunction::Gamma 的色彩空间的伽玛值,其他预定义色彩空间的近似伽玛值,或者如果不知道近似伽玛值,则返回 0.0。

另请参阅

transferFunction()

iccProfile()#
返回类型:

QByteArray

返回表示色彩空间的 ICC 配置文件。

如果色彩空间是从 ICC 配置文件生成的,则返回该配置文件,否则生成了一个配置文件。

备注

即使色彩空间无效也可能返回 ICC 配置文件,以便应用程序能够实现更广泛的支持。

另请参阅

fromIccProfile()

isValid()#
返回类型:

bool

如果颜色空间有效,则返回 true

__ne__(colorSpace2)#
参数:

colorSpace2QColorSpace

返回类型:

bool

如果颜色空间 colorSpace1 与颜色空间 colorSpace2 不相等,则返回 true;否则返回 false

__eq__(colorSpace2)#
参数:

colorSpace2QColorSpace

返回类型:

bool

如果颜色空间 colorSpace1 等于颜色空间 colorSpace2,则返回 true;否则返回 false

primaries()#
返回类型:

原色

返回颜色空间的预定义原色或如果它与之不匹配,则返回 primaries::Custom

另请参阅

setPrimaries()

setDescription(description)#
参数:

description – str

将颜色空间的名称或简短描述设置为 description

如果设置为空,则 description() 将返回原始或猜测的描述。

另请参阅

description()

setPrimaries(primariesId)#
参数:

primariesIdPrimaries

将原色设置为 primariesId 集中的原色。

另请参阅

primaries()

setPrimaries(whitePoint, redPoint, greenPoint, bluePoint)
参数:

将原色设置为 whitePointredPointgreenPointbluePoint 的色度。

另请参阅

primaries()

setTransferFunction(transferFunction[, gamma=0.0f])#
参数:

设置转换函数为 transferFunctiongamma

setTransferFunction(transferFunctionTable)
参数:

transferFunctionTable – .uint16_t的.list

将转换函数设置为 transferFunctionTable

另请参阅

withTransferFunction()

setTransferFunctions(redTransferFunctionTable, greenTransferFunctionTable, blueTransferFunctionTable)#
参数:
  • redTransferFunctionTable – .uint16_t 列表

  • greenTransferFunctionTable – .uint16_t 列表

  • blueTransferFunctionTable – .uint16_t 列表

将转换函数设置为 redTransferFunctionTablegreenTransferFunctionTableblueTransferFunctionTable

swap(colorSpace)#
参数:

colorSpaceQColorSpace

与当前颜色空间交换颜色空间 other。此操作非常快速且永远不会失败。

transferFunction()#
返回类型:

转换函数

返回颜色空间的预定义转换函数或如果它不匹配任何其中之一,返回 TransferFunction::Custom

transformationToColorSpace(colorspace)#
参数:

colorspaceQColorSpace

返回类型:

QColorTransform

从当前颜色空间生成并返回到 colorspace 的颜色空间转换。

withTransferFunction(transferFunction[, gamma=0.0f])#
参数:
返回类型:

QColorSpace

返回一个与此色彩空间相同的副本,但使用转移函数 transferFunctiongamma.

withTransferFunction(transferFunctionTable)
参数:

transferFunctionTable – .uint16_t的.list

返回类型:

QColorSpace

返回一个与此色彩空间相同的副本,但使用由 transferFunctionTable 描述的转移函数。

withTransferFunctions(redTransferFunctionTable, greenTransferFunctionTable, blueTransferFunctionTable)#
参数:
  • redTransferFunctionTable – .uint16_t 列表

  • greenTransferFunctionTable – .uint16_t 列表

  • blueTransferFunctionTable – .uint16_t 列表

返回类型:

QColorSpace

返回一个与此色彩空间相同的副本,但使用由 redTransferFunctionTablegreenTransferFunctionTableblueTransferFunctionTable 描述的转移函数。

另请参阅

setTransferFunctions()