• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# Class (Tool)
2
3<!--Kit: ArkGraphics 2D-->
4<!--Subsystem: Graphics-->
5<!--Owner: @hangmengxin-->
6<!--Designer: @wangyanglan-->
7<!--Tester: @nobuggers-->
8<!--Adviser: @ge-yafang-->
9
10> **说明:**
11>
12> - 本模块首批接口从API version 11开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
13>
14> - 本Class首批接口从API version 15开始支持。
15>
16> - 本模块使用屏幕物理像素单位px。
17>
18> - 本模块为单线程模型策略,需要调用方自行管理线程安全和上下文状态的切换。
19
20本模块定义的工具类,仅提供静态的方法,主要完成其他模块和[common2D](js-apis-graphics-common2D.md)中定义的数据结构的转换功能等操作。
21
22## 导入模块
23
24```ts
25import { drawing } from '@kit.ArkGraphics2D';
26```
27
28## makeColorFromResourceColor<sup>15+</sup>
29
30static makeColorFromResourceColor(resourceColor: ResourceColor): common2D.Color
31
32将ResourceColor类型的值转换为common2D.Color对象。
33
34**系统能力:** SystemCapability.Graphics.Drawing
35
36**参数:**
37
38| 参数名 | 类型                                               | 必填 | 说明           |
39| ------ | -------------------------------------------------- | ---- | -------------- |
40| resourceColor | [ResourceColor](../apis-arkui/arkui-ts/ts-types.md#resourcecolor) | 是   | ResourceColor格式的颜色值(支持所有的4种输入,示例中提供13个示例输入)。其中第4种类型[Resource](../apis-arkui/arkui-ts/ts-types.md#resource)只接受``$r('belonging.type.name')``构造方法,需要确保该资源在main/resources/base/element目录下已定义(app支持color、string和integer,sys只支持color)。 |
41
42**返回值:**
43
44| 类型    | 说明                       |
45| ------- | ------------------------- |
46| [common2D.Color](js-apis-graphics-common2D.md#color) | 转换后的common2D.Color颜色对象,若转换失败则返回空指针。 |
47
48**错误码:**
49
50以下错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)。
51
52| 错误码ID | 错误信息 |
53| ------- | --------------------------------------------|
54| 401 | Parameter error.Possible causes:1.Mandatory parameters are left unspecified;2.Incorrect parameter types. |
55
56**示例:**
57
58```ts
59import { drawing, common2D } from '@kit.ArkGraphics2D';
60
61// Color
62let color1: common2D.Color = drawing.Tool.makeColorFromResourceColor(Color.Blue);
63
64// Number
65let color2: common2D.Color = drawing.Tool.makeColorFromResourceColor(0xffc0cb);
66let color3: common2D.Color = drawing.Tool.makeColorFromResourceColor(0x11ffa500);
67
68// String
69let color4: common2D.Color = drawing.Tool.makeColorFromResourceColor('#ff0000');
70let color5: common2D.Color = drawing.Tool.makeColorFromResourceColor('#110000ff');
71let color6: common2D.Color = drawing.Tool.makeColorFromResourceColor('#00f');
72let color7: common2D.Color = drawing.Tool.makeColorFromResourceColor('#100f');
73let color8: common2D.Color = drawing.Tool.makeColorFromResourceColor('rgb(255, 100, 255)');
74let color9: common2D.Color = drawing.Tool.makeColorFromResourceColor('rgba(255, 100, 255, 0.5)');
75
76// Resource
77let color10: common2D.Color = drawing.Tool.makeColorFromResourceColor($r('sys.color.ohos_id_color_secondary'));
78
79// Use color
80let brush = new drawing.Brush();
81brush.setColor(color1);
82```