色彩管理

2024-01-23 13:19 更新

本模塊提供管理抽象化色域?qū)ο蟮囊恍┗A(chǔ)能力,包括色域?qū)ο蟮膭?chuàng)建與色域基礎(chǔ)屬性的獲取等。

說明

本模塊首批接口從API version 9開始支持。后續(xù)版本的新增接口,采用上角標(biāo)單獨(dú)標(biāo)記接口的起始版本。

導(dǎo)入模塊

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

ColorSpace

色域類型枚舉。

系統(tǒng)能力: SystemCapability.Graphic.Graphic2D.ColorManager.Core

名稱說明
UNKNOWN0未知的色域類型。
ADOBE_RGB_19981RGB色域?yàn)锳dobe RGB(1998)類型。
DCI_P32RGB色域?yàn)镈CI-P3類型。
DISPLAY_P33RGB色域?yàn)镈isplay P3類型。
SRGB4

RGB色域?yàn)镾RGB類型。

系統(tǒng)默認(rèn)色域類型。

CUSTOM5用戶自定義色域類型。

ColorSpacePrimaries

色域標(biāo)準(zhǔn)三原色(紅、綠、藍(lán))和白色,使用(x, y)表示其在色彩空間中的位置。

系統(tǒng)能力: SystemCapability.Graphic.Graphic2D.ColorManager.Core

名稱類型可讀可寫說明
redXnumber標(biāo)準(zhǔn)紅色在色彩空間的x坐標(biāo)值。
redYnumber標(biāo)準(zhǔn)紅色在色彩空間的y坐標(biāo)值。
greenXnumber標(biāo)準(zhǔn)綠色在色彩空間的x坐標(biāo)值。
greenYnumber標(biāo)準(zhǔn)綠色在色彩空間的y坐標(biāo)值。
blueXnumber標(biāo)準(zhǔn)藍(lán)色在色彩空間的x坐標(biāo)值。
blueYnumber標(biāo)準(zhǔn)藍(lán)色在色彩空間的y坐標(biāo)值。
whitePointXnumber標(biāo)準(zhǔn)白色在色彩空間的x坐標(biāo)值。
whitePointYnumber標(biāo)準(zhǔn)白色在色彩空間的y坐標(biāo)值。

colorSpaceManager.create

create(colorSpaceName: ColorSpace): ColorSpaceManager

創(chuàng)建標(biāo)準(zhǔn)色域?qū)ο蟆?/p>

系統(tǒng)能力: SystemCapability.Graphic.Graphic2D.ColorManager.Core

參數(shù):

參數(shù)名類型必填說明
colorSpaceNameColorSpace

標(biāo)準(zhǔn)色域類型枚舉值。

UNKNOWN與CUSTOM不可用于直接創(chuàng)建色域?qū)ο蟆?/p>

返回值:

類型說明
ColorSpaceManager返回當(dāng)前創(chuàng)建的色域?qū)ο髮?shí)例。

錯(cuò)誤碼:

以下錯(cuò)誤碼的詳細(xì)介紹請(qǐng)參見色彩管理錯(cuò)誤碼。

錯(cuò)誤碼ID錯(cuò)誤信息
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

創(chuàng)建用戶自定義色域?qū)ο蟆?/p>

系統(tǒng)能力: SystemCapability.Graphic.Graphic2D.ColorManager.Core

參數(shù):

參數(shù)名類型必填說明
primariesColorSpacePrimaries色域標(biāo)準(zhǔn)三原色。
gammanumber色域gamma值。

返回值:

類型說明
ColorSpaceManager

返回當(dāng)前創(chuàng)建的色域?qū)ο髮?shí)例。

色域類型定義為ColorSpace枚舉值CUSTOM。

錯(cuò)誤碼:

以下錯(cuò)誤碼的詳細(xì)介紹請(qǐng)參見色彩管理錯(cuò)誤碼。

錯(cuò)誤碼ID錯(cuò)誤信息
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

當(dāng)前色域?qū)ο髮?shí)例。

下列API示例中都需先使用create()獲取到ColorSpaceManager實(shí)例(i.e. colorSpace),再通過此實(shí)例調(diào)用對(duì)應(yīng)方法。

getColorSpaceName

getColorSpaceName(): ColorSpace

獲取色域類型。

系統(tǒng)能力: SystemCapability.Graphic.Graphic2D.ColorManager.Core

返回值:

類型說明
ColorSpace返回色域類型枚舉值。

錯(cuò)誤碼:

以下錯(cuò)誤碼的詳細(xì)介紹請(qǐng)參見色彩管理錯(cuò)誤碼

錯(cuò)誤碼ID錯(cuò)誤信息
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>

獲取色域白點(diǎn)值。

系統(tǒng)能力: SystemCapability.Graphic.Graphic2D.ColorManager.Core

返回值:

類型說明
Array<number>返回色域白點(diǎn)值[x, y]。

錯(cuò)誤碼:

以下錯(cuò)誤碼的詳細(xì)介紹請(qǐng)參見色彩管理錯(cuò)誤碼

錯(cuò)誤碼ID錯(cuò)誤信息
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值。

系統(tǒng)能力: SystemCapability.Graphic.Graphic2D.ColorManager.Core

返回值:

類型說明
number返回色域gamma值。

錯(cuò)誤碼:

以下錯(cuò)誤碼的詳細(xì)介紹請(qǐng)參見色彩管理錯(cuò)誤碼。

錯(cuò)誤碼ID錯(cuò)誤信息
18600001Parameter value is abnormal.

示例:

  1. try {
  2. colorSpace.getGamma();
  3. } catch (err) {
  4. console.log(`Failed to get gamma. Cause: ` + JSON.stringify(err));
  5. }
以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)