openharmony 鸿蒙 js-apis-colorSpaceManager

2025-06-12 浏览 (1)

@ohos.graphics.colorSpaceManager (色彩管理)

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

说明:

本模块首批接口从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类型。
H_LOG18+26RGB色域为BT2020类型。
转换函数为LOG类型。
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

参数:

参数名类型必填说明
colorSpaceNameColorSpace标准色域类型枚举值。
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.error(`Failed to create SRGB colorSpace. Cause: ` + JSON.stringify(err));
}

colorSpaceManager.create

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

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

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

参数:

参数名类型必填说明
primariesColorSpacePrimaries色域标准三原色。
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.error(`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.error(`Fail to get colorSpace's name. Cause: ` + JSON.stringify(err));
}

getWhitePoint

getWhitePoint(): Array<number>

获取色域白点值。

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

返回值:

类型说明
Array<number>返回色域白点值[x, y]。

错误码:

以下错误码的详细介绍请参见色彩管理错误码

错误码ID错误信息
18600001The parameter value is abnormal.

示例:

try {
    let point = colorSpace.getWhitePoint();
} catch (err) {
    console.error(`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.error(`Failed to get gamma. Cause: ` + JSON.stringify(err));
}

你可能感兴趣的鸿蒙文章

harmony 鸿蒙ArkGraphics 2D(方舟2D图形服务)

harmony 鸿蒙buffer_common.h

harmony 鸿蒙buffer_handle.h

harmony 鸿蒙BufferHandle

harmony 鸿蒙ColorSpacePrimaries

harmony 鸿蒙DisplaySoloist_ExpectedRateRange

harmony 鸿蒙drawing_bitmap.h

harmony 鸿蒙drawing_brush.h

harmony 鸿蒙drawing_canvas.h

harmony 鸿蒙drawing_color_filter.h

  • 所属分类: 后端技术
  • 本文标签: 鸿蒙 软件
  • 版权声明: 本文链接 https://seaxiang.com/blog/0s9muq