https://developers.weixin.qq.com/miniprogram/dev/api/canvas/wx.canvasToTempFilePath.html
文档里描述, ---’把当前画布指定区域的内容导出生成指定大小的图片。在 draw() 回调里调用该方法才能保证图片导出成功。‘ 但是现在draw 方法已经不支持了,怎么导出图片?这块有点搞不懂,这文档 。
draw is not a function
| 框架类型 | 问题类型 | API/组件名称 | 终端类型 | 微信版本 | 基础库版本 |
|---|---|---|---|---|---|
| 小程序 | Bug | canvasToTempFilePath | 微信安卓客户端 | 8.0 | 3.6.5 |
2 个回答
不用调draw ,直接获取画布对象实例 ,然后直接调用https://developers.weixin.qq.com/s/eFk5Xamc7uW0
这样用
wx.canvasToTempFilePath({ canvas: mCanvas, mCanvas是这样获取的 wx.createSelectorQuery() .select('#canvas') // 在 WXML 中填入的 id .fields({ node: true, size: true }) .exec((res) => { // Canvas 对象 const canvas = res[0].node mCanvas = res[0].nodehttps://developers.weixin.qq.com/community/develop/article/doc/0008ac8993cee8d51b20447e368c13
https://developers.weixin.qq.com/miniprogram/dev/api/media/image/wx.saveImageToPhotosAlbum.html
wx.createSelectorQuery().select('#myCanvas') // 在 WXML 中填入的 id.fields({ node: true, size: true }).exec((res) => {// Canvas 对象const canvas = res[0].node// 渲染上下文const ctx = canvas.getContext('2d')// Canvas 画布的实际绘制宽高const width = res[0].widthconst height = res[0].height// 初始化画布大小const dpr = wx.getWindowInfo().pixelRatiocanvas.width = width * dprcanvas.height = height * dprctx.scale(dpr, dpr)})ctx.scale(dpr, dpr) 请问官方为什么要加这个?不太理解