鸿蒙5.0&next开发【@ohos.graphics.colorSpaceManager (色彩管理) 更新时间: 2025-03-31 17:】 扫码服务

本模块提供管理抽象化色域对象的一些基础能力,包括色域对象的创建与色域基础属性的获取等。

说明

本模块首批接口从API version 9开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。

导入模块

import { colorSpaceManager } from '@kit.ArkGraphics2D';

ColorSpace

色域类型枚举。

元服务API:  从API version 12开始,该接口支持在元服务中使用。

系统能力:  SystemCapability.Graphic.Graphic2D.ColorManager.Core

名称说明
UNKNOWN0未知的色域类型。
ADOBE_RGB_19981RGB色域为Adobe RGB(1998)类型。转换函数为Adobe RGB(1998)类型。编码范围为Full类型。
DCI_P32RGB色域为DCI-P3类型。转换函数为Gamma 2.6类型。编码范围为Full类型。
DISPLAY_P33RGB色域为Display P3类型。转换函数为SRGB类型。编码范围为Full类型。
SRGB4RGB色域为SRGB类型。转换函数为SRGB类型。编码范围为Full类型。系统默认色域类型。
CUSTOM5用户自定义色域类型。
BT70911+6RGB色域为BT709类型。转换函数为BT709类型。编码范围为Full类型。
BT601_EBU11+7RGB色域为BT601_P类型。转换函数为BT709类型。编码范围为Full类型。
BT601_SMPTE_C11+8RGB色域为BT601_N类型。转换函数为BT709类型。编码范围为Full类型。
BT2020_HLG11+9RGB色域为BT2020类型。转换函数为HLG类型。编码范围为Full类型。
BT2020_PQ11+10RGB色域为BT2020类型。转换函数为PQ类型。编码范围为Full类型。
P3_HLG11+11RGB色域为Display P3类型。转换函数为HLG类型。编码范围为Full类型。
P3_PQ11+12RGB色域为Display P3类型。转换函数为PQ类型。编码范围为Full类型。
ADOBE_RGB_1998_LIMIT11+13RGB色域为Adobe RGB(1998)类型。转换函数为Adobe RGB(1998)类型。编码范围为Limit类型。
DISPLAY_P3_LIMIT11+14RGB色域为Display P3类型。转换函数为SRGB类型。编码范围为Limit类型。
SRGB_LIMIT11+15RGB色域为SRGB类型。转换函数为SRGB类型。编码范围为Limit类型。
BT709_LIMIT11+16RGB色域为BT709类型。转换函数为BT709类型。编码范围为Limit类型。
BT601_EBU_LIMIT11+17RGB色域为BT601_P类型。转换函数为BT709类型。编码范围为Limit类型。
BT601_SMPTE_C_LIMIT11+18RGB色域为BT601_N类型。转换函数为BT709类型。编码范围为Limit类型。
BT2020_HLG_LIMIT11+19RGB色域为BT2020类型。转换函数为HLG类型。编码范围为Limit类型。
BT2020_PQ_LIMIT11+20RGB色域为BT2020类型。转换函数为PQ类型。编码范围为Limit类型。
P3_HLG_LIMIT11+21RGB色域为Display P3类型。转换函数为HLG类型。编码范围为Limit类型。
P3_PQ_LIMIT11+22RGB色域为Display P3类型。转换函数为PQ类型。编码范围为Limit类型。
LINEAR_P311+23RGB色域为Display P3类型。转换函数为Linear类型。
LINEAR_SRGB11+24RGB色域为SRGB类型。转换函数为Linear类型。
LINEAR_BT70911+24与LINEAR_SRGB相同。RGB色域为BT709类型。转换函数为Linear类型。
LINEAR_BT202011+25RGB色域为BT2020类型。转换函数为Linear类型。
DISPLAY_SRGB11+4与SRGB相同。RGB色域为SRGB类型。转换函数为SRGB类型。编码范围为Full类型。
DISPLAY_P3_SRGB11+3与DISPLAY_P3相同。RGB色域为Display P3类型。转换函数为SRGB类型。编码范围为Full类型。
DISPLAY_P3_HLG11+11与P3_HLG相同。RGB色域为Display P3类型。转换函数为HLG类型。编码范围为Full类型。
DISPLAY_P3_PQ11+12与P3_PQ相同。RGB色域为Display P3类型。转换函数为PQ类型。编码范围为Full类型。

ColorSpacePrimaries

色域标准三原色(红、绿、蓝)和白色,使用(x, y)表示其在色彩空间中的位置。

系统能力:  SystemCapability.Graphic.Graphic2D.ColorManager.Core

名称类型可读可写说明
redXnumber标准红色在色彩空间的x坐标值。
redYnumber标准红色在色彩空间的y坐标值。
greenXnumber标准绿色在色彩空间的x坐标值。
greenYnumber标准绿色在色彩空间的y坐标值。
blueXnumber标准蓝色在色彩空间的x坐标值。
blueYnumber标准蓝色在色彩空间的y坐标值。
whitePointXnumber标准白色在色彩空间的x坐标值。
whitePointYnumber标准白色在色彩空间的y坐标值。

colorSpaceManager.create

create(colorSpaceName: ColorSpace): ColorSpaceManager

创建标准色域对象。

系统能力:  SystemCapability.Graphic.Graphic2D.ColorManager.Core

参数:

参数名类型必填说明
colorSpaceName[ColorSpace]标准色域类型枚举值。UNKNOWN与CUSTOM不可用于直接创建色域对象。

返回值:

类型说明
[ColorSpaceManager]返回当前创建的色域对象实例。
错误码ID错误信息
401Parameter error. Possible cause: 1.Incorrect parameter type. 2.Parameter verification failed.
18600001The parameter value is abnormal.

示例:

let colorSpace: colorSpaceManager.ColorSpaceManager;
try {
    colorSpace = colorSpaceManager.create(colorSpaceManager.ColorSpace.SRGB);
} catch (err) {
    console.log(`Failed to create SRGB colorSpace. Cause: ` + JSON.stringify(err));
}

colorSpaceManager.create

create(primaries: ColorSpacePrimaries, gamma: number): ColorSpaceManager

创建用户自定义色域对象。

系统能力:  SystemCapability.Graphic.Graphic2D.ColorManager.Core

参数:

参数名类型必填说明
primaries[ColorSpacePrimaries]色域标准三原色。
gammanumber色域gamma值。

返回值:

类型说明
[ColorSpaceManager]返回当前创建的色域对象实例。色域类型定义为[ColorSpace]枚举值CUSTOM。
错误码ID错误信息
401Parameter error. Possible cause: 1.Incorrect parameter type. 2.Parameter verification failed.
18600001The parameter value is abnormal.

示例:

let colorSpace: colorSpaceManager.ColorSpaceManager;
try {
    let primaries: colorSpaceManager.ColorSpacePrimaries = {
        redX: 0.1,
        redY: 0.1,
        greenX: 0.2,
        greenY: 0.2,
        blueX: 0.3,
        blueY: 0.3,
        whitePointX: 0.4,
        whitePointY: 0.4
    };
    let gamma = 2.2;
    colorSpace = colorSpaceManager.create(primaries, gamma);
} catch (err) {
    console.log(`Failed to create colorSpace with customized primaries and gamma. Cause: ` + JSON.stringify(err));
}

ColorSpaceManager

当前色域对象实例。

下列API示例中都需先使用[create()]获取到ColorSpaceManager实例,再通过此实例调用对应方法。

getColorSpaceName

getColorSpaceName(): ColorSpace

获取色域类型。

系统能力:  SystemCapability.Graphic.Graphic2D.ColorManager.Core

返回值:

类型说明
[ColorSpace]返回色域类型枚举值。
错误码ID错误信息
18600001The parameter value is abnormal.

示例:

try {
    let spaceName = colorSpace.getColorSpaceName();
} catch (err) {
    console.log(`Fail to get colorSpace's name. Cause: ` + JSON.stringify(err));
}

getWhitePoint

getWhitePoint(): Array

获取色域白点值。

系统能力:  SystemCapability.Graphic.Graphic2D.ColorManager.Core

返回值:

类型说明
Array返回色域白点值[x, y]。
错误码ID错误信息
18600001The parameter value is abnormal.

示例:

try {
    let point = colorSpace.getWhitePoint();
} catch (err) {
    console.log(`Failed to get white point. Cause: ` + JSON.stringify(err));
}

getGamma

getGamma(): number

获取色域gamma值。

系统能力:  SystemCapability.Graphic.Graphic2D.ColorManager.Core

返回值:

类型说明
number返回色域gamma值。
错误码ID错误信息
18600001The parameter value is abnormal.

示例:

try {
    let gamma = colorSpace.getGamma();
} catch (err) {
    console.log(`Failed to get gamma. Cause: ` + JSON.stringify(err));
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值