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```