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].node
https://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].width
const height = res[0].height
// 初始化画布大小
const dpr = wx.getWindowInfo().pixelRatio
canvas.width = width * dpr
canvas.height = height * dpr
ctx.scale(dpr, dpr)
})
ctx.scale(dpr, dpr) 请问官方为什么要加这个?不太理解