From da58dbb7fccb8117b6079d1fb84a3f89c6436f02 Mon Sep 17 00:00:00 2001 From: ryougifujino Date: Thu, 8 Apr 2021 13:56:16 +0800 Subject: [PATCH] =?UTF-8?q?fix(types):=20=E8=A1=A5=E5=85=85Canvas=E7=B1=BB?= =?UTF-8?q?=E5=9E=8B=E4=B8=AD=E7=BC=BA=E5=A4=B1=E7=9A=84=E5=B1=9E=E6=80=A7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- packages/taro/types/api/canvas/index.d.ts | 36 +++++++++++++++++++---- 1 file changed, 31 insertions(+), 5 deletions(-) diff --git a/packages/taro/types/api/canvas/index.d.ts b/packages/taro/types/api/canvas/index.d.ts index 4164c1b20e5e..0e724299b566 100644 --- a/packages/taro/types/api/canvas/index.d.ts +++ b/packages/taro/types/api/canvas/index.d.ts @@ -6,7 +6,7 @@ declare namespace Taro { function createOffscreenCanvas(): OffscreenCanvas /** 创建 canvas 的绘图上下文 [CanvasContext](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.html) 对象 - * + * * **Tip**: 需要指定 canvasId,该绘图上下文只作用于对应的 `` * @supported weapp, h5 * @see https://developers.weixin.qq.com/miniprogram/dev/api/canvas/wx.createCanvasContext.html @@ -19,7 +19,7 @@ declare namespace Taro { ): CanvasContext /** 把当前画布指定区域的内容导出生成指定大小的图片。在 `draw()` 回调里调用该方法才能保证图片导出成功。 - * + * * **Bug & Tip:** * * 1. `tip`: 在 `draw` 回调里调用该方法才能保证图片导出成功。 @@ -219,10 +219,19 @@ declare namespace Taro { } } + /** Canvas 2D API 的接口 Path2D 用来声明路径,此路径稍后会被CanvasRenderingContext2D 对象使用。CanvasRenderingContext2D 接口的 路径方法 也存在于 Path2D 这个接口中,允许你在 canvas 中根据需要创建可以保留并重用的路径。 + * @supported weapp + */ + interface Path2D {} + /** Canvas 实例,可通过 SelectorQuery 获取。 * @see https://developers.weixin.qq.com/miniprogram/dev/api/canvas/Canvas.html */ interface Canvas { + /** 画布高度 */ + height: number + /** 画布宽度 */ + width: number /** 取消由 requestAnimationFrame 添加到计划中的动画帧请求。支持在 2D Canvas 和 WebGL Canvas 下使用, 但不支持混用 2D 和 WebGL 的方法。 * @supported weapp * @see https://developers.weixin.qq.com/miniprogram/dev/api/canvas/Canvas.cancelAnimationFrame.html @@ -238,6 +247,13 @@ declare namespace Taro { * @see https://developers.weixin.qq.com/miniprogram/dev/api/canvas/Canvas.createImage.html */ createImage(): Image + /** 创建 Path2D 对象 + * @supported weapp + * @see https://developers.weixin.qq.com/miniprogram/dev/api/canvas/Path2D.html + */ + createPath2D( + path: Path2D + ): Path2D /** 支持获取 2D 和 WebGL 绘图上下文 * @supported weapp * @see https://developers.weixin.qq.com/miniprogram/dev/api/canvas/Canvas.getContext.html @@ -251,6 +267,16 @@ declare namespace Taro { /** 执行的 callback */ callback: (...args: any[]) => any, ): number + /** 返回一个包含图片展示的 data URI 。可以使用 type 参数其类型,默认为 PNG 格式。 + * @supported weapp + * @see https://developers.weixin.qq.com/miniprogram/dev/api/canvas/Canvas.toDataURL.html + */ + toDataURL( + /** 图片格式,默认为 image/png */ + type: string, + /** 在指定图片格式为 image/jpeg 或 image/webp的情况下,可以从 0 到 1 的区间内选择图片的质量。如果超出取值范围,将会使用默认值 0.92。其他参数会被忽略。 */ + encoderOptions: number + ): string } /** canvas 组件的绘图上下文 @@ -772,7 +798,7 @@ declare namespace Taro { y: number, ): void /** 创建二次贝塞尔曲线路径。曲线的起始点为路径中前一个点。 - * + * * 针对 moveTo(20, 20) quadraticCurveTo(20, 100, 200, 20) 的三个关键坐标如下: * * - 红色:起始点(20, 20) @@ -1715,7 +1741,7 @@ declare namespace Taro { /** 图片的真实宽度 */ width: number } - + /** ImageData 对象 * @supported weapp * @see https://developers.weixin.qq.com/miniprogram/dev/api/canvas/ImageData.html @@ -1736,7 +1762,7 @@ declare namespace Taro { /** 该方法返回 OffscreenCanvas 的绘图上下文 * * **** - * + * * 当前仅支持获取 WebGL 绘图上下文 * @supported weapp */