<template> <view> <canvas canvas-id="gameCanvas" style="width:750rpx; height:1232rpx;"></canvas> </view> </template>
<script> export default { data() { return { kehu: \'\', pingming: \'\', date: \'\', zhongliang: \'\', zongjine: \'\' }; }, onLoad(options) { const ctx = uni.createCanvasContext(\'gameCanvas\'); //创建画布对象 uni.showLoading({ title: \'正在生成中...\' }) console.log(options) //接收上个页面的数据 this.kehu = options.buyerOrg; this.pingming = options.goodsName; this.zhongliang = options.settleWeight; this.date = options.createTime; this.zongjine = options.settlement; let imageWidth = 375, imageHeight = 616; uni.getImageInfo({ src: \'https://xxxxxxxxxxxxxxxxxx.png\', //网络图片用来做背景 success: (res) => { console.log(res.path) ctx.save() ctx.drawImage(res.path, 0, 0, 375, 616) ctx.draw(true) ctx.setFillStyle(\'#333333\') ctx.draw(true) ctx.setFillStyle(\'black\') ctx.setFontSize(16) ctx.fillText(\'客户名:\' + this.kehu, 30, 130) ctx.fillText(\'品名:\' + this.pingming, 30, 190) ctx.fillText(\'重量:\' + this.zhongliang + \'吨\', 30, 250) ctx.fillText(\'总金额:\' + \'¥\' + this.zongjine, 30, 310) ctx.fillText(\'日期:\' + this.date, 30, 370) ctx.draw(true) setTimeout(() => { //解决画布空白的问题 ctx.draw(true, () => { // console.log(666) uni.canvasToTempFilePath({ //将canvas生成图片 canvasId: \'gameCanvas\', x: 0, y: 0, width: imageWidth, height: imageHeight, destWidth: imageWidth, //截取canvas的宽度 destHeight: imageHeight, //截取canvas的高度 success: function(res) { uni.saveImageToPhotosAlbum({ //保存图片到相册 filePath: res.tempFilePath, success: function() { uni.hideLoading() uni.showToast({ title: "图片已保存", duration: 2000 }) }, fail() { uni.hideLoading() } }) } }) }) }, 1500); } }) }, } </script>