diff --git a/zh-cn/application-dev/reference/arkui-ts/ts-appendix-enums.md b/zh-cn/application-dev/reference/arkui-ts/ts-appendix-enums.md
index d9963afc59a3885e215f1b64d9167ce6faea7e2d..76892a0d0ce6e0daea11289fb82a4a9bab9564a9 100644
--- a/zh-cn/application-dev/reference/arkui-ts/ts-appendix-enums.md
+++ b/zh-cn/application-dev/reference/arkui-ts/ts-appendix-enums.md
@@ -565,3 +565,23 @@
| ------- | ------------------------------------------------------------ |
| DEFAULT | 默认风格,光标宽1.5vp,光标高度与文本选中底板高度和字体大小相关。 |
| INLINE | 内联输入风格。文本选中底板高度与输入框高度相同。 |
+
+## ImageSmoothingQuality8+
+
+从API version 9开始,该接口支持在ArkTS卡片中使用。
+
+| 名称 | 描述 |
+| -------- | -------------- |
+| low | 低画质 |
+| medium | 中画质 |
+| high | 高画质 |
+
+## CanvasDirection8+
+
+从API version 9开始,该接口支持在ArkTS卡片中使用。
+
+| 名称 | 描述 |
+| -------- | -------------- |
+| inherit | 继承canvas组件已设定的文本方向 |
+| ltr | 从左往右 |
+| rtl | 从右往左 |
\ No newline at end of file
diff --git a/zh-cn/application-dev/reference/arkui-ts/ts-canvasrenderingcontext2d.md b/zh-cn/application-dev/reference/arkui-ts/ts-canvasrenderingcontext2d.md
index cf4a76859576bab80b452fc8d8b1958f59f291b0..e7aaef536d6ccab15f425f89b0c74274d0de6495 100644
--- a/zh-cn/application-dev/reference/arkui-ts/ts-canvasrenderingcontext2d.md
+++ b/zh-cn/application-dev/reference/arkui-ts/ts-canvasrenderingcontext2d.md
@@ -59,8 +59,8 @@ RenderingContextSettings(antialias?: boolean)
| [imageSmoothingEnabled](#imagesmoothingenabled) | boolean | 用于设置绘制图片时是否进行图像平滑度调整,true为启用,false为不启用。
默认值:true
从API version 9开始,该接口支持在ArkTS卡片中使用。 |
| [height](#height) | number | 组件高度。
单位:vp
从API version 9开始,该接口支持在ArkTS卡片中使用。 |
| [width](#width) | number | 组件宽度。
单位:vp
从API version 9开始,该接口支持在ArkTS卡片中使用。 |
-| [imageSmoothingQuality](#imagesmoothingquality) | ImageSmoothingQuality | imageSmoothingEnabled为true时,用于设置图像平滑度。可选值为:
- 'low':低画质
- 'medium':中画质
- 'high':高画质。
默认值:low
从API version 9开始,该接口支持在ArkTS卡片中使用。 |
-| [direction](#direction) | CanvasDirection | 用于设置绘制文字时使用的文字方向。可选值为:
- 'inherit':继承canvas组件已设定的文本方向
- 'ltr':从左往右
- 'rtl':从右往左。
默认值:inherit
从API version 9开始,该接口支持在ArkTS卡片中使用。 |
+| [imageSmoothingQuality](#imagesmoothingquality) |[ImageSmoothingQuality](ts-appendix-enums.md#imagesmoothingquality8) | imageSmoothingEnabled为true时,用于设置图像平滑度。
默认值:ImageSmoothingQuality.low
从API version 9开始,该接口支持在ArkTS卡片中使用。 |
+| [direction](#direction) | [CanvasDirection](ts-appendix-enums.md#canvasdirection8) | 用于设置绘制文字时使用的文字方向。
默认值:CanvasDirection.inherit
从API version 9开始,该接口支持在ArkTS卡片中使用。 |
| [filter](#filter) | string | 用于设置图像的滤镜。支持的滤镜效果如下:
- 'none': 无滤镜效果
- 'blur':给图像设置高斯模糊
- 'brightness':给图片应用一种线性乘法,使其看起来更亮或更暗
- 'contrast':调整图像的对比度
- 'grayscale':将图像转换为灰度图像
- 'hue-rotate':给图像应用色相旋转
- 'invert':反转输入图像
- 'opacity':转化图像的透明程度
- 'saturate':转换图像饱和度
- 'sepia':将图像转换为深褐色
默认值:'none'
从API version 9开始,该接口支持在ArkTS卡片中使用。 |
> **说明:**
@@ -719,6 +719,136 @@ struct WidthExample {
![zh-cn_image_canvas_width](figures/zh-cn_image_canvas_width.png)
+### imageSmoothingQuality
+
+```ts
+ // xxx.ets
+ @Entry
+ @Component
+ struct ImageSmoothingQualityDemo {
+ private settings: RenderingContextSettings = new RenderingContextSettings(true);
+ private context: CanvasRenderingContext2D = new CanvasRenderingContext2D(this.settings);
+ private img:ImageBitmap = new ImageBitmap("common/images/example.jpg");
+
+ build() {
+ Flex({ direction: FlexDirection.Column, alignItems: ItemAlign.Center, justifyContent: FlexAlign.Center }) {
+ Canvas(this.context)
+ .width('100%')
+ .height('100%')
+ .backgroundColor('#ffff00')
+ .onReady(() =>{
+ let ctx = this.context
+ ctx.imageSmoothingEnabled = true
+ ctx.imageSmoothingQuality = 'high'
+ ctx.drawImage(this.img, 0, 0, 400, 200)
+ })
+ }
+ .width('100%')
+ .height('100%')
+ }
+ }
+```
+
+![ImageSmoothingQualityDemo](figures/ImageSmoothingQualityDemo.jpeg)
+
+
+### direction
+
+```ts
+ // xxx.ets
+ @Entry
+ @Component
+ struct DirectionDemo {
+ 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)
+ .width('100%')
+ .height('100%')
+ .backgroundColor('#ffff00')
+ .onReady(() =>{
+ let ctx = this.context
+ ctx.font = '48px serif';
+ ctx.textAlign = 'start'
+ ctx.fillText("Hi ltr!", 200, 50);
+
+ ctx.direction = "rtl";
+ ctx.fillText("Hi rtl!", 200, 100);
+ })
+ }
+ .width('100%')
+ .height('100%')
+ }
+ }
+```
+
+![directionDemo](figures/directionDemo.jpeg)
+
+
+### filter
+
+```ts
+ // xxx.ets
+ @Entry
+ @Component
+ struct FilterDemo {
+ private settings: RenderingContextSettings = new RenderingContextSettings(true);
+ private context: CanvasRenderingContext2D = new CanvasRenderingContext2D(this.settings);
+ private img:ImageBitmap = new ImageBitmap("common/images/example.jpg");
+
+ build() {
+ Flex({ direction: FlexDirection.Column, alignItems: ItemAlign.Center, justifyContent: FlexAlign.Center }) {
+ Canvas(this.context)
+ .width('100%')
+ .height('100%')
+ .backgroundColor('#ffff00')
+ .onReady(() =>{
+ let ctx = this.context
+ let img = this.img
+
+ ctx.drawImage(img, 0, 0, 100, 100);
+
+ ctx.filter = 'grayscale(50%)';
+ ctx.drawImage(img, 100, 0, 100, 100);
+
+ ctx.filter = 'sepia(60%)';
+ ctx.drawImage(img, 200, 0, 100, 100);
+
+ ctx.filter = 'saturate(30%)';
+ ctx.drawImage(img, 0, 100, 100, 100);
+
+ ctx.filter = 'hue-rotate(90degree)';
+ ctx.drawImage(img, 100, 100, 100, 100);
+
+ ctx.filter = 'invert(100%)';
+ ctx.drawImage(img, 200, 100, 100, 100);
+
+ ctx.filter = 'opacity(25%)';
+ ctx.drawImage(img, 0, 200, 100, 100);
+
+ ctx.filter = 'brightness(0.4)';
+ ctx.drawImage(img, 100, 200, 100, 100);
+
+ ctx.filter = 'contrast(200%)';
+ ctx.drawImage(img, 200, 200, 100, 100);
+
+ ctx.filter = 'blur(5px)';
+ ctx.drawImage(img, 0, 300, 100, 100);
+
+ let result = ctx.toDataURL()
+ console.info(result)
+ })
+ }
+ .width('100%')
+ .height('100%')
+ }
+ }
+```
+
+![filterDemo](figures/filterDemo.jpeg)
+
## 方法
@@ -1802,82 +1932,6 @@ clip(path: Path2D, fillRule?: CanvasFillRule): void
![zh-cn_image_000000127777779](figures/zh-cn_image_000000127777779.png)
-### filter
-
-filter(filter: string): void
-
-为Canvas图形设置各类滤镜效果。
-
-从API version 9开始,该接口支持在ArkTS卡片中使用。
-
-**参数:**
-
-| 参数 | 类型 | 必填 | 默认值 | 说明 |
-| ------ | ------ | ---- | ---- | ---------------------------------------- |
-| filter | string | 是 | - | 接受各类滤镜效果的函数。支持的滤镜效果如下:
- 'none': 无滤镜效果
- 'blur':给图像设置高斯模糊
- 'brightness':给图片应用一种线性乘法,使其看起来更亮或更暗
- 'contrast':调整图像的对比度
- 'grayscale':将图像转换为灰度图像
- 'hue-rotate':给图像应用色相旋转
- 'invert':反转输入图像
- 'opacity':转化图像的透明程度
- 'saturate':转换图像饱和度
- 'sepia':将图像转换为深褐色
默认值:'none' |
-
-**示例:**
-```ts
- // xxx.ets
- @Entry
- @Component
- struct FilterDemo {
- private settings: RenderingContextSettings = new RenderingContextSettings(true);
- private context: CanvasRenderingContext2D = new CanvasRenderingContext2D(this.settings);
- private img:ImageBitmap = new ImageBitmap("common/images/example.jpg");
-
- build() {
- Flex({ direction: FlexDirection.Column, alignItems: ItemAlign.Center, justifyContent: FlexAlign.Center }) {
- Canvas(this.context)
- .width('100%')
- .height('100%')
- .backgroundColor('#ffff00')
- .onReady(() =>{
- let ctx = this.context
- let img = this.img
-
- ctx.drawImage(img, 0, 0, 100, 100);
-
- ctx.filter = 'grayscale(50%)';
- ctx.drawImage(img, 100, 0, 100, 100);
-
- ctx.filter = 'sepia(60%)';
- ctx.drawImage(img, 200, 0, 100, 100);
-
- ctx.filter = 'saturate(30%)';
- ctx.drawImage(img, 0, 100, 100, 100);
-
- ctx.filter = 'hue-rotate(90degree)';
- ctx.drawImage(img, 100, 100, 100, 100);
-
- ctx.filter = 'invert(100%)';
- ctx.drawImage(img, 200, 100, 100, 100);
-
- ctx.filter = 'opacity(25%)';
- ctx.drawImage(img, 0, 200, 100, 100);
-
- ctx.filter = 'brightness(0.4)';
- ctx.drawImage(img, 100, 200, 100, 100);
-
- ctx.filter = 'contrast(200%)';
- ctx.drawImage(img, 200, 200, 100, 100);
-
- ctx.filter = 'blur(5px)';
- ctx.drawImage(img, 0, 300, 100, 100);
-
- let result = ctx.toDataURL()
- console.info(result)
- })
- }
- .width('100%')
- .height('100%')
- }
- }
-```
-
-![filterDemo](figures/filterDemo.jpeg)
-
-
### getTransform
getTransform(): Matrix2D
@@ -1902,47 +1956,6 @@ resetTransform(): void
从API version 9开始,该接口支持在ArkTS卡片中使用。
-### direction
-
-direction(direction: CanvasDirection): void
-
-绘制文本时,描述当前文本方向的属性。
-
-从API version 9开始,该接口支持在ArkTS卡片中使用。
-
-**示例:**
-```ts
- // xxx.ets
- @Entry
- @Component
- struct DirectionDemo {
- 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)
- .width('100%')
- .height('100%')
- .backgroundColor('#ffff00')
- .onReady(() =>{
- let ctx = this.context
- ctx.font = '48px serif';
- ctx.textAlign = 'start'
- ctx.fillText("Hi ltr!", 200, 50);
-
- ctx.direction = "rtl";
- ctx.fillText("Hi rtl!", 200, 100);
- })
- }
- .width('100%')
- .height('100%')
- }
- }
-```
-
-![directionDemo](figures/directionDemo.jpeg)
-
### rotate
rotate(angle: number): void
@@ -2536,52 +2549,6 @@ getLineDash(): number[]
![zh-cn_image_000000127777778](figures/zh-cn_image_000000127777778.png)
-
-### imageSmoothingQuality
-
-imageSmoothingQuality(quality: imageSmoothingQuality)
-
-用于设置图像平滑度。
-
-从API version 9开始,该接口支持在ArkTS卡片中使用。
-
- **参数:**
-
-| 参数 | 类型 | 描述 |
-| ------- | --------------------- | ---------------------------------------- |
-| quality | imageSmoothingQuality | 支持如下三种类型:
- 'low':低画质
- 'medium':中画质
- 'high':高画质 |
-
-**示例:**
-```ts
- // xxx.ets
- @Entry
- @Component
- struct ImageSmoothingQualityDemo {
- private settings: RenderingContextSettings = new RenderingContextSettings(true);
- private context: CanvasRenderingContext2D = new CanvasRenderingContext2D(this.settings);
- private img:ImageBitmap = new ImageBitmap("common/images/example.jpg");
-
- build() {
- Flex({ direction: FlexDirection.Column, alignItems: ItemAlign.Center, justifyContent: FlexAlign.Center }) {
- Canvas(this.context)
- .width('100%')
- .height('100%')
- .backgroundColor('#ffff00')
- .onReady(() =>{
- let ctx = this.context
- ctx.imageSmoothingEnabled = true
- ctx.imageSmoothingQuality = 'high'
- ctx.drawImage(this.img, 0, 0, 400, 200)
- })
- }
- .width('100%')
- .height('100%')
- }
- }
-```
-
-![ImageSmoothingQualityDemo](figures/ImageSmoothingQualityDemo.jpeg)
-
### transferFromImageBitmap
transferFromImageBitmap(bitmap: ImageBitmap): void