From 0bb8d68ff90e40d7cf8f7ba7354b1957fa41f77d Mon Sep 17 00:00:00 2001 From: HelloCrease Date: Mon, 21 Mar 2022 20:40:05 +0800 Subject: [PATCH] =?UTF-8?q?update=E8=8B=B1=E6=96=87?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: HelloCrease --- .../arkui-ts/ts-canvasrenderingcontext2d.md | 538 +++++++++--------- .../ts-offscreencanvasrenderingcontext2d.md | 492 ++++++++-------- .../ui/figures/loadingProgress.png | Bin 0 -> 15368 bytes .../ui/ts-basic-components-loadingprogress.md | 44 ++ 4 files changed, 559 insertions(+), 515 deletions(-) create mode 100644 en/application-dev/ui/figures/loadingProgress.png create mode 100644 en/application-dev/ui/ts-basic-components-loadingprogress.md diff --git a/en/application-dev/reference/arkui-ts/ts-canvasrenderingcontext2d.md b/en/application-dev/reference/arkui-ts/ts-canvasrenderingcontext2d.md index 3daa690bb4..d6c76db863 100644 --- a/en/application-dev/reference/arkui-ts/ts-canvasrenderingcontext2d.md +++ b/en/application-dev/reference/arkui-ts/ts-canvasrenderingcontext2d.md @@ -13,9 +13,9 @@ Use **RenderingContext** to draw rectangles, text, images, and other objects on CanvasRenderingContext2D(setting: RenderingContextSetting) - Parameters - | Name | Type | Mandatory | Default Value | Description | - | -------- | -------- | -------- | -------- | -------- | - | setting | [RenderingContextSettings](#renderingcontextsettings) | Yes | - | See RenderingContextSettings. | + | Name | Type | Mandatory | Default Value | Description | + | ------- | ---------------------------------------- | --------- | ------------- | ----------------------------- | + | setting | [RenderingContextSettings](#renderingcontextsettings) | Yes | - | See RenderingContextSettings. | ### RenderingContextSettings @@ -25,33 +25,33 @@ RenderingContextSettings(antialias?: bool) Configures the settings of a **CanvasRenderingContext2D** object, including whether to enable antialiasing. - Parameters - | Name | Type | Mandatory | Default Value | Description | - | -------- | -------- | -------- | -------- | -------- | - | antialias | bool | No | false | Whether antialiasing is enabled. | + | Name | Type | Mandatory | Default Value | Description | + | --------- | ---- | --------- | ------------- | -------------------------------- | + | antialias | bool | No | false | Whether antialiasing is enabled. | ## Attributes -| Name | Type | Default Value | Description | -| -------- | -------- | -------- | -------- | -| [fillStyle](#fillstyle) | <color> \| [CanvasGradient](ts-components-canvas-canvasgradient.md) \| [CanvasPattern](#canvaspattern) | - | Style used to fill an area.
- When the type is **<color>**, this attribute indicates the fill color.
- When the type is **CanvasGradient**, this attribute indicates a gradient object, which is created using the [createLinearGradient](#createlineargradient) method.
- When the type is **CanvasPattern**, this attribute indicates a pattern, which is created using the [createPattern](#createpattern) method. | -| [lineWidth](#linewidth) | number | - | Line width. | -| [strokeStyle](#strokestyle) | <color> \| [CanvasGradient](ts-components-canvas-canvasgradient.md) \| [CanvasPattern](#canvaspattern) | - | Stroke style.
- When the type is **<color>**, this attribute indicates the stroke color.
- When the type is **CanvasGradient**, this attribute indicates a gradient object, which is created using the [createLinearGradient](#createlineargradient) method.
- When the type is **CanvasPattern**, this attribute indicates a pattern, which is created using the [createPattern](#createpattern) method. | -| [lineCap](#linecap) | string | 'butt' | Style of the line endpoints. The options are as follows:
- **'butt'**: The endpoints of the line are squared off.
- **'round'**: The endpoints of the line are rounded.
- **'square'**: The endpoints of the line are squared off by adding a box with an equal width and half the height of the line's thickness. | -| [lineJoin](#linejoin) | string | 'miter' | Style of the shape used to join line segments. The options are as follows:
- **'round'**: The shape used to join line segments is a rounded corner with the radius equal to the line width.
- **'bevel'**: The shape used to join line segments is a beveled corner. The rectangular corner of each line is independent.
- **'miter'**: The shape used to join line segments is a mitered corner. The corner is formed by extending the outside edges of the lines until they meet. You can adjust the effect of this attribute using **miterLimit**. | -| [miterLimit](#miterlimit) | number | 10 | Maximum miter length. The miter length is the distance between the inner corner and the outer corner where two lines meet. | -| [font](#font) | string | 'normal normal 14px sans-serif' | Font style.
Syntax: ctx.font='font-size font-family'
- (Optional) **font-size**: font size and row height. The unit can only be px.
- (Optional) **font-family**: font family.
Syntax: ctx.font='font-style font-weight font-size font-family'
- (Optional) **font-style**: font style. Available values are **'normal'** and **'italic'**.
- (Optional) **font-weight**: font weight. Available values are as follows: **'normal'**, **'bold'**, **'bolder'**, **'lighter'**, **100**, **200**, **300**, **400**, **500**, **600**, **700**, **800**, **900**
- (Optional) **font-size**: font size and row height. The unit can only be px.
- (Optional) **font-family**: font family. Available values are **'sans-serif'**, **'serif'**, and **'monospace'**. | -| [textAlign](#textalign) | string | 'left' | Text alignment mode. Available values are as follows:
- **'left'**: The text is left-aligned.
- **'right'**: The text is right-aligned.
- **'center'**: The text is center-aligned.
- **'start'**: The text is aligned with the start bound.
- **'end'**: The text is aligned with the end bound.
> ![icon-note.gif](public_sys-resources/icon-note.gif) **NOTE**
> In the **ltr** layout mode, the value **'start'** equals **'left'**. In the **rtl** layout mode, the value **'start'** equals **'right'**. | -| [textBaseline](#textbaseline) | string | 'alphabetic' | Horizontal alignment mode of text. Available values are as follows:
- **'alphabetic'**: The text baseline is the normal alphabetic baseline.
- **'top'**: The text baseline is on the top of the text bounding box.
- **'hanging'**: The text baseline is a hanging baseline over the text.
- **'middle'**: The text baseline is in the middle of the text bounding box.
- **'ideographic'**: The text baseline is the ideographic baseline. If a character exceeds the alphabetic baseline, the ideographic baseline is located at the bottom of the excess character.
- **'bottom'**: The text baseline is at the bottom of the text bounding box. Its difference from the ideographic baseline is that the ideographic baseline does not consider letters in the next line. | -| [globalAlpha](#globalalpha) | number | - | Opacity. **0.0**: completely transparent; **1.0**: completely opaque. | -| [lineDashOffset](#linedashoffset) | number | 0.0 | Offset of the dashed line. The precision is float. | -| [globalCompositeOperation](#globalcompositeoperation) | string | 'source-over' | Composition operation type. Available values are as follows: **'source-over'**, **'source-atop'**, **'source-in'**, **'source-out'**, **'destination-over'**, **'destination-atop'**, **'destination-in'**, **'destination-out'**, **'lighter'**, **'copy'**, and **'xor'**. | -| [shadowBlur](#shadowblur) | number | 0.0 | Blur level during shadow drawing. A larger value indicates a more blurred effect. The precision is float. | -| [shadowColor](#shadowcolor) | <color> | - | Shadow color. | -| [shadowOffsetX](#shadowoffsetx) | number | - | X-axis shadow offset relative to the original object. | -| [shadowOffsetY](#shadowoffsety) | number | - | Y-axis shadow offset relative to the original object. | -| [imageSmoothingEnabled](#imagesmoothingenabled) | boolean | true | Whether to adjust the image smoothness during image drawing. The value **true** means to enable this feature, and **false** means the opposite. | -| imageSmoothingQuality | string | 'low' | Image smoothness. The value can be **'low'**, **'medium'**, or **'high'**. | +| Name | Type | Default Value | Description | +| ---------------------------------------- | ---------------------------------------- | ------------------------------- | ---------------------------------------- | +| [fillStyle](#fillstyle) | <color> \| [CanvasGradient](ts-components-canvas-canvasgradient.md) \| [CanvasPattern](#canvaspattern) | - | Style used to fill an area.
- When the type is **<color>**, this attribute indicates the fill color.
- When the type is **CanvasGradient**, this attribute indicates a gradient object, which is created using the [createLinearGradient](#createlineargradient) method.
- When the type is **CanvasPattern**, this attribute indicates a pattern, which is created using the [createPattern](#createpattern) method. | +| [lineWidth](#linewidth) | number | - | Line width. | +| [strokeStyle](#strokestyle) | <color> \| [CanvasGradient](ts-components-canvas-canvasgradient.md) \| [CanvasPattern](#canvaspattern) | - | Stroke style.
- When the type is **<color>**, this attribute indicates the stroke color.
- When the type is **CanvasGradient**, this attribute indicates a gradient object, which is created using the [createLinearGradient](#createlineargradient) method.
- When the type is **CanvasPattern**, this attribute indicates a pattern, which is created using the [createPattern](#createpattern) method. | +| [lineCap](#linecap) | string | 'butt' | Style of the line endpoints. The options are as follows:
- **'butt'**: The endpoints of the line are squared off.
- **'round'**: The endpoints of the line are rounded.
- **'square'**: The endpoints of the line are squared off by adding a box with an equal width and half the height of the line's thickness. | +| [lineJoin](#linejoin) | string | 'miter' | Style of the shape used to join line segments. The options are as follows:
- **'round'**: The shape used to join line segments is a rounded corner with the radius equal to the line width.
- **'bevel'**: The shape used to join line segments is a beveled corner. The rectangular corner of each line is independent.
- **'miter'**: The shape used to join line segments is a mitered corner. The corner is formed by extending the outside edges of the lines until they meet. You can adjust the effect of this attribute using **miterLimit**. | +| [miterLimit](#miterlimit) | number | 10 | Maximum miter length. The miter length is the distance between the inner corner and the outer corner where two lines meet. | +| [font](#font) | string | 'normal normal 14px sans-serif' | Font style.
Syntax: ctx.font='font-size font-family'
- (Optional) **font-size**: font size and row height. The unit can only be px.
- (Optional) **font-family**: font family.
Syntax: ctx.font='font-style font-weight font-size font-family'
- (Optional) **font-style**: font style. Available values are **'normal'** and **'italic'**.
- (Optional) **font-weight**: font weight. Available values are as follows: **'normal'**, **'bold'**, **'bolder'**, **'lighter'**, **100**, **200**, **300**, **400**, **500**, **600**, **700**, **800**, **900**
- (Optional) **font-size**: font size and row height. The unit can only be px.
- (Optional) **font-family**: font family. Available values are **'sans-serif'**, **'serif'**, and **'monospace'**. | +| [textAlign](#textalign) | string | 'left' | Text alignment mode. Available values are as follows:
- **'left'**: The text is left-aligned.
- **'right'**: The text is right-aligned.
- **'center'**: The text is center-aligned.
- **'start'**: The text is aligned with the start bound.
- **'end'**: The text is aligned with the end bound.
> ![icon-note.gif](public_sys-resources/icon-note.gif) **NOTE**
> In the **ltr** layout mode, the value **'start'** equals **'left'**. In the **rtl** layout mode, the value **'start'** equals **'right'**. | +| [textBaseline](#textbaseline) | string | 'alphabetic' | Horizontal alignment mode of text. Available values are as follows:
- **'alphabetic'**: The text baseline is the normal alphabetic baseline.
- **'top'**: The text baseline is on the top of the text bounding box.
- **'hanging'**: The text baseline is a hanging baseline over the text.
- **'middle'**: The text baseline is in the middle of the text bounding box.
- **'ideographic'**: The text baseline is the ideographic baseline. If a character exceeds the alphabetic baseline, the ideographic baseline is located at the bottom of the excess character.
- **'bottom'**: The text baseline is at the bottom of the text bounding box. Its difference from the ideographic baseline is that the ideographic baseline does not consider letters in the next line. | +| [globalAlpha](#globalalpha) | number | - | Opacity. **0.0**: completely transparent; **1.0**: completely opaque. | +| [lineDashOffset](#linedashoffset) | number | 0.0 | Offset of the dashed line. The precision is float. | +| [globalCompositeOperation](#globalcompositeoperation) | string | 'source-over' | Composition operation type. Available values are as follows: **'source-over'**, **'source-atop'**, **'source-in'**, **'source-out'**, **'destination-over'**, **'destination-atop'**, **'destination-in'**, **'destination-out'**, **'lighter'**, **'copy'**, and **'xor'**. | +| [shadowBlur](#shadowblur) | number | 0.0 | Blur level during shadow drawing. A larger value indicates a more blurred effect. The precision is float. | +| [shadowColor](#shadowcolor) | <color> | - | Shadow color. | +| [shadowOffsetX](#shadowoffsetx) | number | - | X-axis shadow offset relative to the original object. | +| [shadowOffsetY](#shadowoffsety) | number | - | Y-axis shadow offset relative to the original object. | +| [imageSmoothingEnabled](#imagesmoothingenabled) | boolean | true | Whether to adjust the image smoothness during image drawing. The value **true** means to enable this feature, and **false** means the opposite. | +| imageSmoothingQuality | string | 'low' | Image smoothness. The value can be **'low'**, **'medium'**, or **'high'**. | > ![icon-note.gif](public_sys-resources/icon-note.gif) **NOTE** > The value of the **<color>** type can be in 'rgb(255, 255, 255)', 'rgba(255, 255, 255, 1.0)', or '\#FFFFFF' format. @@ -439,19 +439,19 @@ struct LineDashOffset { ### globalCompositeOperation -| Name | Description | -| -------- | -------- | -| source-over | Displays the new drawing above the existing drawing. This attribute is used by default. | -| source-atop | Displays the new drawing on the top of the existing drawing. | -| source-in | Displays the new drawing inside the existing drawing. | -| source-out | Displays the part of the new drawing that is outside of the existing drawing. | +| Name | Description | +| ---------------- | ---------------------------------------- | +| source-over | Displays the new drawing above the existing drawing. This attribute is used by default. | +| source-atop | Displays the new drawing on the top of the existing drawing. | +| source-in | Displays the new drawing inside the existing drawing. | +| source-out | Displays the part of the new drawing that is outside of the existing drawing. | | destination-over | Displays the existing drawing above the new drawing. | | destination-atop | Displays the existing drawing on the top of the new drawing. | -| destination-in | Displays the existing drawing inside the new drawing. | -| destination-out | Displays the part of the existing drawing that is outside of the new drawing. | -| lighter | Displays both the new drawing and the existing drawing. | -| copy | Displays the new drawing and neglects the existing drawing. | -| xor | Combines the new drawing and existing drawing using the XOR operation. | +| destination-in | Displays the existing drawing inside the new drawing. | +| destination-out | Displays the part of the existing drawing that is outside of the new drawing. | +| lighter | Displays both the new drawing and the existing drawing. | +| copy | Displays the new drawing and neglects the existing drawing. | +| xor | Combines the new drawing and existing drawing using the XOR operation. | ``` @@ -659,15 +659,15 @@ fillRect(x: number, y: number, w: number, h: number): void Fills a rectangle on the canvas. - Parameters - | Name | Type | Mandatory | Default Value | Description | - | -------- | -------- | -------- | -------- | -------- | - | x | number | Yes | 0 | X-coordinate of the upper left corner of the rectangle. | - | y | number | Yes | 0 | Y-coordinate of the upper left corner of the rectangle. | - | width | number | Yes | 0 | Width of the rectangle. | - | height | number | Yes | 0 | Height of the rectangle. | + | Name | Type | Mandatory | Default Value | Description | + | ------ | ------ | --------- | ------------- | ---------------------------------------- | + | x | number | Yes | 0 | X-coordinate of the upper left corner of the rectangle. | + | y | number | Yes | 0 | Y-coordinate of the upper left corner of the rectangle. | + | width | number | Yes | 0 | Width of the rectangle. | + | height | number | Yes | 0 | Height of the rectangle. | - Example - + ``` @Entry @Component @@ -701,15 +701,15 @@ strokeRect(x: number, y: number, w: number, h: number): void Draws an outlined rectangle on the canvas. - Parameters - | Name | Type | Mandatory | Default Value | Description | - | -------- | -------- | -------- | -------- | -------- | - | x | number | Yes | 0 | X-coordinate of the upper left corner of the rectangle. | - | y | number | Yes | 0 | Y-coordinate of the upper left corner of the rectangle. | - | width | number | Yes | 0 | Width of the rectangle. | - | height | number | Yes | 0 | Height of the rectangle. | + | Name | Type | Mandatory | Default Value | Description | + | ------ | ------ | --------- | ------------- | ---------------------------------------- | + | x | number | Yes | 0 | X-coordinate of the upper left corner of the rectangle. | + | y | number | Yes | 0 | Y-coordinate of the upper left corner of the rectangle. | + | width | number | Yes | 0 | Width of the rectangle. | + | height | number | Yes | 0 | Height of the rectangle. | - Example - + ``` @Entry @Component @@ -742,15 +742,15 @@ clearRect(x: number, y: number, w: number, h: number): void Clears the content in a rectangle on the canvas. - Parameters - | Name | Type | Mandatory | Default Value | Description | - | -------- | -------- | -------- | -------- | -------- | - | x | number | Yes | 0 | X-coordinate of the upper left corner of the rectangle. | - | y | number | Yes | 0 | Y-coordinate of the upper left corner of the rectangle. | - | width | number | Yes | 0 | Width of the rectangle. | - | height | number | Yes | 0 | Height of the rectangle. | + | Name | Type | Mandatory | Default Value | Description | + | ------ | ------ | --------- | ------------- | ---------------------------------------- | + | x | number | Yes | 0 | X-coordinate of the upper left corner of the rectangle. | + | y | number | Yes | 0 | Y-coordinate of the upper left corner of the rectangle. | + | width | number | Yes | 0 | Width of the rectangle. | + | height | number | Yes | 0 | Height of the rectangle. | - Example - + ``` @Entry @Component @@ -785,14 +785,14 @@ fillText(text: string, x: number, y: number): void Draws filled text on the canvas. - Parameters - | Name | Type | Mandatory | Default Value | Description | - | -------- | -------- | -------- | -------- | -------- | - | text | string | Yes | "" | Text to draw. | - | x | number | Yes | 0 | X-coordinate of the lower left corner of the text. | - | y | number | Yes | 0 | Y-coordinate of the lower left corner of the text. | + | Name | Type | Mandatory | Default Value | Description | + | ---- | ------ | --------- | ------------- | ---------------------------------------- | + | text | string | Yes | "" | Text to draw. | + | x | number | Yes | 0 | X-coordinate of the lower left corner of the text. | + | y | number | Yes | 0 | Y-coordinate of the lower left corner of the text. | - Example - + ``` @Entry @Component @@ -826,14 +826,14 @@ strokeText(text: string, x: number, y: number): void Draws a text stroke on the canvas. - Parameters - | Name | Type | Mandatory | Default Value | Description | - | -------- | -------- | -------- | -------- | -------- | - | text | string | Yes | "" | Text to draw. | - | x | number | Yes | 0 | X-coordinate of the lower left corner of the text. | - | y | number | Yes | 0 | Y-coordinate of the lower left corner of the text. | + | Name | Type | Mandatory | Default Value | Description | + | ---- | ------ | --------- | ------------- | ---------------------------------------- | + | text | string | Yes | "" | Text to draw. | + | x | number | Yes | 0 | X-coordinate of the lower left corner of the text. | + | y | number | Yes | 0 | Y-coordinate of the lower left corner of the text. | - Example - + ``` @Entry @Component @@ -867,22 +867,22 @@ measureText(text: string): TextMetrics Returns a **TextMetrics** object used to obtain the width of specified text. - Parameters - | Name | Type | Mandatory | Default Value | Description | - | -------- | -------- | -------- | -------- | -------- | - | text | string | Yes | "" | Text to be measured. | + | Name | Type | Mandatory | Default Value | Description | + | ---- | ------ | --------- | ------------- | -------------------- | + | text | string | Yes | "" | Text to be measured. | - Return value - | Type | Description | - | -------- | -------- | - | TextMetrics | **TextMetrics** object. | + | Type | Description | + | ----------- | ----------------------- | + | TextMetrics | **TextMetrics** object. | - **TextMetrics** attributes - | Name | Type | Description | - | -------- | -------- | -------- | - | width | number | Width of the text. | + | Name | Type | Description | + | ----- | ------ | ------------------ | + | width | number | Width of the text. | - Example - + ``` @Entry @Component @@ -917,19 +917,19 @@ stroke(path?: Path2D): void Strokes a path. - Parameters - | Name | Type | Mandatory | Default Value | Description | - | -------- | -------- | -------- | -------- | -------- | - | path | [Path2D](ts-components-canvas-path2d.md) | No | null | A **Path2D** path to draw. | + | Name | Type | Mandatory | Default Value | Description | + | ---- | ---------------------------------------- | --------- | ------------- | -------------------------- | + | path | [Path2D](ts-components-canvas-path2d.md) | No | null | A **Path2D** path to draw. | - Example - + ``` @Entry @Component struct Stroke { private settings: RenderingContextSettings = new RenderingContextSettings(true) private context: CanvasRenderingContext2D = new CanvasRenderingContext2D(this.settings) - + build() { Flex({ direction: FlexDirection.Column, alignItems: ItemAlign.Center, justifyContent: FlexAlign.Center }) { Canvas(this.context) @@ -959,14 +959,14 @@ beginPath(): void Creates a drawing path. - Example - + ``` @Entry @Component struct BeginPath { private settings: RenderingContextSettings = new RenderingContextSettings(true) private context: CanvasRenderingContext2D = new CanvasRenderingContext2D(this.settings) - + build() { Flex({ direction: FlexDirection.Column, alignItems: ItemAlign.Center, justifyContent: FlexAlign.Center }) { Canvas(this.context) @@ -998,20 +998,20 @@ moveTo(x: number, y: number): void Moves a drawing path to a target position on the canvas. - Parameters - | Name | Type | Mandatory | Default Value | Description | - | -------- | -------- | -------- | -------- | -------- | - | x | number | Yes | 0 | X-coordinate of the target position. | - | y | number | Yes | 0 | Y-coordinate of the target position. | + | Name | Type | Mandatory | Default Value | Description | + | ---- | ------ | --------- | ------------- | ------------------------------------ | + | x | number | Yes | 0 | X-coordinate of the target position. | + | y | number | Yes | 0 | Y-coordinate of the target position. | - Example - + ``` @Entry @Component struct MoveTo { private settings: RenderingContextSettings = new RenderingContextSettings(true) private context: CanvasRenderingContext2D = new CanvasRenderingContext2D(this.settings) - + build() { Flex({ direction: FlexDirection.Column, alignItems: ItemAlign.Center, justifyContent: FlexAlign.Center }) { Canvas(this.context) @@ -1041,20 +1041,20 @@ lineTo(x: number, y: number): void Connects the current point to a target position using a straight line. - Parameters - | Name | Type | Mandatory | Default Value | Description | - | -------- | -------- | -------- | -------- | -------- | - | x | number | Yes | 0 | X-coordinate of the target position. | - | y | number | Yes | 0 | Y-coordinate of the target position. | + | Name | Type | Mandatory | Default Value | Description | + | ---- | ------ | --------- | ------------- | ------------------------------------ | + | x | number | Yes | 0 | X-coordinate of the target position. | + | y | number | Yes | 0 | Y-coordinate of the target position. | - Example - + ``` @Entry @Component struct LineTo { private settings: RenderingContextSettings = new RenderingContextSettings(true) private context: CanvasRenderingContext2D = new CanvasRenderingContext2D(this.settings) - + build() { Flex({ direction: FlexDirection.Column, alignItems: ItemAlign.Center, justifyContent: FlexAlign.Center }) { Canvas(this.context) @@ -1084,14 +1084,14 @@ closePath(): void Draws a closed path. - Example - + ``` @Entry @Component struct ClosePath { private settings: RenderingContextSettings = new RenderingContextSettings(true) private context: CanvasRenderingContext2D = new CanvasRenderingContext2D(this.settings) - + build() { Flex({ direction: FlexDirection.Column, alignItems: ItemAlign.Center, justifyContent: FlexAlign.Center }) { Canvas(this.context) @@ -1123,13 +1123,13 @@ createPattern(image: ImageBitmap, repetition: string): void Creates a pattern for image filling based on a specified source image and repetition mode. - Parameters - | Name | Type | Mandatory | Default Value | Description | - | -------- | -------- | -------- | -------- | -------- | - | image | [ImageBitmap](ts-components-canvas-imagebitmap.md) | Yes | null | Source image. For details, see ImageBitmap. | - | repetition | string | Yes | "" | Repetition mode. The value can be **'repeat'**, **'repeat-x'**, **'repeat-y'**, or **'no-repeat'**. | + | Name | Type | Mandatory | Default Value | Description | + | ---------- | ---------------------------------------- | --------- | ------------- | ---------------------------------------- | + | image | [ImageBitmap](ts-components-canvas-imagebitmap.md) | Yes | null | Source image. For details, see ImageBitmap. | + | repetition | string | Yes | "" | Repetition mode. The value can be **'repeat'**, **'repeat-x'**, **'repeat-y'**, or **'no-repeat'**. | - Example - + ``` @Entry @Component @@ -1137,7 +1137,7 @@ Creates a pattern for image filling based on a specified source image and repeti private settings: RenderingContextSettings = new RenderingContextSettings(true) private context: CanvasRenderingContext2D = new CanvasRenderingContext2D(this.settings) private img:ImageBitmap = new ImageBitmap("common/images/icon.jpg") - + build() { Flex({ direction: FlexDirection.Column, alignItems: ItemAlign.Center, justifyContent: FlexAlign.Center }) { Canvas(this.context) @@ -1166,24 +1166,24 @@ bezierCurveTo(cp1x: number, cp1y: number, cp2x: number, cp2y: number, x: number, Draws a cubic bezier curve on the canvas. - Parameters - | Name | Type | Mandatory | Default Value | Description | - | -------- | -------- | -------- | -------- | -------- | - | cp1x | number | Yes | 0 | X-coordinate of the first parameter of the bezier curve. | - | cp1y | number | Yes | 0 | Y-coordinate of the first parameter of the bezier curve. | - | cp2x | number | Yes | 0 | X-coordinate of the second parameter of the bezier curve. | - | cp2y | number | Yes | 0 | Y-coordinate of the second parameter of the bezier curve. | - | x | number | Yes | 0 | X-coordinate of the end point on the bezier curve. | - | y | number | Yes | 0 | Y-coordinate of the end point on the bezier curve. | + | Name | Type | Mandatory | Default Value | Description | + | ---- | ------ | --------- | ------------- | ---------------------------------------- | + | cp1x | number | Yes | 0 | X-coordinate of the first parameter of the bezier curve. | + | cp1y | number | Yes | 0 | Y-coordinate of the first parameter of the bezier curve. | + | cp2x | number | Yes | 0 | X-coordinate of the second parameter of the bezier curve. | + | cp2y | number | Yes | 0 | Y-coordinate of the second parameter of the bezier curve. | + | x | number | Yes | 0 | X-coordinate of the end point on the bezier curve. | + | y | number | Yes | 0 | Y-coordinate of the end point on the bezier curve. | - Example - + ``` @Entry @Component struct BezierCurveTo { private settings: RenderingContextSettings = new RenderingContextSettings(true) private context: CanvasRenderingContext2D = new CanvasRenderingContext2D(this.settings) - + build() { Flex({ direction: FlexDirection.Column, alignItems: ItemAlign.Center, justifyContent: FlexAlign.Center }) { Canvas(this.context) @@ -1213,15 +1213,15 @@ quadraticCurveTo(cpx: number, cpy: number, x: number, y: number): void Draws a quadratic curve on the canvas. - Parameters - | Name | Type | Mandatory | Default Value | Description | - | -------- | -------- | -------- | -------- | -------- | - | cpx | number | Yes | 0 | X-coordinate of the bezier curve parameter. | - | cpy | number | Yes | 0 | Y-coordinate of the bezier curve parameter. | - | x | number | Yes | 0 | X-coordinate of the end point on the bezier curve. | - | y | number | Yes | 0 | Y-coordinate of the end point on the bezier curve. | + | Name | Type | Mandatory | Default Value | Description | + | ---- | ------ | --------- | ------------- | ---------------------------------------- | + | cpx | number | Yes | 0 | X-coordinate of the bezier curve parameter. | + | cpy | number | Yes | 0 | Y-coordinate of the bezier curve parameter. | + | x | number | Yes | 0 | X-coordinate of the end point on the bezier curve. | + | y | number | Yes | 0 | Y-coordinate of the end point on the bezier curve. | - Example - + ``` @Entry @Component @@ -1257,24 +1257,24 @@ arc(x: number, y: number, radius: number, startAngle: number, endAngle: number, Draws an arc on the canvas. - Parameters - | Name | Type | Mandatory | Default Value | Description | - | -------- | -------- | -------- | -------- | -------- | - | x | number | Yes | 0 | X-coordinate of the center point of the arc. | - | y | number | Yes | 0 | Y-coordinate of the center point of the arc. | - | radius | number | Yes | 0 | Radius of the arc. | - | startAngle | number | Yes | 0 | Start radian of the arc. | - | endAngle | number | Yes | 0 | End radian of the arc. | - | anticlockwise | boolean | No | false | Whether to draw the arc counterclockwise. | + | Name | Type | Mandatory | Default Value | Description | + | ------------- | ------- | --------- | ------------- | ---------------------------------------- | + | x | number | Yes | 0 | X-coordinate of the center point of the arc. | + | y | number | Yes | 0 | Y-coordinate of the center point of the arc. | + | radius | number | Yes | 0 | Radius of the arc. | + | startAngle | number | Yes | 0 | Start radian of the arc. | + | endAngle | number | Yes | 0 | End radian of the arc. | + | anticlockwise | boolean | No | false | Whether to draw the arc counterclockwise. | - Example - + ``` @Entry @Component struct Arc { private settings: RenderingContextSettings = new RenderingContextSettings(true) private context: CanvasRenderingContext2D = new CanvasRenderingContext2D(this.settings) - + build() { Flex({ direction: FlexDirection.Column, alignItems: ItemAlign.Center, justifyContent: FlexAlign.Center }) { Canvas(this.context) @@ -1303,23 +1303,23 @@ arcTo(x1: number, y1: number, x2: number, y2: number, radius: number): void Draws an arc based on the radius and points on the arc. - Parameters - | Name | Type | Mandatory | Default Value | Description | - | -------- | -------- | -------- | -------- | -------- | - | x1 | number | Yes | 0 | X-coordinate of the first point on the arc. | - | y1 | number | Yes | 0 | Y-coordinate of the first point on the arc. | - | x2 | number | Yes | 0 | X-coordinate of the second point on the arc. | - | y2 | number | Yes | 0 | Y-coordinate of the second point on the arc. | - | radius | number | Yes | 0 | Radius of the arc. | + | Name | Type | Mandatory | Default Value | Description | + | ------ | ------ | --------- | ------------- | ---------------------------------------- | + | x1 | number | Yes | 0 | X-coordinate of the first point on the arc. | + | y1 | number | Yes | 0 | Y-coordinate of the first point on the arc. | + | x2 | number | Yes | 0 | X-coordinate of the second point on the arc. | + | y2 | number | Yes | 0 | Y-coordinate of the second point on the arc. | + | radius | number | Yes | 0 | Radius of the arc. | - Example - + ``` @Entry @Component struct ArcTo { private settings: RenderingContextSettings = new RenderingContextSettings(true) private context: CanvasRenderingContext2D = new CanvasRenderingContext2D(this.settings) - + build() { Flex({ direction: FlexDirection.Column, alignItems: ItemAlign.Center, justifyContent: FlexAlign.Center }) { Canvas(this.context) @@ -1348,27 +1348,27 @@ ellipse(x: number, y: number, radiusX: number, radiusY: number, rotation: number Draws an ellipse in the specified rectangular region. - Parameters - | Name | Type | Mandatory | Default Value | Description | - | -------- | -------- | -------- | -------- | -------- | - | x | number | Yes | 0 | X-coordinate of the ellipse center. | - | y | number | Yes | 0 | Y-coordinate of the ellipse center. | - | radiusX | number | Yes | 0 | Ellipse radius on the x-axis. | - | radiusY | number | Yes | 0 | Ellipse radius on the y-axis. | - | rotation | number | Yes | 0 | Rotation angle of the ellipse, in radians. | - | startAngle | number | Yes | 0 | Angle of the start point for drawing the ellipse, in radians. | - | endAngle | number | Yes | 0 | Angle of the end point for drawing the ellipse, in radians. | - | anticlockwise | boolean | No | false | Whether to draw the ellipse in the counterclockwise direction. | + | Name | Type | Mandatory | Default Value | Description | + | ------------- | ------- | --------- | ------------- | ---------------------------------------- | + | x | number | Yes | 0 | X-coordinate of the ellipse center. | + | y | number | Yes | 0 | Y-coordinate of the ellipse center. | + | radiusX | number | Yes | 0 | Ellipse radius on the x-axis. | + | radiusY | number | Yes | 0 | Ellipse radius on the y-axis. | + | rotation | number | Yes | 0 | Rotation angle of the ellipse, in radians. | + | startAngle | number | Yes | 0 | Angle of the start point for drawing the ellipse, in radians. | + | endAngle | number | Yes | 0 | Angle of the end point for drawing the ellipse, in radians. | + | anticlockwise | boolean | No | false | Whether to draw the ellipse in the counterclockwise direction. | - Example - + ``` @Entry @Component struct CanvasExample { private settings: RenderingContextSettings = new RenderingContextSettings(true) private context: CanvasRenderingContext2D = new CanvasRenderingContext2D(this.settings) - + build() { Flex({ direction: FlexDirection.Column, alignItems: ItemAlign.Center, justifyContent: FlexAlign.Center }) { Canvas(this.context) @@ -1397,22 +1397,22 @@ rect(x: number, y: number, width: number, height: number): void Creates a rectangle. - Parameters - | Name | Type | Mandatory | Default Value | Description | - | -------- | -------- | -------- | -------- | -------- | - | x | number | Yes | 0 | X-coordinate of the upper left corner of the rectangle. | - | y | number | Yes | 0 | Y-coordinate of the upper left corner of the rectangle. | - | width | number | Yes | 0 | Width of the rectangle. | - | height | number | Yes | 0 | Height of the rectangle. | + | Name | Type | Mandatory | Default Value | Description | + | ------ | ------ | --------- | ------------- | ---------------------------------------- | + | x | number | Yes | 0 | X-coordinate of the upper left corner of the rectangle. | + | y | number | Yes | 0 | Y-coordinate of the upper left corner of the rectangle. | + | width | number | Yes | 0 | Width of the rectangle. | + | height | number | Yes | 0 | Height of the rectangle. | - Example - + ``` @Entry @Component struct CanvasExample { private settings: RenderingContextSettings = new RenderingContextSettings(true) private context: CanvasRenderingContext2D = new CanvasRenderingContext2D(this.settings) - + build() { Flex({ direction: FlexDirection.Column, alignItems: ItemAlign.Center, justifyContent: FlexAlign.Center }) { Canvas(this.context) @@ -1440,14 +1440,14 @@ fill(): void Fills the area inside a closed path. - Example - + ``` @Entry @Component struct Fill { private settings: RenderingContextSettings = new RenderingContextSettings(true) private context: CanvasRenderingContext2D = new CanvasRenderingContext2D(this.settings) - + build() { Flex({ direction: FlexDirection.Column, alignItems: ItemAlign.Center, justifyContent: FlexAlign.Center }) { Canvas(this.context) @@ -1475,14 +1475,14 @@ clip(): void Sets the current path to a clipping path. - Example - + ``` @Entry @Component struct Clip { private settings: RenderingContextSettings = new RenderingContextSettings(true) private context: CanvasRenderingContext2D = new CanvasRenderingContext2D(this.settings) - + build() { Flex({ direction: FlexDirection.Column, alignItems: ItemAlign.Center, justifyContent: FlexAlign.Center }) { Canvas(this.context) @@ -1513,19 +1513,19 @@ rotate(rotate: number): void Rotates a canvas clockwise around its coordinate axes. - Parameters - | Name | Type | Mandatory | Default Value | Description | - | -------- | -------- | -------- | -------- | -------- | - | rotate | number | Yes | 0 | Clockwise rotation angle. You can use **Math.PI / 180** to convert the angle to a radian. | + | Name | Type | Mandatory | Default Value | Description | + | ------ | ------ | --------- | ------------- | ---------------------------------------- | + | rotate | number | Yes | 0 | Clockwise rotation angle. You can use **Math.PI / 180** to convert the angle to a radian. | - Example - + ``` @Entry @Component struct Rotate { private settings: RenderingContextSettings = new RenderingContextSettings(true) private context: CanvasRenderingContext2D = new CanvasRenderingContext2D(this.settings) - + build() { Flex({ direction: FlexDirection.Column, alignItems: ItemAlign.Center, justifyContent: FlexAlign.Center }) { Canvas(this.context) @@ -1553,20 +1553,20 @@ scale(x: number, y: number): void Scales a canvas based on scale factors. - Parameters - | Name | Type | Mandatory | Default Value | Description | - | -------- | -------- | -------- | -------- | -------- | - | x | number | Yes | 0 | Horizontal scale factor. | - | y | number | Yes | 0 | Vertical scale factor. | + | Name | Type | Mandatory | Default Value | Description | + | ---- | ------ | --------- | ------------- | ------------------------ | + | x | number | Yes | 0 | Horizontal scale factor. | + | y | number | Yes | 0 | Vertical scale factor. | - Example - + ``` @Entry @Component struct Scale { private settings: RenderingContextSettings = new RenderingContextSettings(true) private context: CanvasRenderingContext2D = new CanvasRenderingContext2D(this.settings) - + build() { Flex({ direction: FlexDirection.Column, alignItems: ItemAlign.Center, justifyContent: FlexAlign.Center }) { Canvas(this.context) @@ -1596,30 +1596,30 @@ Defines a transformation matrix. To transform a graph, you only need to set para > ![icon-note.gif](public_sys-resources/icon-note.gif) **NOTE** > The following formulas calculate coordinates of the transformed graph. **x** and **y** represent coordinates before transformation, and **x'** and **y'** represent coordinates after transformation. -> +> > - x' = scaleX \* x + skewY \* y + translateX -> +> > - y' = skewX \* x + scaleY \* y + translateY - Parameters - | Name | Type | Mandatory | Default Value | Description | - | -------- | -------- | -------- | -------- | -------- | - | scaleX | number | Yes | 0 | X-axis scale. | - | skewX | number | Yes | 0 | X-axis skew. | - | skewY | number | Yes | 0 | Y-axis skew. | - | scaleY | number | Yes | 0 | Y-axis scale. | - | translateX | number | Yes | 0 | X-axis translation. | - | translateY | number | Yes | 0 | Y-axis translation. | + | Name | Type | Mandatory | Default Value | Description | + | ---------- | ------ | --------- | ------------- | ------------------- | + | scaleX | number | Yes | 0 | X-axis scale. | + | skewX | number | Yes | 0 | X-axis skew. | + | skewY | number | Yes | 0 | Y-axis skew. | + | scaleY | number | Yes | 0 | Y-axis scale. | + | translateX | number | Yes | 0 | X-axis translation. | + | translateY | number | Yes | 0 | Y-axis translation. | - Example - + ``` @Entry @Component struct Transform { private settings: RenderingContextSettings = new RenderingContextSettings(true) - private context: RenderingContext = new RenderingContext(this.settings) - + private context: CanvasRenderingContext2D = new CanvasRenderingContext2D(this.settings) + build() { Flex({ direction: FlexDirection.Column, alignItems: ItemAlign.Center, justifyContent: FlexAlign.Center }) { Canvas(this.context) @@ -1653,24 +1653,24 @@ setTransform(scaleX: number, skewX: number, skewY: number, scale: number, transl Resets the existing transformation matrix and creates a new transformation matrix by using the same parameters as the **transform()** function. - Parameters - | Name | Type | Mandatory | Default Value | Description | - | -------- | -------- | -------- | -------- | -------- | - | scaleX | number | Yes | 0 | X-axis scale. | - | skewX | number | Yes | 0 | X-axis skew. | - | skewY | number | Yes | 0 | Y-axis skew. | - | scaleY | number | Yes | 0 | Y-axis scale. | - | translateX | number | Yes | 0 | X-axis translation. | - | translateY | number | Yes | 0 | Y-axis translation. | + | Name | Type | Mandatory | Default Value | Description | + | ---------- | ------ | --------- | ------------- | ------------------- | + | scaleX | number | Yes | 0 | X-axis scale. | + | skewX | number | Yes | 0 | X-axis skew. | + | skewY | number | Yes | 0 | Y-axis skew. | + | scaleY | number | Yes | 0 | Y-axis scale. | + | translateX | number | Yes | 0 | X-axis translation. | + | translateY | number | Yes | 0 | Y-axis translation. | - Example - + ``` @Entry @Component struct SetTransform { private settings: RenderingContextSettings = new RenderingContextSettings(true) private context: CanvasRenderingContext2D = new CanvasRenderingContext2D(this.settings) - + build() { Flex({ direction: FlexDirection.Column, alignItems: ItemAlign.Center, justifyContent: FlexAlign.Center }) { Canvas(this.context) @@ -1701,20 +1701,20 @@ translate(x: number, y: number): void Moves the origin of the coordinate system. - Parameters - | Name | Type | Mandatory | Default Value | Description | - | -------- | -------- | -------- | -------- | -------- | - | x | number | Yes | 0 | X-axis translation. | - | y | number | Yes | 0 | Y-axis translation. | + | Name | Type | Mandatory | Default Value | Description | + | ---- | ------ | --------- | ------------- | ------------------- | + | x | number | Yes | 0 | X-axis translation. | + | y | number | Yes | 0 | Y-axis translation. | - Example - + ``` @Entry @Component struct Translate { private settings: RenderingContextSettings = new RenderingContextSettings(true) private context: CanvasRenderingContext2D = new CanvasRenderingContext2D(this.settings) - + build() { Flex({ direction: FlexDirection.Column, alignItems: ItemAlign.Center, justifyContent: FlexAlign.Center }) { Canvas(this.context) @@ -1747,21 +1747,21 @@ drawImage(image: ImageBitmap, sx: number, sy: number, sWidth: number, sHeight: n Draws an image. - Parameters - | Name | Type | Mandatory | Default Value | Description | - | -------- | -------- | -------- | -------- | -------- | - | image | [ImageBitmap](ts-components-canvas-imagebitmap.md) | Yes | null | Image resource. For details, see ImageBitmap | - | sx | number | No | 0 | X-coordinate of the upper left corner of the rectangle used to crop the source image. | - | sy | number | No | 0 | Y-coordinate of the upper left corner of the rectangle used to crop the source image. | - | sWidth | number | No | 0 | Target width to crop the source image. | - | sHeight | number | No | 0 | Target height to crop the source image. | - | dx | number | Yes | 0 | X-coordinate of the upper left corner of the drawing area on the canvas. | - | dy | number | Yes | 0 | Y-coordinate of the upper left corner of the drawing area on the canvas. | - | dWidth | number | No | 0 | Width of the drawing area. | - | dHeight | number | No | 0 | Height of the drawing area. | + | Name | Type | Mandatory | Default Value | Description | + | ------- | ---------------------------------------- | --------- | ------------- | ---------------------------------------- | + | image | [ImageBitmap](ts-components-canvas-imagebitmap.md) | Yes | null | Image resource. For details, see ImageBitmap | + | sx | number | No | 0 | X-coordinate of the upper left corner of the rectangle used to crop the source image. | + | sy | number | No | 0 | Y-coordinate of the upper left corner of the rectangle used to crop the source image. | + | sWidth | number | No | 0 | Target width to crop the source image. | + | sHeight | number | No | 0 | Target height to crop the source image. | + | dx | number | Yes | 0 | X-coordinate of the upper left corner of the drawing area on the canvas. | + | dy | number | Yes | 0 | Y-coordinate of the upper left corner of the drawing area on the canvas. | + | dWidth | number | No | 0 | Width of the drawing area. | + | dHeight | number | No | 0 | Height of the drawing area. | - Example - + ``` @Entry @Component @@ -1795,10 +1795,10 @@ createImageData(width: number, height: number): Object Creates an **ImageData** object. For details, see [ImageData](ts-components-canvas-imagebitmap.md). - Parameters - | Name | Type | Mandatory | Default Value | Description | - | -------- | -------- | -------- | -------- | -------- | - | width | number | Yes | 0 | Width of the **ImageData** object. | - | height | number | Yes | 0 | Height of the **ImageData** object. | + | Name | Type | Mandatory | Default Value | Description | + | ------ | ------ | --------- | ------------- | ----------------------------------- | + | width | number | Yes | 0 | Width of the **ImageData** object. | + | height | number | Yes | 0 | Height of the **ImageData** object. | ### createImageData @@ -1808,9 +1808,9 @@ createImageData(imageData: Object): Object Creates an **ImageData** object. For details, see [ImageData](ts-components-canvas-imagebitmap.md). - Parameters - | Name | Type | Mandatory | Default Value | Description | - | -------- | -------- | -------- | -------- | -------- | - | imagedata | Object | Yes | null | **ImageData** object with the same width and height copied from the original **ImageData** object. | + | Name | Type | Mandatory | Default Value | Description | + | --------- | ------ | --------- | ------------- | ---------------------------------------- | + | imagedata | Object | Yes | null | **ImageData** object with the same width and height copied from the original **ImageData** object. | ### getImageData @@ -1819,12 +1819,12 @@ getImageData(sx: number, sy: number, sw: number, sh: number): Object Creates an [ImageData](ts-components-canvas-imagebitmap.md) object with pixels in the specified area on the canvas. - Parameters - | Name | Type | Mandatory | Default Value | Description | - | -------- | -------- | -------- | -------- | -------- | - | sx | number | Yes | 0 | X-coordinate of the upper left corner of the output area. | - | sy | number | Yes | 0 | Y-coordinate of the upper left corner of the output area. | - | sw | number | Yes | 0 | Width of the output area. | - | sh | number | Yes | 0 | Height of the output area. | + | Name | Type | Mandatory | Default Value | Description | + | ---- | ------ | --------- | ------------- | ---------------------------------------- | + | sx | number | Yes | 0 | X-coordinate of the upper left corner of the output area. | + | sy | number | Yes | 0 | Y-coordinate of the upper left corner of the output area. | + | sw | number | Yes | 0 | Width of the output area. | + | sh | number | Yes | 0 | Height of the output area. | ### putImageData @@ -1834,25 +1834,25 @@ putImageData(imageData: Object, dx: number, dy: number, dirtyX?: number, dirtyY? Puts the [ImageData](ts-components-canvas-imagebitmap.md) onto a rectangular area on the canvas. - Parameters - | Name | Type | Mandatory | Default Value | Description | - | -------- | -------- | -------- | -------- | -------- | - | imagedata | Object | Yes | null | **ImageData** object with pixels to put onto the canvas. | - | dx | number | Yes | 0 | X-axis offset of the rectangular area on the canvas. | - | dy | number | Yes | 0 | Y-axis offset of the rectangular area on the canvas. | - | dirtyX | number | No | 0 | X-axis offset of the upper left corner of the rectangular area relative to that of the source image. | - | dirtyY | number | No | 0 | Y-axis offset of the upper left corner of the rectangular area relative to that of the source image. | - | dirtyWidth | number | No | Width of the **ImageData** object | Width of the rectangular area to crop the source image. | - | dirtyHeight | number | No | Height of the **ImageData** object | Height of the rectangular area to crop the source image. | + | Name | Type | Mandatory | Default Value | Description | + | ----------- | ------ | --------- | ---------------------------------- | ---------------------------------------- | + | imagedata | Object | Yes | null | **ImageData** object with pixels to put onto the canvas. | + | dx | number | Yes | 0 | X-axis offset of the rectangular area on the canvas. | + | dy | number | Yes | 0 | Y-axis offset of the rectangular area on the canvas. | + | dirtyX | number | No | 0 | X-axis offset of the upper left corner of the rectangular area relative to that of the source image. | + | dirtyY | number | No | 0 | Y-axis offset of the upper left corner of the rectangular area relative to that of the source image. | + | dirtyWidth | number | No | Width of the **ImageData** object | Width of the rectangular area to crop the source image. | + | dirtyHeight | number | No | Height of the **ImageData** object | Height of the rectangular area to crop the source image. | - Example - + ``` @Entry @Component struct PutImageData { private settings: RenderingContextSettings = new RenderingContextSettings(true) private context: CanvasRenderingContext2D = new CanvasRenderingContext2D(this.settings) - + build() { Flex({ direction: FlexDirection.Column, alignItems: ItemAlign.Center, justifyContent: FlexAlign.Center }) { Canvas(this.context) @@ -1886,14 +1886,14 @@ restore(): void Restores the saved drawing context. - Example - + ``` @Entry @Component struct CanvasExample { private settings: RenderingContextSettings = new RenderingContextSettings(true) private context: CanvasRenderingContext2D = new CanvasRenderingContext2D(this.settings) - + build() { Flex({ direction: FlexDirection.Column, alignItems: ItemAlign.Center, justifyContent: FlexAlign.Center }) { Canvas(this.context) @@ -1918,14 +1918,14 @@ save(): void Saves the current drawing context. - Example - + ``` @Entry @Component struct CanvasExample { private settings: RenderingContextSettings = new RenderingContextSettings(true) private context: CanvasRenderingContext2D = new CanvasRenderingContext2D(this.settings) - + build() { Flex({ direction: FlexDirection.Column, alignItems: ItemAlign.Center, justifyContent: FlexAlign.Center }) { Canvas(this.context) @@ -1950,15 +1950,15 @@ createLinearGradient(x0: number, y0: number, x1: number, y1: number): void Creates a linear gradient. - Parameters - | Name | Type | Mandatory | Default Value | Description | - | -------- | -------- | -------- | -------- | -------- | - | x0 | number | Yes | 0 | X-coordinate of the start point. | - | y0 | number | Yes | 0 | Y-coordinate of the start point. | - | x1 | number | Yes | 0 | X-coordinate of the end point. | - | y1 | number | Yes | 0 | Y-coordinate of the end point. | + | Name | Type | Mandatory | Default Value | Description | + | ---- | ------ | --------- | ------------- | -------------------------------- | + | x0 | number | Yes | 0 | X-coordinate of the start point. | + | y0 | number | Yes | 0 | Y-coordinate of the start point. | + | x1 | number | Yes | 0 | X-coordinate of the end point. | + | y1 | number | Yes | 0 | Y-coordinate of the end point. | - Example - + ``` @Entry @Component @@ -1974,9 +1974,9 @@ Creates a linear gradient. .backgroundColor('#ffff00') .onReady(() =>{ var grad = this.context.createLinearGradient(50,0, 300,100) - this.grad.addColorStop(0.0, 'red') - this.grad.addColorStop(0.5, 'white') - this.grad.addColorStop(1.0, 'green') + grad.addColorStop(0.0, 'red') + grad.addColorStop(0.5, 'white') + grad.addColorStop(1.0, 'green') this.context.fillStyle = grad this.context.fillRect(0, 0, 500, 500) }) @@ -1997,17 +1997,17 @@ createRadialGradient(x0: number, y0: number, r0: number, x1: number, y1: number, Creates a linear gradient. - Parameters - | Name | Type | Mandatory | Default Value | Description | - | -------- | -------- | -------- | -------- | -------- | - | x0 | number | Yes | 0 | X-coordinate of the center of the start circle. | - | y0 | number | Yes | 0 | Y-coordinate of the center of the start circle. | - | r0 | number | Yes | 0 | Radius of the start circle, which must be a non-negative finite number. | - | x1 | number | Yes | 0 | X-coordinate of the center of the end circle. | - | y1 | number | Yes | 0 | Y-coordinate of the center of the end circle. | - | r1 | number | Yes | 0 | Radius of the end circle, which must be a non-negative finite number. | + | Name | Type | Mandatory | Default Value | Description | + | ---- | ------ | --------- | ------------- | ---------------------------------------- | + | x0 | number | Yes | 0 | X-coordinate of the center of the start circle. | + | y0 | number | Yes | 0 | Y-coordinate of the center of the start circle. | + | r0 | number | Yes | 0 | Radius of the start circle, which must be a non-negative finite number. | + | x1 | number | Yes | 0 | X-coordinate of the center of the end circle. | + | y1 | number | Yes | 0 | Y-coordinate of the center of the end circle. | + | r1 | number | Yes | 0 | Radius of the end circle, which must be a non-negative finite number. | - Example - + ``` @Entry @Component @@ -2023,9 +2023,9 @@ Creates a linear gradient. .backgroundColor('#ffff00') .onReady(() =>{ var grad = this.context.createRadialGradient(200,200,50, 200,200,200) - this.grad.addColorStop(0.0, 'red') - this.grad.addColorStop(0.5, 'white') - this.grad.addColorStop(1.0, 'green') + grad.addColorStop(0.0, 'red') + grad.addColorStop(0.5, 'white') + grad.addColorStop(1.0, 'green') this.context.fillStyle = grad this.context.fillRect(0, 0, 500, 500) }) diff --git a/en/application-dev/reference/arkui-ts/ts-offscreencanvasrenderingcontext2d.md b/en/application-dev/reference/arkui-ts/ts-offscreencanvasrenderingcontext2d.md index 0792160d1a..d0002ed9e2 100644 --- a/en/application-dev/reference/arkui-ts/ts-offscreencanvasrenderingcontext2d.md +++ b/en/application-dev/reference/arkui-ts/ts-offscreencanvasrenderingcontext2d.md @@ -13,35 +13,35 @@ Use **OffscreenCanvasRenderingContext2D** to draw rectangles, images, and text o OffscreenCanvasRenderingContext2D(width: number, height: number, setting: RenderingContextSettings) - Parameters - | Name | Type | Mandatory | Default Value | Description | - | -------- | -------- | -------- | -------- | -------- | - | width | number | Yes | - | Width of the offscreen canvas. | - | height | number | Yes | - | Height of the offscreen canvas. | - | setting | [RenderingContextSettings](ts-canvasrenderingcontext2d.md#renderingcontextsettings) | Yes | - | See RenderingContextSettings. | + | Name | Type | Mandatory | Default Value | Description | + | ------- | ---------------------------------------- | --------- | ------------- | ------------------------------- | + | width | number | Yes | - | Width of the offscreen canvas. | + | height | number | Yes | - | Height of the offscreen canvas. | + | setting | [RenderingContextSettings](ts-canvasrenderingcontext2d.md#renderingcontextsettings) | Yes | - | See RenderingContextSettings. | ## Attributes -| Name | Type | Default Value | Description | -| -------- | -------- | -------- | -------- | -| [fillStyle](#fillstyle) | <color> \| [CanvasGradient](ts-components-canvas-canvasgradient.md) \| [CanvasPattern](#canvaspattern) | - | Style used to fill an area.
- When the type is **<color>**, this attribute indicates the fill color.
- When the type is **CanvasGradient**, this attribute indicates a gradient object, which is created using the [createLinearGradient](#createlineargradient) method.
- When the type is **CanvasPattern**, this attribute indicates a pattern, which is created using the [createPattern](#createpattern) method. | -| [lineWidth](#linewidth) | number | - | Line width. | -| [strokeStyle](#strokestyle) | <color> \| [CanvasGradient](ts-components-canvas-canvasgradient.md) \| [CanvasPattern](#canvaspattern) | - | Stroke style.
- When the type is **<color>**, this attribute indicates the stroke color.
- When the type is **CanvasGradient**, this attribute indicates a gradient object, which is created using the [createLinearGradient](#createlineargradient) method.
- When the type is **CanvasPattern**, this attribute indicates a pattern, which is created using the [createPattern](#createpattern) method. | -| [lineCap](#linecap) | string | 'butt' | Style of the line endpoints. The options are as follows:
- **'butt'**: The endpoints of the line are squared off.
- **'round'**: The endpoints of the line are rounded.
- **'square'**: The endpoints of the line are squared off by adding a box with an equal width and half the height of the line's thickness. | -| [lineJoin](#linejoin) | string | 'miter' | Style of the shape used to join line segments. The options are as follows:
- **'round'**: The shape used to join line segments is a rounded corner with the radius equal to the line width.
- **'bevel'**: The shape used to join line segments is a beveled corner. The rectangular corner of each line is independent.
- **'miter'**: The shape used to join line segments is a mitered corner. The corner is formed by extending the outside edges of the lines until they meet. You can adjust the effect of this attribute using **miterLimit**. | -| [miterLimit](#miterlimit) | number | 10 | Maximum miter length. The miter length is the distance between the inner corner and the outer corner where two lines meet. | -| [font](#font) | string | 'normal normal 14px sans-serif' | Font style.
Syntax: ctx.font='font-size font-family'
- (Optional) **font-size**: font size and row height. The unit can only be px.
- (Optional) **font-family**: font family.
Syntax: ctx.font='font-style font-weight font-size font-family'
- (Optional) **font-style**: specifies the font style. Available values are **'normal'** and **'italic'**.
- (Optional) **font-weight**: font weight. Available values are as follows: **'normal'**, **'bold'**, **'bolder'**, **'lighter'**, **100**, **200**, **300**, **400**, **500**, **600**, **700**, **800**, **900**
- (Optional) **font-size**: font size and row height. The unit can only be px.
- (Optional) **font-family**: font family. Available values are **'sans-serif'**, **'serif'**, and **'monospace'**. | -| [textAlign](#textalign) | string | 'left' | Text alignment mode. Available values are as follows:
- **'left'**: The text is left-aligned.
- **'right'**: The text is right-aligned.
- **'center'**: The text is center-aligned.
- **'start'**: The text is aligned with the start bound.
- **'end'**: The text is aligned with the end bound.
> ![icon-note.gif](public_sys-resources/icon-note.gif) **NOTE**
> In the **ltr** layout mode, the value **start** equals **left**. In the **rtl** layout mode, the value **start** equals **right**. | -| [textBaseline](#textbaseline) | string | 'alphabetic' | Horizontal alignment mode of text. Available values are as follows:
- **'alphabetic'**: The text baseline is the normal alphabetic baseline.
- **'top'**: The text baseline is on the top of the text bounding box.
- **'hanging'**: The text baseline is a hanging baseline over the text.
- **'middle'**: The text baseline is in the middle of the text bounding box.
- **'ideographic'**: The text baseline is the ideographic baseline. If a character exceeds the alphabetic baseline, the ideographic baseline is located at the bottom of the excess character.
- **'bottom'**: The text baseline is at the bottom of the text bounding box. Its difference from the ideographic baseline is that the ideographic baseline does not consider letters in the next line. | -| [globalAlpha](#globalalpha) | number | - | Opacity. **0.0**: completely transparent; **1.0**: completely opaque. | -| [lineDashOffset](#linedashoffset) | number | 0.0 | Offset of the dashed line. The precision is float. | -| [globalCompositeOperation](#globalcompositeoperation) | string | 'source-over' | Composition operation type. Available values are as follows: **'source-over'**, **'source-atop'**, **'source-in'**, **'source-out'**, **'destination-over'**, **'destination-atop'**, **'destination-in'**, **'destination-out'**, **'lighter'**, **'copy'**, and **'xor'**. | -| [shadowBlur](#shadowblur) | number | 0.0 | Blur level during shadow drawing. A larger value indicates a more blurred effect. The precision is float. | -| [shadowColor](#shadowcolor) | <color> | - | Shadow color. | -| [shadowOffsetX](#shadowoffsetx) | number | - | X-axis shadow offset relative to the original object. | -| [shadowOffsetY](#shadowoffsety) | number | - | Y-axis shadow offset relative to the original object. | -| [imageSmoothingEnabled](#imagesmoothingenabled) | boolean | true | Whether to adjust the image smoothness during image drawing. The value **true** means to enable this feature, and **false** means the opposite. | -| imageSmoothingQuality | string | 'low' | Image smoothness. The value can be **'low'**, **'medium'**, or **'high'**. | +| Name | Type | Default Value | Description | +| ---------------------------------------- | ---------------------------------------- | ------------------------------- | ---------------------------------------- | +| [fillStyle](#fillstyle) | <color> \| [CanvasGradient](ts-components-canvas-canvasgradient.md) \| [CanvasPattern](#canvaspattern) | - | Style used to fill an area.
- When the type is **<color>**, this attribute indicates the fill color.
- When the type is **CanvasGradient**, this attribute indicates a gradient object, which is created using the [createLinearGradient](#createlineargradient) method.
- When the type is **CanvasPattern**, this attribute indicates a pattern, which is created using the [createPattern](#createpattern) method. | +| [lineWidth](#linewidth) | number | - | Line width. | +| [strokeStyle](#strokestyle) | <color> \| [CanvasGradient](ts-components-canvas-canvasgradient.md) \| [CanvasPattern](#canvaspattern) | - | Stroke style.
- When the type is **<color>**, this attribute indicates the stroke color.
- When the type is **CanvasGradient**, this attribute indicates a gradient object, which is created using the [createLinearGradient](#createlineargradient) method.
- When the type is **CanvasPattern**, this attribute indicates a pattern, which is created using the [createPattern](#createpattern) method. | +| [lineCap](#linecap) | string | 'butt' | Style of the line endpoints. The options are as follows:
- **'butt'**: The endpoints of the line are squared off.
- **'round'**: The endpoints of the line are rounded.
- **'square'**: The endpoints of the line are squared off by adding a box with an equal width and half the height of the line's thickness. | +| [lineJoin](#linejoin) | string | 'miter' | Style of the shape used to join line segments. The options are as follows:
- **'round'**: The shape used to join line segments is a rounded corner with the radius equal to the line width.
- **'bevel'**: The shape used to join line segments is a beveled corner. The rectangular corner of each line is independent.
- **'miter'**: The shape used to join line segments is a mitered corner. The corner is formed by extending the outside edges of the lines until they meet. You can adjust the effect of this attribute using **miterLimit**. | +| [miterLimit](#miterlimit) | number | 10 | Maximum miter length. The miter length is the distance between the inner corner and the outer corner where two lines meet. | +| [font](#font) | string | 'normal normal 14px sans-serif' | Font style.
Syntax: ctx.font='font-size font-family'
- (Optional) **font-size**: font size and row height. The unit can only be px.
- (Optional) **font-family**: font family.
Syntax: ctx.font='font-style font-weight font-size font-family'
- (Optional) **font-style**: specifies the font style. Available values are **'normal'** and **'italic'**.
- (Optional) **font-weight**: font weight. Available values are as follows: **'normal'**, **'bold'**, **'bolder'**, **'lighter'**, **100**, **200**, **300**, **400**, **500**, **600**, **700**, **800**, **900**
- (Optional) **font-size**: font size and row height. The unit can only be px.
- (Optional) **font-family**: font family. Available values are **'sans-serif'**, **'serif'**, and **'monospace'**. | +| [textAlign](#textalign) | string | 'left' | Text alignment mode. Available values are as follows:
- **'left'**: The text is left-aligned.
- **'right'**: The text is right-aligned.
- **'center'**: The text is center-aligned.
- **'start'**: The text is aligned with the start bound.
- **'end'**: The text is aligned with the end bound.
> ![icon-note.gif](public_sys-resources/icon-note.gif) **NOTE**
> In the **ltr** layout mode, the value **start** equals **left**. In the **rtl** layout mode, the value **start** equals **right**. | +| [textBaseline](#textbaseline) | string | 'alphabetic' | Horizontal alignment mode of text. Available values are as follows:
- **'alphabetic'**: The text baseline is the normal alphabetic baseline.
- **'top'**: The text baseline is on the top of the text bounding box.
- **'hanging'**: The text baseline is a hanging baseline over the text.
- **'middle'**: The text baseline is in the middle of the text bounding box.
- **'ideographic'**: The text baseline is the ideographic baseline. If a character exceeds the alphabetic baseline, the ideographic baseline is located at the bottom of the excess character.
- **'bottom'**: The text baseline is at the bottom of the text bounding box. Its difference from the ideographic baseline is that the ideographic baseline does not consider letters in the next line. | +| [globalAlpha](#globalalpha) | number | - | Opacity. **0.0**: completely transparent; **1.0**: completely opaque. | +| [lineDashOffset](#linedashoffset) | number | 0.0 | Offset of the dashed line. The precision is float. | +| [globalCompositeOperation](#globalcompositeoperation) | string | 'source-over' | Composition operation type. Available values are as follows: **'source-over'**, **'source-atop'**, **'source-in'**, **'source-out'**, **'destination-over'**, **'destination-atop'**, **'destination-in'**, **'destination-out'**, **'lighter'**, **'copy'**, and **'xor'**. | +| [shadowBlur](#shadowblur) | number | 0.0 | Blur level during shadow drawing. A larger value indicates a more blurred effect. The precision is float. | +| [shadowColor](#shadowcolor) | <color> | - | Shadow color. | +| [shadowOffsetX](#shadowoffsetx) | number | - | X-axis shadow offset relative to the original object. | +| [shadowOffsetY](#shadowoffsety) | number | - | Y-axis shadow offset relative to the original object. | +| [imageSmoothingEnabled](#imagesmoothingenabled) | boolean | true | Whether to adjust the image smoothness during image drawing. The value **true** means to enable this feature, and **false** means the opposite. | +| imageSmoothingQuality | string | 'low' | Image smoothness. The value can be **'low'**, **'medium'**, or **'high'**. | > ![icon-note.gif](public_sys-resources/icon-note.gif) **NOTE** > The value of the **<color>** type can be in 'rgb(255, 255, 255)', 'rgba(255, 255, 255, 1.0)', or '\#FFFFFF' format. @@ -462,19 +462,19 @@ struct LineDashOffset { ### globalCompositeOperation -| Name | Description | -| -------- | -------- | -| source-over | Displays the new drawing above the existing drawing. This attribute is used by default. | -| source-atop | Displays the new drawing on the top of the existing drawing. | -| source-in | Displays the new drawing inside the existing drawing. | -| source-out | Displays the part of the new drawing that is outside of the existing drawing. | +| Name | Description | +| ---------------- | ---------------------------------------- | +| source-over | Displays the new drawing above the existing drawing. This attribute is used by default. | +| source-atop | Displays the new drawing on the top of the existing drawing. | +| source-in | Displays the new drawing inside the existing drawing. | +| source-out | Displays the part of the new drawing that is outside of the existing drawing. | | destination-over | Displays the existing drawing above the new drawing. | | destination-atop | Displays the existing drawing on the top of the new drawing. | -| destination-in | Displays the existing drawing inside the new drawing. | -| destination-out | Displays the part of the existing drawing that is outside of the new drawing. | -| lighter | Displays both the new drawing and the existing drawing. | -| copy | Displays the new drawing and neglects the existing drawing. | -| xor | Combines the new drawing and existing drawing using the XOR operation. | +| destination-in | Displays the existing drawing inside the new drawing. | +| destination-out | Displays the part of the existing drawing that is outside of the new drawing. | +| lighter | Displays both the new drawing and the existing drawing. | +| copy | Displays the new drawing and neglects the existing drawing. | +| xor | Combines the new drawing and existing drawing using the XOR operation. | ``` @@ -702,15 +702,15 @@ fillRect(x: number, y: number, w: number, h: number): void Fills a rectangle on the canvas. - Parameters - | Name | Type | Mandatory | Default Value | Description | - | -------- | -------- | -------- | -------- | -------- | - | x | number | Yes | 0 | X-coordinate of the upper left corner of the rectangle. | - | y | number | Yes | 0 | Y-coordinate of the upper left corner of the rectangle. | - | width | number | Yes | 0 | Width of the rectangle. | - | height | number | Yes | 0 | Height of the rectangle. | + | Name | Type | Mandatory | Default Value | Description | + | ------ | ------ | --------- | ------------- | ---------------------------------------- | + | x | number | Yes | 0 | X-coordinate of the upper left corner of the rectangle. | + | y | number | Yes | 0 | Y-coordinate of the upper left corner of the rectangle. | + | width | number | Yes | 0 | Width of the rectangle. | + | height | number | Yes | 0 | Height of the rectangle. | - Example - + ``` @Entry @Component @@ -747,15 +747,15 @@ strokeRect(x: number, y: number, w: number, h: number): void Draws an outlined rectangle on the canvas. - Parameters - | Name | Type | Mandatory | Default Value | Description | - | -------- | -------- | -------- | -------- | -------- | - | x | number | Yes | 0 | X-coordinate of the upper left corner of the rectangle. | - | y | number | Yes | 0 | Y-coordinate of the upper left corner of the rectangle. | - | width | number | Yes | 0 | Width of the rectangle. | - | height | number | Yes | 0 | Height of the rectangle. | + | Name | Type | Mandatory | Default Value | Description | + | ------ | ------ | --------- | ------------- | ---------------------------------------- | + | x | number | Yes | 0 | X-coordinate of the upper left corner of the rectangle. | + | y | number | Yes | 0 | Y-coordinate of the upper left corner of the rectangle. | + | width | number | Yes | 0 | Width of the rectangle. | + | height | number | Yes | 0 | Height of the rectangle. | - Example - + ``` @Entry @Component @@ -791,15 +791,15 @@ clearRect(x: number, y: number, w: number, h: number): void Clears the content in a rectangle on the canvas. - Parameters - | Name | Type | Mandatory | Default Value | Description | - | -------- | -------- | -------- | -------- | -------- | - | x | number | Yes | 0 | X-coordinate of the upper left corner of the rectangle. | - | y | number | Yes | 0 | Y-coordinate of the upper left corner of the rectangle. | - | width | number | Yes | 0 | Width of the rectangle. | - | height | number | Yes | 0 | Height of the rectangle. | + | Name | Type | Mandatory | Default Value | Description | + | ------ | ------ | --------- | ------------- | ---------------------------------------- | + | x | number | Yes | 0 | X-coordinate of the upper left corner of the rectangle. | + | y | number | Yes | 0 | Y-coordinate of the upper left corner of the rectangle. | + | width | number | Yes | 0 | Width of the rectangle. | + | height | number | Yes | 0 | Height of the rectangle. | - Example - + ``` @Entry @Component @@ -837,14 +837,14 @@ fillText(text: string, x: number, y: number): void Draws filled text on the canvas. - Parameters - | Name | Type | Mandatory | Default Value | Description | - | -------- | -------- | -------- | -------- | -------- | - | text | string | Yes | "" | Text to draw. | - | x | number | Yes | 0 | X-coordinate of the lower left corner of the text. | - | y | number | Yes | 0 | Y-coordinate of the lower left corner of the text. | + | Name | Type | Mandatory | Default Value | Description | + | ---- | ------ | --------- | ------------- | ---------------------------------------- | + | text | string | Yes | "" | Text to draw. | + | x | number | Yes | 0 | X-coordinate of the lower left corner of the text. | + | y | number | Yes | 0 | Y-coordinate of the lower left corner of the text. | - Example - + ``` @Entry @Component @@ -881,14 +881,14 @@ strokeText(text: string, x: number, y: number): void Draws a text stroke on the canvas. - Parameters - | Name | Type | Mandatory | Default Value | Description | - | -------- | -------- | -------- | -------- | -------- | - | text | string | Yes | "" | Text to draw. | - | x | number | Yes | 0 | X-coordinate of the lower left corner of the text. | - | y | number | Yes | 0 | Y-coordinate of the lower left corner of the text. | + | Name | Type | Mandatory | Default Value | Description | + | ---- | ------ | --------- | ------------- | ---------------------------------------- | + | text | string | Yes | "" | Text to draw. | + | x | number | Yes | 0 | X-coordinate of the lower left corner of the text. | + | y | number | Yes | 0 | Y-coordinate of the lower left corner of the text. | - Example - + ``` @Entry @Component @@ -925,22 +925,22 @@ measureText(text: string): TextMetrics Returns a **TextMetrics** object used to obtain the width of specified text. - Parameters - | Name | Type | Mandatory | Default Value | Description | - | -------- | -------- | -------- | -------- | -------- | - | text | string | Yes | "" | Text to be measured. | + | Name | Type | Mandatory | Default Value | Description | + | ---- | ------ | --------- | ------------- | -------------------- | + | text | string | Yes | "" | Text to be measured. | - Return value - | Type | Description | - | -------- | -------- | - | TextMetrics | **TextMetrics** object. | + | Type | Description | + | ----------- | ----------------------- | + | TextMetrics | **TextMetrics** object. | - **TextMetrics** attributes - | Name | Type | Description | - | -------- | -------- | -------- | - | width | number | Width of the text. | + | Name | Type | Description | + | ----- | ------ | ------------------ | + | width | number | Width of the text. | - Example - + ``` @Entry @Component @@ -978,12 +978,12 @@ stroke(path?: Path2D): void Strokes a path. - Parameters - | Name | Type | Mandatory | Default Value | Description | - | -------- | -------- | -------- | -------- | -------- | - | path | [Path2D](ts-components-canvas-path2d.md) | No | null | A **Path2D** path to draw. | + | Name | Type | Mandatory | Default Value | Description | + | ---- | ---------------------------------------- | --------- | ------------- | -------------------------- | + | path | [Path2D](ts-components-canvas-path2d.md) | No | null | A **Path2D** path to draw. | - Example - + ``` @Entry @Component @@ -1022,7 +1022,7 @@ beginPath(): void Creates a drawing path. - Example - + ``` @Entry @Component @@ -1063,13 +1063,13 @@ moveTo(x: number, y: number): void Moves a drawing path to a target position on the canvas. - Parameters - | Name | Type | Mandatory | Default Value | Description | - | -------- | -------- | -------- | -------- | -------- | - | x | number | Yes | 0 | X-coordinate of the target position. | - | y | number | Yes | 0 | Y-coordinate of the target position. | + | Name | Type | Mandatory | Default Value | Description | + | ---- | ------ | --------- | ------------- | ------------------------------------ | + | x | number | Yes | 0 | X-coordinate of the target position. | + | y | number | Yes | 0 | Y-coordinate of the target position. | - Example - + ``` @Entry @Component @@ -1108,13 +1108,13 @@ lineTo(x: number, y: number): void Connects the current point to a target position using a straight line. - Parameters - | Name | Type | Mandatory | Default Value | Description | - | -------- | -------- | -------- | -------- | -------- | - | x | number | Yes | 0 | X-coordinate of the target position. | - | y | number | Yes | 0 | Y-coordinate of the target position. | + | Name | Type | Mandatory | Default Value | Description | + | ---- | ------ | --------- | ------------- | ------------------------------------ | + | x | number | Yes | 0 | X-coordinate of the target position. | + | y | number | Yes | 0 | Y-coordinate of the target position. | - Example - + ``` @Entry @Component @@ -1153,7 +1153,7 @@ closePath(): void Draws a closed path. - Example - + ``` @Entry @Component @@ -1194,13 +1194,13 @@ createPattern(image: ImageBitmap, repetition: string): CanvasPattern Creates a pattern for image filling based on a specified source image and repetition mode. - Parameters - | Name | Type | Mandatory | Default Value | Description | - | -------- | -------- | -------- | -------- | -------- | - | image | [ImageBitmap](ts-components-canvas-imagebitmap.md) | Yes | null | Source image. For details, see ImageBitmap. | - | repetition | string | Yes | "" | Repetition mode. The value can be **'repeat'**, **'repeat-x'**, **'repeat-y'**, or **'no-repeat'**. | + | Name | Type | Mandatory | Default Value | Description | + | ---------- | ---------------------------------------- | --------- | ------------- | ---------------------------------------- | + | image | [ImageBitmap](ts-components-canvas-imagebitmap.md) | Yes | null | Source image. For details, see ImageBitmap. | + | repetition | string | Yes | "" | Repetition mode. The value can be **'repeat'**, **'repeat-x'**, **'repeat-y'**, or **'no-repeat'**. | - Example - + ``` @Entry @Component @@ -1239,17 +1239,17 @@ bezierCurveTo(cp1x: number, cp1y: number, cp2x: number, cp2y: number, x: number, Draws a cubic bezier curve on the canvas. - Name - | Name | Type | Mandatory | Default Value | Description | - | -------- | -------- | -------- | -------- | -------- | - | cp1x | number | Yes | 0 | X-coordinate of the first parameter of the bezier curve. | - | cp1y | number | Yes | 0 | Y-coordinate of the first parameter of the bezier curve. | - | cp2x | number | Yes | 0 | X-coordinate of the second parameter of the bezier curve. | - | cp2y | number | Yes | 0 | Y-coordinate of the second parameter of the bezier curve. | - | x | number | Yes | 0 | X-coordinate of the end point on the bezier curve. | - | y | number | Yes | 0 | Y-coordinate of the end point on the bezier curve. | + | Name | Type | Mandatory | Default Value | Description | + | ---- | ------ | --------- | ------------- | ---------------------------------------- | + | cp1x | number | Yes | 0 | X-coordinate of the first parameter of the bezier curve. | + | cp1y | number | Yes | 0 | Y-coordinate of the first parameter of the bezier curve. | + | cp2x | number | Yes | 0 | X-coordinate of the second parameter of the bezier curve. | + | cp2y | number | Yes | 0 | Y-coordinate of the second parameter of the bezier curve. | + | x | number | Yes | 0 | X-coordinate of the end point on the bezier curve. | + | y | number | Yes | 0 | Y-coordinate of the end point on the bezier curve. | - Example - + ``` @Entry @Component @@ -1288,15 +1288,15 @@ quadraticCurveTo(cpx: number, cpy: number, x: number, y: number): void Draws a quadratic curve on the canvas. - Parameters - | Name | Type | Mandatory | Default Value | Description | - | -------- | -------- | -------- | -------- | -------- | - | cpx | number | Yes | 0 | X-coordinate of the bezier curve parameter. | - | cpy | number | Yes | 0 | Y-coordinate of the bezier curve parameter. | - | x | number | Yes | 0 | X-coordinate of the end point on the bezier curve. | - | y | number | Yes | 0 | Y-coordinate of the end point on the bezier curve. | + | Name | Type | Mandatory | Default Value | Description | + | ---- | ------ | --------- | ------------- | ---------------------------------------- | + | cpx | number | Yes | 0 | X-coordinate of the bezier curve parameter. | + | cpy | number | Yes | 0 | Y-coordinate of the bezier curve parameter. | + | x | number | Yes | 0 | X-coordinate of the end point on the bezier curve. | + | y | number | Yes | 0 | Y-coordinate of the end point on the bezier curve. | - Example - + ``` @Entry @Component @@ -1335,17 +1335,17 @@ arc(x: number, y: number, radius: number, startAngle: number, endAngle: number, Draws an arc on the canvas. - Parameters - | Name | Type | Mandatory | Default Value | Description | - | -------- | -------- | -------- | -------- | -------- | - | x | number | Yes | 0 | X-coordinate of the center point of the arc. | - | y | number | Yes | 0 | Y-coordinate of the center point of the arc. | - | radius | number | Yes | 0 | Radius of the arc. | - | startAngle | number | Yes | 0 | Start radian of the arc. | - | endAngle | number | Yes | 0 | End radian of the arc. | - | anticlockwise | boolean | No | false | Whether to draw the arc counterclockwise. | + | Name | Type | Mandatory | Default Value | Description | + | ------------- | ------- | --------- | ------------- | ---------------------------------------- | + | x | number | Yes | 0 | X-coordinate of the center point of the arc. | + | y | number | Yes | 0 | Y-coordinate of the center point of the arc. | + | radius | number | Yes | 0 | Radius of the arc. | + | startAngle | number | Yes | 0 | Start radian of the arc. | + | endAngle | number | Yes | 0 | End radian of the arc. | + | anticlockwise | boolean | No | false | Whether to draw the arc counterclockwise. | - Example - + ``` @Entry @Component @@ -1383,16 +1383,16 @@ arcTo(x1: number, y1: number, x2: number, y2: number, radius: number): void Draws an arc based on the radius and points on the arc. - Parameters - | Name | Type | Mandatory | Default Value | Description | - | -------- | -------- | -------- | -------- | -------- | - | x1 | number | Yes | 0 | X-coordinate of the first point on the arc. | - | y1 | number | Yes | 0 | Y-coordinate of the first point on the arc. | - | x2 | number | Yes | 0 | X-coordinate of the second point on the arc. | - | y2 | number | Yes | 0 | Y-coordinate of the second point on the arc. | - | radius | number | Yes | 0 | Radius of the arc. | + | Name | Type | Mandatory | Default Value | Description | + | ------ | ------ | --------- | ------------- | ---------------------------------------- | + | x1 | number | Yes | 0 | X-coordinate of the first point on the arc. | + | y1 | number | Yes | 0 | Y-coordinate of the first point on the arc. | + | x2 | number | Yes | 0 | X-coordinate of the second point on the arc. | + | y2 | number | Yes | 0 | Y-coordinate of the second point on the arc. | + | radius | number | Yes | 0 | Radius of the arc. | - Example - + ``` @Entry @Component @@ -1430,20 +1430,20 @@ ellipse(x: number, y: number, radiusX: number, radiusY: number, rotation: number Draws an ellipse in the specified rectangular region. - Parameters - | Name | Type | Mandatory | Default Value | Description | - | -------- | -------- | -------- | -------- | -------- | - | x | number | Yes | 0 | X-coordinate of the ellipse center. | - | y | number | Yes | 0 | Y-coordinate of the ellipse center. | - | radiusX | number | Yes | 0 | Ellipse radius on the x-axis. | - | radiusY | number | Yes | 0 | Ellipse radius on the y-axis. | - | rotation | number | Yes | 0 | Rotation angle of the ellipse, in radians. | - | startAngle | number | Yes | 0 | Angle of the start point for drawing the ellipse, in radians. | - | endAngle | number | Yes | 0 | Angle of the end point for drawing the ellipse, in radians. | - | anticlockwise | boolean | No | false | Whether to draw the ellipse in the counterclockwise direction. | + | Name | Type | Mandatory | Default Value | Description | + | ------------- | ------- | --------- | ------------- | ---------------------------------------- | + | x | number | Yes | 0 | X-coordinate of the ellipse center. | + | y | number | Yes | 0 | Y-coordinate of the ellipse center. | + | radiusX | number | Yes | 0 | Ellipse radius on the x-axis. | + | radiusY | number | Yes | 0 | Ellipse radius on the y-axis. | + | rotation | number | Yes | 0 | Rotation angle of the ellipse, in radians. | + | startAngle | number | Yes | 0 | Angle of the start point for drawing the ellipse, in radians. | + | endAngle | number | Yes | 0 | Angle of the end point for drawing the ellipse, in radians. | + | anticlockwise | boolean | No | false | Whether to draw the ellipse in the counterclockwise direction. | - Example - + ``` @Entry @Component @@ -1481,15 +1481,15 @@ rect(x: number, y: number, width: number, height: number): void Creates a rectangle. - Parameters - | Name | Type | Mandatory | Default Value | Description | - | -------- | -------- | -------- | -------- | -------- | - | x | number | Yes | 0 | X-coordinate of the upper left corner of the rectangle. | - | y | number | Yes | 0 | Y-coordinate of the upper left corner of the rectangle. | - | width | number | Yes | 0 | Width of the rectangle. | - | height | number | Yes | 0 | Height of the rectangle. | + | Name | Type | Mandatory | Default Value | Description | + | ------ | ------ | --------- | ------------- | ---------------------------------------- | + | x | number | Yes | 0 | X-coordinate of the upper left corner of the rectangle. | + | y | number | Yes | 0 | Y-coordinate of the upper left corner of the rectangle. | + | width | number | Yes | 0 | Width of the rectangle. | + | height | number | Yes | 0 | Height of the rectangle. | - Example - + ``` @Entry @Component @@ -1526,7 +1526,7 @@ fill(): void Fills the area inside a closed path. - Example - + ``` @Entry @Component @@ -1563,7 +1563,7 @@ clip(): void Sets the current path to a clipping path. - Example - + ``` @Entry @Component @@ -1603,12 +1603,12 @@ rotate(rotate: number): void Rotates a canvas clockwise around its coordinate axes. - Parameters - | Name | Type | Mandatory | Default Value | Description | - | -------- | -------- | -------- | -------- | -------- | - | rotate | number | Yes | 0 | Clockwise rotation angle. You can use **Math.PI / 180** to convert the angle to a radian. | + | Name | Type | Mandatory | Default Value | Description | + | ------ | ------ | --------- | ------------- | ---------------------------------------- | + | rotate | number | Yes | 0 | Clockwise rotation angle. You can use **Math.PI / 180** to convert the angle to a radian. | - Example - + ``` @Entry @Component @@ -1645,13 +1645,13 @@ scale(x: number, y: number): void Scales a canvas based on scale factors. - Parameters - | Name | Type | Mandatory | Default Value | Description | - | -------- | -------- | -------- | -------- | -------- | - | x | number | Yes | 0 | Horizontal scale factor. | - | y | number | Yes | 0 | Vertical scale factor. | + | Name | Type | Mandatory | Default Value | Description | + | ---- | ------ | --------- | ------------- | ------------------------ | + | x | number | Yes | 0 | Horizontal scale factor. | + | y | number | Yes | 0 | Vertical scale factor. | - Example - + ``` @Entry @Component @@ -1690,23 +1690,23 @@ Defines a transformation matrix. To transform a graph, you only need to set para > ![icon-note.gif](public_sys-resources/icon-note.gif) **NOTE** > The following formulas calculate coordinates of the transformed graph. **x** and **y** represent coordinates before transformation, and **x'** and **y'** represent coordinates after transformation. -> +> > - x' = scaleX \* x + skewY \* y + translateX -> +> > - y' = skewX \* x + scaleY \* y + translateY - Parameters - | Name | Type | Mandatory | Default Value | Description | - | -------- | -------- | -------- | -------- | -------- | - | scaleX | number | Yes | 0 | X-axis scale. | - | skewX | number | Yes | 0 | X-axis skew. | - | skewY | number | Yes | 0 | Y-axis skew. | - | scaleY | number | Yes | 0 | Y-axis scale. | - | translateX | number | Yes | 0 | X-axis translation. | - | translateY | number | Yes | 0 | Y-axis translation. | + | Name | Type | Mandatory | Default Value | Description | + | ---------- | ------ | --------- | ------------- | ------------------- | + | scaleX | number | Yes | 0 | X-axis scale. | + | skewX | number | Yes | 0 | X-axis skew. | + | skewY | number | Yes | 0 | Y-axis skew. | + | scaleY | number | Yes | 0 | Y-axis scale. | + | translateX | number | Yes | 0 | X-axis translation. | + | translateY | number | Yes | 0 | Y-axis translation. | - Example - + ``` @Entry @Component @@ -1749,17 +1749,17 @@ setTransform(scaleX: number, skewX: number, skewY: number, scale: number, transl Resets the existing transformation matrix and creates a new transformation matrix by using the same parameters as the **transform()** function. - Parameters - | Name | Type | Mandatory | Default Value | Description | - | -------- | -------- | -------- | -------- | -------- | - | scaleX | number | Yes | 0 | X-axis scale. | - | skewX | number | Yes | 0 | X-axis skew. | - | skewY | number | Yes | 0 | Y-axis skew. | - | scaleY | number | Yes | 0 | Y-axis scale. | - | translateX | number | Yes | 0 | X-axis translation. | - | translateY | number | Yes | 0 | Y-axis translation. | + | Name | Type | Mandatory | Default Value | Description | + | ---------- | ------ | --------- | ------------- | ------------------- | + | scaleX | number | Yes | 0 | X-axis scale. | + | skewX | number | Yes | 0 | X-axis skew. | + | skewY | number | Yes | 0 | Y-axis skew. | + | scaleY | number | Yes | 0 | Y-axis scale. | + | translateX | number | Yes | 0 | X-axis translation. | + | translateY | number | Yes | 0 | Y-axis translation. | - Example - + ``` @Entry @Component @@ -1799,13 +1799,13 @@ translate(x: number, y: number): void Moves the origin of the coordinate system. - Parameters - | Name | Type | Mandatory | Default Value | Description | - | -------- | -------- | -------- | -------- | -------- | - | x | number | Yes | 0 | X-axis translation. | - | y | number | Yes | 0 | Y-axis translation. | + | Name | Type | Mandatory | Default Value | Description | + | ---- | ------ | --------- | ------------- | ------------------- | + | x | number | Yes | 0 | X-axis translation. | + | y | number | Yes | 0 | Y-axis translation. | - Example - + ``` @Entry @Component @@ -1847,21 +1847,21 @@ drawImage(image: ImageBitmap, sx: number, sy: number, sWidth: number, sHeight: n Draws an image. - Parameters - | Name | Type | Mandatory | Default Value | Description | - | -------- | -------- | -------- | -------- | -------- | - | image | [ImageBitmap](ts-components-canvas-imagebitmap.md) | Yes | null | Image resource. For details, see ImageBitmap. | - | sx | number | No | 0 | X-coordinate of the upper left corner of the rectangle used to crop the source image. | - | sy | number | No | 0 | Y-coordinate of the upper left corner of the rectangle used to crop the source image. | - | sWidth | number | No | 0 | Target width to crop the source image. | - | sHeight | number | No | 0 | Target height to crop the source image. | - | dx | number | Yes | 0 | X-coordinate of the upper left corner of the drawing area on the canvas. | - | dy | number | Yes | 0 | Y-coordinate of the upper left corner of the drawing area on the canvas. | - | dWidth | number | No | 0 | Width of the drawing area. | - | dHeight | number | No | 0 | Height of the drawing area. | + | Name | Type | Mandatory | Default Value | Description | + | ------- | ---------------------------------------- | --------- | ------------- | ---------------------------------------- | + | image | [ImageBitmap](ts-components-canvas-imagebitmap.md) | Yes | null | Image resource. For details, see ImageBitmap. | + | sx | number | No | 0 | X-coordinate of the upper left corner of the rectangle used to crop the source image. | + | sy | number | No | 0 | Y-coordinate of the upper left corner of the rectangle used to crop the source image. | + | sWidth | number | No | 0 | Target width to crop the source image. | + | sHeight | number | No | 0 | Target height to crop the source image. | + | dx | number | Yes | 0 | X-coordinate of the upper left corner of the drawing area on the canvas. | + | dy | number | Yes | 0 | Y-coordinate of the upper left corner of the drawing area on the canvas. | + | dWidth | number | No | 0 | Width of the drawing area. | + | dHeight | number | No | 0 | Height of the drawing area. | - Example - + ``` @Entry @Component @@ -1898,10 +1898,10 @@ createImageData(width: number, height: number): Object Creates an **ImageData** object based on the specified width and height. For details, see [ImageData](ts-components-canvas-imagebitmap.md). - Parameters - | Name | Type | Mandatory | Default Value | Description | - | -------- | -------- | -------- | -------- | -------- | - | width | number | Yes | 0 | Width of the **ImageData** object. | - | height | number | Yes | 0 | Height of the **ImageData** object. | + | Name | Type | Mandatory | Default Value | Description | + | ------ | ------ | --------- | ------------- | ----------------------------------- | + | width | number | Yes | 0 | Width of the **ImageData** object. | + | height | number | Yes | 0 | Height of the **ImageData** object. | ### createImageData @@ -1911,9 +1911,9 @@ createImageData(imageData: ImageData): Object Creates an **ImageData** object by copying an existing **ImageData** object. For details, see [ImageData](ts-components-canvas-imagebitmap.md). - Parameters - | Name | Type | Mandatory | Default Value | Description | - | -------- | -------- | -------- | -------- | -------- | - | imagedata | [ImageData](ts-components-canvas-imagebitmap.md) | Yes | null | **ImageData** object to copy. | + | Name | Type | Mandatory | Default Value | Description | + | --------- | ---------------------------------------- | --------- | ------------- | ----------------------------- | + | imagedata | [ImageData](ts-components-canvas-imagebitmap.md) | Yes | null | **ImageData** object to copy. | ### getImageData @@ -1923,12 +1923,12 @@ getImageData(sx: number, sy: number, sw: number, sh: number): Object Creates an [ImageData](ts-components-canvas-imagebitmap.md) object with pixels in the specified area on the canvas. - Parameters - | Name | Type | Mandatory | Default Value | Description | - | -------- | -------- | -------- | -------- | -------- | - | sx | number | Yes | 0 | X-coordinate of the upper left corner of the output area. | - | sy | number | Yes | 0 | Y-coordinate of the upper left corner of the output area. | - | sw | number | Yes | 0 | Width of the output area. | - | sh | number | Yes | 0 | Height of the output area. | + | Name | Type | Mandatory | Default Value | Description | + | ---- | ------ | --------- | ------------- | ---------------------------------------- | + | sx | number | Yes | 0 | X-coordinate of the upper left corner of the output area. | + | sy | number | Yes | 0 | Y-coordinate of the upper left corner of the output area. | + | sw | number | Yes | 0 | Width of the output area. | + | sh | number | Yes | 0 | Height of the output area. | ### putImageData @@ -1938,18 +1938,18 @@ putImageData(imageData: Object, dx: number, dy: number, dirtyX?: number, dirtyY? Puts the [ImageData](ts-components-canvas-imagebitmap.md) onto a rectangular area on the canvas. - Parameters - | Name | Type | Mandatory | Default Value | Description | - | -------- | -------- | -------- | -------- | -------- | - | imagedata | Object | Yes | null | **ImageData** object with pixels to put onto the canvas. | - | dx | number | Yes | 0 | X-axis offset of the rectangular area on the canvas. | - | dy | number | Yes | 0 | Y-axis offset of the rectangular area on the canvas. | - | dirtyX | number | No | 0 | X-axis offset of the upper left corner of the rectangular area relative to that of the source image. | - | dirtyY | number | No | 0 | Y-axis offset of the upper left corner of the rectangular area relative to that of the source image. | - | dirtyWidth | number | No | Width of the **ImageData** object | Width of the rectangular area to crop the source image. | - | dirtyHeight | number | No | Height of the **ImageData** object | Height of the rectangular area to crop the source image. | + | Name | Type | Mandatory | Default Value | Description | + | ----------- | ------ | --------- | ---------------------------------- | ---------------------------------------- | + | imagedata | Object | Yes | null | **ImageData** object with pixels to put onto the canvas. | + | dx | number | Yes | 0 | X-axis offset of the rectangular area on the canvas. | + | dy | number | Yes | 0 | Y-axis offset of the rectangular area on the canvas. | + | dirtyX | number | No | 0 | X-axis offset of the upper left corner of the rectangular area relative to that of the source image. | + | dirtyY | number | No | 0 | Y-axis offset of the upper left corner of the rectangular area relative to that of the source image. | + | dirtyWidth | number | No | Width of the **ImageData** object | Width of the rectangular area to crop the source image. | + | dirtyHeight | number | No | Height of the **ImageData** object | Height of the rectangular area to crop the source image. | - Example - + ``` @Entry @Component @@ -1992,7 +1992,7 @@ restore(): void Restores the saved drawing context. - Example - + ``` @Entry @Component @@ -2026,7 +2026,7 @@ save(): void Saves the current drawing context. - Example - + ``` @Entry @Component @@ -2060,15 +2060,15 @@ createLinearGradient(x0: number, y0: number, x1: number, y1: number): void Creates a linear gradient. - Parameters - | Name | Type | Mandatory | Default Value | Description | - | -------- | -------- | -------- | -------- | -------- | - | x0 | number | Yes | 0 | X-coordinate of the start point. | - | y0 | number | Yes | 0 | Y-coordinate of the start point. | - | x1 | number | Yes | 0 | X-coordinate of the end point. | - | y1 | number | Yes | 0 | Y-coordinate of the end point. | + | Name | Type | Mandatory | Default Value | Description | + | ---- | ------ | --------- | ------------- | -------------------------------- | + | x0 | number | Yes | 0 | X-coordinate of the start point. | + | y0 | number | Yes | 0 | Y-coordinate of the start point. | + | x1 | number | Yes | 0 | X-coordinate of the end point. | + | y1 | number | Yes | 0 | Y-coordinate of the end point. | - Example - + ``` @Entry @Component @@ -2085,9 +2085,9 @@ Creates a linear gradient. .backgroundColor('#ffff00') .onReady(() =>{ var grad = this.offContext.createLinearGradient(50,0, 300,100) - this.grad.addColorStop(0.0, 'red') - this.grad.addColorStop(0.5, 'white') - this.grad.addColorStop(1.0, 'green') + grad.addColorStop(0.0, 'red') + grad.addColorStop(0.5, 'white') + grad.addColorStop(1.0, 'green') this.offContext.fillStyle = grad this.offContext.fillRect(0, 0, 500, 500) var image = this.offContext.transferToImageBitmap() @@ -2110,17 +2110,17 @@ createRadialGradient(x0: number, y0: number, r0: number, x1: number, y1: number, Creates a linear gradient. - Parameters - | Name | Type | Mandatory | Default Value | Description | - | -------- | -------- | -------- | -------- | -------- | - | x0 | number | Yes | 0 | X-coordinate of the center of the start circle. | - | y0 | number | Yes | 0 | Y-coordinate of the center of the start circle. | - | r0 | number | Yes | 0 | Radius of the start circle, which must be a non-negative finite number. | - | x1 | number | Yes | 0 | X-coordinate of the center of the end circle. | - | y1 | number | Yes | 0 | Y-coordinate of the center of the end circle. | - | r1 | number | Yes | 0 | Radius of the end circle, which must be a non-negative finite number. | + | Name | Type | Mandatory | Default Value | Description | + | ---- | ------ | --------- | ------------- | ---------------------------------------- | + | x0 | number | Yes | 0 | X-coordinate of the center of the start circle. | + | y0 | number | Yes | 0 | Y-coordinate of the center of the start circle. | + | r0 | number | Yes | 0 | Radius of the start circle, which must be a non-negative finite number. | + | x1 | number | Yes | 0 | X-coordinate of the center of the end circle. | + | y1 | number | Yes | 0 | Y-coordinate of the center of the end circle. | + | r1 | number | Yes | 0 | Radius of the end circle, which must be a non-negative finite number. | - Example - + ``` @Entry @Component @@ -2137,9 +2137,9 @@ Creates a linear gradient. .backgroundColor('#ffff00') .onReady(() =>{ var grad = this.offContext.createRadialGradient(200,200,50, 200,200,200) - this.grad.addColorStop(0.0, 'red') - this.grad.addColorStop(0.5, 'white') - this.grad.addColorStop(1.0, 'green') + grad.addColorStop(0.0, 'red') + grad.addColorStop(0.5, 'white') + grad.addColorStop(1.0, 'green') this.offContext.fillStyle = grad this.offContext.fillRect(0, 0, 500, 500) var image = this.offContext.transferToImageBitmap() diff --git a/en/application-dev/ui/figures/loadingProgress.png b/en/application-dev/ui/figures/loadingProgress.png new file mode 100644 index 0000000000000000000000000000000000000000..afc52b1a469c858e3029282e193b684114803db0 GIT binary patch literal 15368 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 ![icon-note.gif](public_sys-resources/icon-note.gif) **NOTE** +> This component is supported since API version 8. Updates will be marked with a superscript to indicate their earliest API version. + +The **** component is used to display the loading progress. + +## Required Permissions + +None + +## Child Components + +None + +## APIs + +LoadingProgress() + +Creates a **LoadingProgress** instance. + +## Attributes + +| Name | Type | Default Value | Description | +| ----- | ----- | ------------- | ---------------------------------------- | +| color | Color | - | Foreground color of the loading progress bar. | + +## Example + +``` +@Entry +@Component +struct LoadingProgressExample { + build() { + Column({ space: 5 }) { + Text('Orbital LoadingProgress ').fontSize(9).fontColor(0xCCCCCC).width('90%') + LoadingProgress() + .color(Color.Blue) + }.width('100%').margin({ top: 5 }) + } +} +``` + +![zh-cn_image_0000001198839004](figures/loadingProgress.png) \ No newline at end of file -- GitLab