PySide6.QtGui.QColorSpace¶
- class QColorSpace¶
QColorSpace
类提供了一个颜色空间的抽象。更多…概要¶
方法¶
def
__init__()
def
colorModel()
def
description()
def
gamma()
def
iccProfile()
def
isValid()
def
isValidTarget()
def
__ne__()
def
__eq__()
def
primaries()
def
setDescription()
def
setPrimaries()
def
setWhitePoint()
def
swap()
def
transformModel()
def
whitePoint()
静态函数¶
def
fromIccProfile()
注意
本文档可能包含从C++自动翻译到Python的代码片段。我们始终欢迎对代码片段翻译的贡献。如果您发现翻译问题,您也可以通过在我们的https:/bugreports.qt.io/projects/PYSIDE上创建工单来告知我们。
详细描述¶
颜色值可以以不同的方式解释,并且基于解释可以存在于不同的空间中。我们称之为颜色空间。
QColorSpace
提供了创建多个预定义颜色空间的访问权限,并且可以生成用于将颜色从一个颜色空间转换到另一个颜色空间的 QColorTransforms。QColorSpace
也可以表示由ICC配置文件定义或嵌入在图像中的色彩空间,这些色彩空间不符合预定义的色彩空间。一般来说,色彩空间可以被理解为原色集合和传递函数的组合。原色定义了色彩空间的轴,而传递函数则定义了值如何在轴上映射。对于
Rgb
色彩空间,原色由三种原色定义,这些原色精确地表示红色、绿色和蓝色在该特定色彩空间中的表现,以及一个白色,表示纯白色的位置和亮度。对于灰度色彩空间,只需要一个白色原色。原色可表示的颜色范围称为色域,能够表示更广颜色范围的色彩空间也被称为广色域色彩空间。传输函数或伽马曲线决定了颜色空间中的每个组件是如何编码的。使用这些是因为人类的感知不是线性运作的,传输函数试图确保颜色在人类眼中看起来是均匀分布的。
- 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的白点和传输函数。常见于现代广色域屏幕。ICC registration of DCI-P3
QColorSpace.ProPhotoRgb
Pro Photo RGB 色彩空间,也称为 ROMM RGB,是一种非常广泛的色彩空间。ICC registration of ROMM RGB
QColorSpace.Bt2020
BT.2020,也称为Rec.2020,是HDR电视的基本色彩空间。ICC registration of BT.2020
QColorSpace.Bt2100Pq
BT.2100(PQ),也称为Rec.2100或HDR10,是一种HDR编码,具有与Bt2020相同的原色,但使用感知量化传递函数。ICC registration of BT.2100
QColorSpace.Bt2100Hlg
BT.2100 (HLG) 是一种HDR编码,具有与Bt2020相同的原色,但使用混合对数-伽马传递函数。
- 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原色
QColorSpace.Primaries.Bt2020
使用D65白点的BT.2020原色
- class TransferFunction¶
预定义的传输函数或伽马曲线。
常量
描述
QColorSpace.TransferFunction.Custom
自定义或空传输函数
QColorSpace.TransferFunction.Linear
线性传输函数
QColorSpace.TransferFunction.Gamma
基于
gamma()
值的实际伽马曲线的传输函数QColorSpace.TransferFunction.SRgb
sRGB传输函数,由线性和伽马部分组成
QColorSpace.TransferFunction.ProPhotoRgb
ProPhoto RGB 传输函数,由线性和伽马部分组成
QColorSpace.TransferFunction.Bt2020
BT.2020传输函数,由线性和伽马部分组成
QColorSpace.TransferFunction.St2084
SMPTE ST 2084 传输函数,也称为感知量化器(PQ)。
QColorSpace.TransferFunction.Hlg
混合对数伽马传递函数。
- class TransformModel¶
定义用于色彩空间转换的处理模型。
常量
描述
QColorSpace.TransformModel.ThreeComponentMatrix
转换由一个从原色计算的矩阵和每个颜色通道的一组传递函数组成。这非常快,并且所有预定义的颜色空间都使用它。这种形式的任何颜色空间都是可逆的,并且始终是有效的源和目标。
QColorSpace.TransformModel.ElementListProcessing
转换是一个或两个处理元素列表,可以执行许多操作,每个列表仅处理到连接颜色空间或从连接颜色空间处理。这非常灵活,但相当慢,并且只能通过读取ICC配置文件来设置(参见
fromIccProfile()
)。由于两个列表是分开的,因此这种形式的颜色空间可以是有效的源,但不一定是有效的目标。当更改此类型颜色空间的原色或传递函数时,它将重置为空的三分量矩阵形式。在版本6.8中添加。
- class ColorModel¶
定义颜色空间数据使用的颜色模型。
常量
描述
QColorSpace.ColorModel.Undefined
无颜色模型
QColorSpace.ColorModel.Rgb
一种包含红色、绿色和蓝色的RGB颜色模型。适用于RGB和灰度数据。
QColorSpace.ColorModel.Gray
灰度颜色模型。只能应用于灰度数据。
QColorSpace.ColorModel.Cmyk
只能表示使用青色、品红色、黄色和黑色定义的颜色数据。实际上仅适用于QImage::Format_CMYK32。注意Cmyk颜色空间将进行
ElementListProcessing
。在版本6.8中添加。
- __init__()¶
创建一个新的颜色空间对象,该对象表示未定义且无效的颜色空间。
- __init__(namedColorSpace)
- Parameters:
namedColorSpace –
NamedColorSpace
创建一个新的颜色空间对象,该对象表示一个
namedColorSpace
。- __init__(colorSpace)
- Parameters:
colorSpace –
QColorSpace
创建一个新的颜色空间对象,该对象表示一个
namedColorSpace
。- __init__(primaries, transferFunctionTable)
- Parameters:
primaries –
Primaries
transferFunctionTable – .uint16_t 列表
使用由
transferFunctionTable
描述的自定义传递函数,创建一个具有原色gamut
的自定义色彩空间。表格应至少包含2个值,并且包含一个从0到65535的单调递增的值列表。
- __init__(primaries, gamma)
- Parameters:
primaries –
Primaries
gamma – 浮点数
使用原色
primaries
创建一个自定义颜色空间,并使用gamma
的伽马传递函数。- __init__(whitePoint, transferFunctionTable)
- Parameters:
whitePoint –
QPointF
transferFunctionTable – .uint16_t 列表
创建一个自定义的灰度色彩空间,其白点为
whitePoint
,并使用由transferFunctionTable
描述的自定义传输函数。- __init__(primaries, transferFunction[, gamma=0.0f])
- Parameters:
primaries –
Primaries
transferFunction –
TransferFunction
gamma – 浮点数
使用原色
primaries
创建一个自定义颜色空间,使用传递函数transferFunction
,并可选择gamma
。- __init__(whitePoint, transferFunction[, gamma=0.0f])
- Parameters:
whitePoint –
QPointF
transferFunction –
TransferFunction
gamma – 浮点数
创建一个自定义的灰度色彩空间,使用白点
whitePoint
,传输函数transferFunction
和可选的gamma
。- __init__(whitePoint, redPoint, greenPoint, bluePoint, transferFunctionTable)
创建一个自定义颜色空间,其原色基于主要颜色的色度
whitePoint
、redPoint
、greenPoint
和bluePoint
,并使用由transferFunctionTable
描述的自定义传递函数。- __init__(whitePoint, redPoint, greenPoint, bluePoint, transferFunction[, gamma=0.0f])
- Parameters:
whitePoint –
QPointF
redPoint –
QPointF
greenPoint –
QPointF
bluePoint –
QPointF
transferFunction –
TransferFunction
gamma – 浮点数
创建一个自定义色彩空间,其原色基于主色的色度
whitePoint
、redPoint
、greenPoint
和bluePoint
,并使用传递函数transferFunction
和可选的gamma
。- __init__(whitePoint, redPoint, greenPoint, bluePoint, redTransferFunctionTable, greenTransferFunctionTable, blueTransferFunctionTable)
创建一个自定义颜色空间,其原色基于主要颜色的色度
whitePoint
、redPoint
、greenPoint
和bluePoint
,并使用由redTransferFunctionTable
、greenTransferFunctionTable
和blueTransferFunctionTable
描述的自定义传递函数。- colorModel()¶
- Return type:
返回此颜色空间可以表示的颜色模型
- description()¶
- Return type:
字符串
返回名称或简短描述。如果未在
setDescription()
中提供描述,则如果配置文件未修改,则返回配置文件的原始名称;如果配置文件已被识别为已知颜色空间,则返回猜测的名称;否则返回空字符串。另请参阅
- static fromIccProfile(iccProfile)¶
- Parameters:
iccProfile –
QByteArray
- Return type:
从ICC配置文件
iccProfile
创建一个QColorSpace
。注意
并非所有ICC配置文件都受支持。
QColorSpace
仅支持RGB或灰度ICC配置文件。如果不支持ICC配置文件,将返回一个无效的
QColorSpace
,您仍然可以使用iccProfile()
读取原始的ICC配置文件。另请参阅
- gamma()¶
- Return type:
浮点数
返回具有
TransferFunction::Gamma
的色彩空间的伽马值,对于其他预定义的色彩空间返回一个近似的伽马值,如果不知道近似的伽马值则返回0.0。另请参阅
- iccProfile()¶
- Return type:
返回表示颜色空间的ICC配置文件。
如果颜色空间是从ICC配置文件生成的,则返回该配置文件,否则生成一个。
- isValid()¶
- Return type:
布尔
如果颜色空间有效,则返回
true
。对于具有TransformModel::ThreeComponentMatrix
的颜色空间,这意味着原色和传递函数都已设置,并暗示isValidTarget()
。对于具有TransformModel::ElementListProcessing
的颜色空间,这意味着它具有有效的源变换,要检查它是否也是有效的目标颜色空间,请使用isValidTarget()
。另请参阅
- isValidTarget()¶
- Return type:
布尔
如果颜色空间是有效的目标颜色空间,则返回
true
。- __ne__(colorSpace2)¶
- Parameters:
colorSpace2 –
QColorSpace
- Return type:
布尔
如果颜色空间
colorSpace1
不等于颜色空间colorSpace2
,则返回true
;否则返回false
- __eq__(colorSpace2)¶
- Parameters:
colorSpace2 –
QColorSpace
- Return type:
布尔
如果颜色空间
colorSpace1
等于颜色空间colorSpace2
,则返回true
;否则返回false
返回颜色空间的预定义原色,如果与任何预定义原色不匹配,则返回
primaries::Custom
。另请参阅
- setDescription(description)¶
- Parameters:
描述 – str
将颜色空间的名称或简短描述设置为
description
。如果设置为空,
description()
将返回原始或猜测的描述。另请参阅
将原色设置为
primariesId
集合中的原色。另请参阅
- setPrimaries(whitePoint, redPoint, greenPoint, bluePoint)
将原色设置为
whitePoint
、redPoint
、greenPoint
和bluePoint
的色度。另请参阅
- setTransferFunction(transferFunctionTable)¶
- Parameters:
transferFunctionTable – .uint16_t 列表
将传输函数设置为
transferFunctionTable
。- setTransferFunction(transferFunction[, gamma=0.0f])
- Parameters:
transferFunction –
TransferFunction
gamma – 浮点数
将传输函数设置为
transferFunction
和gamma
。- setTransferFunctions(redTransferFunctionTable, greenTransferFunctionTable, blueTransferFunctionTable)¶
- Parameters:
redTransferFunctionTable – .uint16_t 列表
greenTransferFunctionTable – .uint16_t 列表
blueTransferFunctionTable – .uint16_t 列表
将传输函数设置为
redTransferFunctionTable
、greenTransferFunctionTable
和blueTransferFunctionTable
。设置用于此色彩空间的白点为
whitePoint
。另请参阅
- swap(colorSpace)¶
- Parameters:
colorSpace –
QColorSpace
交换颜色空间
other
与此颜色空间。此操作非常快速且永远不会失败。- transferFunction()¶
- Return type:
返回颜色空间的预定义传输函数,如果它与任何预定义函数不匹配,则返回
TransferFunction::Custom
。- transformModel()¶
- Return type:
返回用于此颜色空间的变换处理模型。
- transformationToColorSpace(colorspace)¶
- Parameters:
colorspace –
QColorSpace
- Return type:
生成并返回从此颜色空间到
colorspace
的颜色空间转换。返回用于此色彩空间的白点。如果未定义,则返回一个空的QPointF。
另请参阅
- withTransferFunction(transferFunctionTable)¶
- Parameters:
transferFunctionTable – .uint16_t 列表
- Return type:
返回此颜色空间的副本,但使用由
transferFunctionTable
描述的传递函数。- withTransferFunction(transferFunction[, gamma=0.0f])
- Parameters:
transferFunction –
TransferFunction
gamma – 浮点数
- Return type:
返回此颜色空间的副本,但使用传递函数
transferFunction
和gamma
。- withTransferFunctions(redTransferFunctionTable, greenTransferFunctionTable, blueTransferFunctionTable)¶
- Parameters:
redTransferFunctionTable – .uint16_t 列表
greenTransferFunctionTable – .uint16_t 列表
blueTransferFunctionTable – .uint16_t 列表
- Return type:
返回此色彩空间的副本,但使用由
redTransferFunctionTable
、greenTransferFunctionTable
和blueTransferFunctionTable
描述的传输函数。