- class QColorSpace#
类
QColorSpace
提供了一个颜色空间抽象。更多……概要#
方法#
def
__init__()
def
description()
def
gamma()
def
iccProfile()
def
isValid()
def
__ne__()
def
__eq__()
def
primaries()
def
setDescription()
def
setPrimaries()
定义
swap()
静态函数
备注
此文档可能包含从 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)#
- 参数:
namedColorSpace –
NamedColorSpace
创建一个新的颜色空间对象,代表一个
namedColorSpace
。- __init__(primaries, transferFunction[, gamma=0.0f])
- 参数:
primaries –
Primaries
transferFunction –
TransferFunction
gamma – float
使用原色
primaries
创建一个自定义颜色空间,使用传递函数transferFunction
和可选的gamma
。- __init__(primaries, transferFunctionTable)
- 参数:
primaries –
Primaries
transferFunctionTable – .uint16_t的.list
使用由
transferFunctionTable
描述的自定义转换函数,创建一个包含主色gamut
的自定义颜色空间。该表格应包含至少2个值,并包含一个从0到65535的单调递增的值列表。
- __init__(primaries, gamma)
- 参数:
primaries –
Primaries
gamma – float
创建一个具有主色
primaries
的自定义颜色空间,使用gamma
转换函数。- __init__(colorSpace)
- 参数:
colorSpace –
QColorSpace
创建一个新的颜色空间对象,代表一个
namedColorSpace
。- __init__(whitePoint, redPoint, greenPoint, bluePoint, transferFunction[, gamma=0.0f])
- 参数:
whitePoint –
QPointF
redPoint –
QPointF
greenPoint –
QPointF
bluePoint –
QPointF
transferFunction –
TransferFunction
gamma – float
创建一个基于主色
whitePoint
、redPoint
、greenPoint
和bluePoint
的色度的自定义颜色空间,并使用转换函数transferFunction
和可选的gamma
。- __init__(whitePoint, redPoint, greenPoint, bluePoint, redTransferFunctionTable, greenTransferFunctionTable, blueTransferFunctionTable)
根据主色
whitePoint
、redPoint
、greenPoint
和bluePoint
的色度创建自定义颜色空间,并使用redTransferFunctionTable
、greenTransferFunctionTable
和blueTransferFunctionTable
所描述的自定义转换函数。- __init__(whitePoint, redPoint, greenPoint, bluePoint, transferFunctionTable)
创建一个基于基色色谱的定制的色彩空间,基色为白色点、红色点、绿色点和蓝色点,并使用由
transferFunctionTable
描述的自定义转换函数。- __init__()
创建一个新的色彩空间对象,该对象表示一个未定义且无效的色彩空间。
- description()#
- 返回类型:
str
返回名称或简短说明。如果在
setDescription()
中没有提供描述,则返回配置文件的原始名称,如果配置文件未被修改,则返回猜测的名称,如果识别出配置文件为已知色彩空间,则返回猜测的名称,否则返回空字符串。另请参阅
- static fromIccProfile(iccProfile)#
- 参数:
iccProfile –
QByteArray
- 返回类型:
从 ICC 配置文件
iccProfile
创建一个QColorSpace
。备注
并非所有 ICC 配置文件都受支持。
QColorSpace
仅支持基于三维矩阵的 RGB-XYZ ICC 配置文件。如果 ICC 配置文件不受支持,将返回一个无效的
QColorSpace
,您仍然可以使用iccProfile()
读取原始 ICC 配置文件。另请参阅
- gamma()#
- 返回类型:
float
返回具有
TransferFunction::Gamma
的色彩空间的伽玛值,其他预定义色彩空间的近似伽玛值,或者如果不知道近似伽玛值,则返回 0.0。另请参阅
- iccProfile()#
- 返回类型:
返回表示色彩空间的 ICC 配置文件。
如果色彩空间是从 ICC 配置文件生成的,则返回该配置文件,否则生成了一个配置文件。
- isValid()#
- 返回类型:
bool
如果颜色空间有效,则返回
true
。- __ne__(colorSpace2)#
- 参数:
colorSpace2 –
QColorSpace
- 返回类型:
bool
如果颜色空间
colorSpace1
与颜色空间colorSpace2
不相等,则返回true
;否则返回false
。- __eq__(colorSpace2)#
- 参数:
colorSpace2 –
QColorSpace
- 返回类型:
bool
如果颜色空间
colorSpace1
等于颜色空间colorSpace2
,则返回true
;否则返回false
。返回颜色空间的预定义原色或如果它与之不匹配,则返回
primaries::Custom
。另请参阅
- setDescription(description)#
- 参数:
description – str
将颜色空间的名称或简短描述设置为
description
。如果设置为空,则
description()
将返回原始或猜测的描述。另请参阅
将原色设置为
primariesId
集中的原色。另请参阅
- setPrimaries(whitePoint, redPoint, greenPoint, bluePoint)
将原色设置为
whitePoint
、redPoint
、greenPoint
和bluePoint
的色度。另请参阅
- setTransferFunction(transferFunction[, gamma=0.0f])#
- 参数:
transferFunction –
TransferFunction
gamma – float
设置转换函数为
transferFunction
和gamma
。- setTransferFunction(transferFunctionTable)
- 参数:
transferFunctionTable – .uint16_t的.list
将转换函数设置为
transferFunctionTable
。- setTransferFunctions(redTransferFunctionTable, greenTransferFunctionTable, blueTransferFunctionTable)#
- 参数:
redTransferFunctionTable – .uint16_t 列表
greenTransferFunctionTable – .uint16_t 列表
blueTransferFunctionTable – .uint16_t 列表
将转换函数设置为
redTransferFunctionTable
,greenTransferFunctionTable
和blueTransferFunctionTable
。- swap(colorSpace)#
- 参数:
colorSpace –
QColorSpace
与当前颜色空间交换颜色空间
other
。此操作非常快速且永远不会失败。返回颜色空间的预定义转换函数或如果它不匹配任何其中之一,返回
TransferFunction::Custom
。- transformationToColorSpace(colorspace)#
- 参数:
colorspace –
QColorSpace
- 返回类型:
从当前颜色空间生成并返回到
colorspace
的颜色空间转换。- withTransferFunction(transferFunction[, gamma=0.0f])#
- 参数:
transferFunction –
TransferFunction
gamma – float
- 返回类型:
返回一个与此色彩空间相同的副本,但使用转移函数
transferFunction
和gamma
.- withTransferFunction(transferFunctionTable)
- 参数:
transferFunctionTable – .uint16_t的.list
- 返回类型:
返回一个与此色彩空间相同的副本,但使用由
transferFunctionTable
描述的转移函数。- withTransferFunctions(redTransferFunctionTable, greenTransferFunctionTable, blueTransferFunctionTable)#
- 参数:
redTransferFunctionTable – .uint16_t 列表
greenTransferFunctionTable – .uint16_t 列表
blueTransferFunctionTable – .uint16_t 列表
- 返回类型:
返回一个与此色彩空间相同的副本,但使用由
redTransferFunctionTable
、greenTransferFunctionTable
和blueTransferFunctionTable
描述的转移函数。