codecamp

色彩管理

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

说明

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

导入模块

  1. import colorSpaceManager from '@ohos.graphics.colorSpaceManager';

ColorSpace

色域类型枚举。

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

名称说明
UNKNOWN0未知的色域类型。
ADOBE_RGB_19981RGB色域为Adobe RGB(1998)类型。
DCI_P32RGB色域为DCI-P3类型。
DISPLAY_P33RGB色域为Display P3类型。
SRGB4

RGB色域为SRGB类型。

系统默认色域类型。

CUSTOM5用户自定义色域类型。

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错误信息
18600001Parameter value is abnormal.

示例:

  1. let colorSpace = null;
  2. try {
  3. colorSpace = colorSpaceManager.create(colorSpaceManager.ColorSpace.SRGB);
  4. } catch (err) {
  5. console.log(`Failed to create SRGB colorSpace. Cause: ` + JSON.stringify(err));
  6. }

colorSpaceManager.create

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

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

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

参数:

参数名类型必填说明
primariesColorSpacePrimaries色域标准三原色。
gammanumber色域gamma值。

返回值:

类型说明
ColorSpaceManager

返回当前创建的色域对象实例。

色域类型定义为ColorSpace枚举值CUSTOM。

错误码:

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

错误码ID错误信息
18600001Parameter value is abnormal.

示例:

  1. let colorSpace = null;
  2. try {
  3. let primaries = {
  4. redX: 0.1,
  5. redY: 0.1,
  6. greenX: 0.2,
  7. greenY: 0.2,
  8. blueX: 0.3,
  9. blueY: 0.3,
  10. whitePointX: 0.4,
  11. whitePointY: 0.4
  12. };
  13. let gamma = 2.2;
  14. colorSpace = colorSpaceManager.create(primaries, gamma);
  15. } catch (err) {
  16. console.log(`Failed to create colorSpace with customized primaries and gamma. Cause: ` + JSON.stringify(err));
  17. }

ColorSpaceManager

当前色域对象实例。

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

getColorSpaceName

getColorSpaceName(): ColorSpace

获取色域类型。

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

返回值:

类型说明
ColorSpace返回色域类型枚举值。

错误码:

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

错误码ID错误信息
18600001Parameter value is abnormal.

示例:

  1. try {
  2. colorSpace.getColorSpaceName();
  3. } catch (err) {
  4. console.log(`Fail to get colorSpace's name. Cause: ` + JSON.stringify(err));
  5. }

getWhitePoint

getWhitePoint(): Array<number>

获取色域白点值。

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

返回值:

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

错误码:

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

错误码ID错误信息
18600001Parameter value is abnormal.

示例:

  1. try {
  2. colorSpace.getWhitePoint();
  3. } catch (err) {
  4. console.log(`Failed to get white point. Cause: ` + JSON.stringify(err));
  5. }

getGamma

getGamma(): number

获取色域gamma值。

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

返回值:

类型说明
number返回色域gamma值。

错误码:

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

错误码ID错误信息
18600001Parameter value is abnormal.

示例:

  1. try {
  2. colorSpace.getGamma();
  3. } catch (err) {
  4. console.log(`Failed to get gamma. Cause: ` + JSON.stringify(err));
  5. }
图像效果
窗口
温馨提示
下载编程狮App,免费阅读超1000+编程语言教程
取消
确定
目录

媒体组件

像素

枚举

类型

接口

关闭

MIP.setData({ 'pageTheme' : getCookie('pageTheme') || {'day':true, 'night':false}, 'pageFontSize' : getCookie('pageFontSize') || 20 }); MIP.watch('pageTheme', function(newValue){ setCookie('pageTheme', JSON.stringify(newValue)) }); MIP.watch('pageFontSize', function(newValue){ setCookie('pageFontSize', newValue) }); function setCookie(name, value){ var days = 1; var exp = new Date(); exp.setTime(exp.getTime() + days*24*60*60*1000); document.cookie = name + '=' + value + ';expires=' + exp.toUTCString(); } function getCookie(name){ var reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)'); return document.cookie.match(reg) ? JSON.parse(document.cookie.match(reg)[2]) : null; }