uni.canvasToTempFilePath不执行,如果加上立即执行函数会报出clentWidth of null
createImgByCanvas(content) {
return new Promise((reslove, reject) => {
let ctx = uni.createCanvasContext('createImgCanvas')
ctx.drawImage('/static/image/map/icon-staion-normal.png', 0, 0, 60, 72) // 绘制图像到画布
if (parseInt(content) <= 99) {
ctx.font = 'bold 32px 黑体'
ctx.setTextAlign('center') // 设置文字的对齐 文字居中
ctx.fillText(content, 30, 40) // 在画布上绘制被填充的文本, 文字内容 绘制文本的左上角 x 坐标位置 绘制文本的左上角 y 坐标位置
} else if (parseInt(content) > 99) {
ctx.font = 'bold 28px 黑体'
ctx.setTextAlign('center') // 设置文字的对齐 文字居中
ctx.fillText(content, 30, 40) // 在画布上绘制被填充的文本, 文字内容 绘制文本的左上角 x 坐标位置 绘制文本的左上角 y 坐标位置
}
ctx.draw(false,function(){
uni.canvasToTempFilePath({
canvasId: 'createImgCanvas',
destWidth: 60,
destHeight: 72,
success: (res) => {
console.log("绘图成功",res);
reslove(res.tempFilePath)
},
fail: (e) => {
reject(e)
},
})
})
})
}
0 个回复