1# Class (Lattice) 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 12开始支持。 15> 16> - 本模块使用屏幕物理像素单位px。 17> 18> - 本模块为单线程模型策略,需要调用方自行管理线程安全和上下文状态的切换。 19 20矩形网格对象。该对象用于将图片按照矩形网格进行划分。 21 22## 导入模块 23 24```ts 25import { drawing } from '@kit.ArkGraphics2D'; 26``` 27 28## createImageLattice<sup>12+</sup> 29 30static createImageLattice(xDivs: Array\<number>, yDivs: Array\<number>, fXCount: number, fYCount: number, fBounds?: common2D.Rect | null, fRectTypes?: Array\<RectType> | null, fColors?: Array\<common2D.Color> | null): Lattice 31 32创建矩形网格对象。将图像划分为矩形网格,同时处于偶数列和偶数行上的网格是固定的,如果目标网格足够大,则这些固定网格以其原始大小进行绘制。如果目标网格太小,无法容纳这些固定网格,则所有固定网格都会按比例缩小以适应目标网格。其余网格将进行缩放,来适应剩余的空间。 33 34**系统能力:** SystemCapability.Graphics.Drawing 35 36**参数:** 37 38| 参数名 | 类型 | 必填 | 说明 | 39| ------------ | ------------------------------------------------------------------ | ---- | --------------------------------------------------------------------------------- | 40| xDivs | Array\<number> | 是 | 用于划分图像的X坐标值数组。该参数为整数。 | 41| yDivs | Array\<number> | 是 | 用于划分图像的Y坐标值数组。该参数为整数。 | 42| fXCount | number | 是 | X坐标值数组的大小。基于功能和性能的考虑,取值范围为[0, 5]。 | 43| fYCount | number | 是 | Y坐标值数组的大小。基于功能和性能的考虑,取值范围为[0, 5]。 | 44| fBounds | [common2D.Rect](js-apis-graphics-common2D.md#rect) \| null | 否 | 可选,要绘制的原始边界矩形,矩形参数须为整数,默认为原始图像矩形大小(若矩形参数为小数,会直接舍弃小数部分,转为整数)。 | 45| fRectTypes | Array\<[RectType](arkts-apis-graphics-drawing-e.md#recttype12)> \| null | 否 | 可选,填充网格类型的数组,默认为空。如果设置,大小必须为(fXCount + 1) * (fYCount + 1)。 | 46| fColors | Array\<[common2D.Color](js-apis-graphics-common2D.md#color)> \| null | 否 | 可选,填充网格的颜色数组,默认为空。如果设置,大小必须为(fXCount + 1) * (fYCount + 1)。 | 47 48**返回值:** 49 50| 类型 | 说明 | 51| ------------------------- | ----------------------------------- | 52| [Lattice](arkts-apis-graphics-drawing-Lattice.md) | 返回创建的矩形网格对象。 | 53 54**错误码:** 55 56以下错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)。 57 58| 错误码ID | 错误信息 | 59| ------- | --------------------------------------------| 60| 401 | Parameter error.Possible causes:1.Mandatory parameters are left unspecified;2.Incorrect parameter types;3.Parameter verification failed. | 61 62**示例:** 63 64```ts 65import { RenderNode } from '@kit.ArkUI'; 66import { drawing } from '@kit.ArkGraphics2D'; 67 68class DrawingRenderNode extends RenderNode { 69 draw(context : DrawContext) { 70 let xDivs : Array<number> = [1, 2, 4]; 71 let yDivs : Array<number> = [1, 2, 4]; 72 let lattice = drawing.Lattice.createImageLattice(xDivs, yDivs, 3, 3); // 划分(3+1)*(3+1)的网格,下图蓝色填充矩形为固定网格 73 } 74} 75``` 76 77 78## createImageLattice<sup>18+</sup> 79 80static createImageLattice(xDivs: Array\<number>, yDivs: Array\<number>, fXCount: number, fYCount: number, fBounds?: common2D.Rect | null, fRectTypes?: Array\<RectType> | null, fColors?: Array\<number> | null): Lattice 81 82创建矩形网格对象。将图像划分为矩形网格,同时处于偶数列和偶数行上的网格是固定的,如果目标网格足够大,则这些固定网格以其原始大小进行绘制。如果目标网格太小,无法容纳这些固定网格,则所有固定网格都会按比例缩小以适应目标网格。其余网格将进行缩放,来适应剩余的空间。 83 84**系统能力:** SystemCapability.Graphics.Drawing 85 86**参数:** 87 88| 参数名 | 类型 | 必填 | 说明 | 89| ------------ | ------------------------------------------------------------------ | ---- | --------------------------------------------------------------------------------- | 90| xDivs | Array\<number> | 是 | 用于划分图像的X坐标值数组。该参数为整数。 | 91| yDivs | Array\<number> | 是 | 用于划分图像的Y坐标值数组。该参数为整数。 | 92| fXCount | number | 是 | X坐标值数组的大小。基于功能和性能的考虑,取值范围为[0, 5]。 | 93| fYCount | number | 是 | Y坐标值数组的大小。基于功能和性能的考虑,取值范围为[0, 5]。 | 94| fBounds | [common2D.Rect](js-apis-graphics-common2D.md#rect) \| null | 否 | 可选,要绘制的原始边界矩形,矩形参数须为整数,默认为原始图像矩形大小(若矩形参数为小数,会直接舍弃小数部分,转为整数)。 | 95| fRectTypes | Array\<[RectType](arkts-apis-graphics-drawing-e.md#recttype12)> \| null | 否 | 可选,填充网格类型的数组,默认为空。如果设置,大小必须为(fXCount + 1) * (fYCount + 1)。 | 96| fColors | Array\<number> \| null | 否 | 可选,填充网格的颜色数组,颜色用16进制ARGB格式的32位无符号整数表示,参数默认为空。如果设置,大小必须为(fXCount + 1) * (fYCount + 1)。 | 97 98**返回值:** 99 100| 类型 | 说明 | 101| ------------------------- | ----------------------------------- | 102| [Lattice](arkts-apis-graphics-drawing-Lattice.md) | 返回创建的矩形网格对象。 | 103 104**错误码:** 105 106以下错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)。 107 108| 错误码ID | 错误信息 | 109| ------- | --------------------------------------------| 110| 401 | Parameter error.Possible causes:1.Mandatory parameters are left unspecified;2.Incorrect parameter types;3.Parameter verification failed. | 111 112**示例:** 113 114```ts 115import { RenderNode } from '@kit.ArkUI'; 116import { drawing } from '@kit.ArkGraphics2D'; 117 118class DrawingRenderNode extends RenderNode { 119 draw(context : DrawContext) { 120 let xDivs : Array<number> = [1, 2, 4]; 121 let yDivs : Array<number> = [1, 2, 4]; 122 let colorArray :Array<number>=[0xffffffff,0x44444444,0x99999999,0xffffffff,0x44444444,0x99999999,0xffffffff,0x44444444,0x99999999,0x44444444,0x99999999,0xffffffff,0x44444444,0x99999999,0xffffffff,0x44444444]; 123 let lattice = drawing.Lattice.createImageLattice(xDivs, yDivs, 3, 3,null,null,colorArray); 124 } 125} 126```