1000字范文,内容丰富有趣,学习的好帮手!
1000字范文 > 小程序 canvas 2d 绘制图片并保存

小程序 canvas 2d 绘制图片并保存

时间:2021-11-03 18:03:41

相关推荐

小程序 canvas 2d 绘制图片并保存

获取canvas实例,使用的官方的代码。用一个变量canvas保存实例,后续保存时会调用。

data () {return {canvas: null // 实例}},onReady() {const query = wx.createSelectorQuery()query.select('#myCanvas').fields({node: true, size: true }).exec((res) => {const canvas = res[0].nodethis.setData({canvas})const ctx = canvas.getContext('2d')const dpr = wx.getSystemInfoSync().pixelRatiocanvas.width = res[0].width * dprcanvas.height = res[0].height * dprctx.scale(dpr, dpr)this.drawBg(canvas, ctx); // 绘制图片})},

引入图片需要调用canvas.createImage方法, 具体使用方法如下:

Image Canvas.createImage()

创建一个图片对象。 支持在 2D Canvas 和 WebGL Canvas 下使用, 但不支持混用 2D 和 WebGL 的方法。

drawBg (canvas, ctx) {const img = canvas.createImage() img.src = './timg.jpg'img.onload = () => {ctx.drawImage(img, 0, 0, 500, 500);}},

保存时注意wx.canvasToTempFilePath要传递canvas参数,为canvas 2d 实例

canvas Object 否 画布标识,传入 canvas 组件实例 (canvas type=“2d” 时使用该属性)。

save () {wx.canvasToTempFilePath({canvas: this.data.canvas, // 使用2D 需要传递的参数success(res) {console.log(res.tempFilePath)wx.saveImageToPhotosAlbum({filePath: res.tempFilePath,success(res) {wx.showToast({title: '保存成功,请在相册中查看',})}})}})}})

以上几个注意点,别的应该没啥问题

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。