收藏
回答

生成canvas海报图,海报里透明底的小程序码会变黑色。测试版是正常的,只有在正式版才会

框架类型 问题类型 API/组件名称 终端类型 微信版本 基础库版本
小程序 Bug wx.canvasToTempFilePath 微信iOS客户端 7.0.12 2.11.0
const ctx = uni.createCanvasContext('myCanvas');
ctx.clearRect(0,0,that.canvasWidth,that.canvasHeight)
// 绘制海报
ctx.drawImage(posterinfo.path, 0, 0, posterinfo.width, posterinfo.height);
ctx.save();
// 绘制二维码
var codeWidth = 150;
var codeHeight = 150;
var codeX = that.canvasWidth - 25 - codeWidth; //二维码x坐标
var codeY = 25; //二维码y坐标
var arcR = codeWidth / 2;
ctx.beginPath();
ctx.arc(codeX + arcR, codeY + arcR, arcR, 0, 2 * Math.PI);
ctx.setFillStyle('rgba(255,255,255,0.6)');
ctx.fill();
ctx.drawImage(codeinfo.path, codeX, codeY, codeWidth, codeHeight);
console.log(posterinfo.path, codeinfo.path);
ctx.draw(false,()=>{
  uni.canvasToTempFilePath({
        canvasId:'myCanvas',
        x:0,
        y:0,
        width:that.canvasWidth,
	height:that.canvasHeigh,
	destWidth:that.canvasWidth,
	destHeight:that.canvasHeight,
	fileType:'jpg',
	success(res){
		that.canvasImg = res.tempFilePath
		console.log(res.tempFilePath)
		resolve(res.tempFilePath)
	},fail(err) {
		reject(err)
	}
  })
});

回答关注问题邀请回答
收藏

2 个回答

  • 小程序技术专员-binnie
    小程序技术专员-binnie
    2020-04-13

    appid多少呢,我们看看哈

    2020-04-13
    有用 1
    回复
  • Listen
    Listen
    2020-04-13
    ctx.draw(false,()=>{
      setTimeout(()=>{
        //uni.canvasToTempFilePath ....
      },300)
    });
    
    加个延时
    
    2020-04-13
    有用
    回复
登录 后发表内容
问题标签