收藏
回答

wx.canvasToTempFilePath()保存图片为空白图片?

async drawSaveImage() {
    console.log("drawImage"this.data.resultData.shareImage,this.data.resultData._qcCodeImage_)
    const {  globalData } = getApp()
    const shareImage = await globalData.__saveImage
    const imageQc = await publicMethods.getQcImage(this.data.resultData)
    console.log("shareImage",shareImage,imageQc)
    const [$bgImgInfo, $imageQc] = await Promise.all([
      publicMethods.getImageInfo(shareImage),
      publicMethods.getImageInfo(imageQc)
    ])
    
    const imageBg = globalData.localSaveImageUrl
    
    console.log('imageQc', imageQc)
    console.log('imageBg', imageBg)
    const canvasContent = wx.createCanvasContext('myCanvas')


    if (!($imageQc.height && $imageQc.width)) {
      throw new Error('load qc image fail')
    }
    let pox = 1
    let imagHeight = $bgImgInfo.height / pox
    let imageWidth = $bgImgInfo.width / pox
    console.log("imagHeightaaa", imagHeight, "imageWidth", imageWidth, $bgImgInfo)
    await this.setCanvasRect(imageWidth, imagHeight)
    canvasContent.drawImage(imageBg, 00, imageWidth, imagHeight)
    await canvasContent.draw(true,()=>{})
    // 这个比例值 是按照 1500x 2700 的比例算的, 如果图片有放大 或者缩小需要去缩放下
    let poxImage = imageWidth / 1500
    // if (imageWidth)


    let qcSize = 235 / pox * poxImage
    let qcX = imageWidth - qcSize - 40
    let qcY = imagHeight - qcSize - 120
    const roundRectPadding = 4
    qcX = Math.ceil(qcX)
    qcY = Math.ceil(qcY)
    qcSize = Math.ceil(qcSize)
    publicMethods.roundRect(canvasContent, qcX - roundRectPadding, qcY - roundRectPadding, qcSize + roundRectPadding * 2, qcSize + roundRectPadding * 2)
    canvasContent.drawImage($imageQc.path, qcX, qcY, qcSize, qcSize)
    await canvasContent.draw(true,()=>{})
    await publicMethods.sleep(200)
    return new Promise((resolve, reject) => {
        wx.canvasToTempFilePath({
          canvasId: 'myCanvas',
          success: (res) => {
            resolve(res)
          },
          fail(err) {
            console.log(err)
            reject(err)
          },
          complete: (res)=>{
            console.log("complete",res)
          }
        })
      })
  },
回答关注问题邀请回答
收藏

2 个回答

  • YGX
    YGX
    2023-04-13

    你是不是用苹果手机上传的?我也遇到这个问题

    2023-04-13
    有用
    回复
  • 那一抹笑😃 穿透阳光
    那一抹笑😃 穿透阳光
    2023-03-09

    在页面上,显示一下,看图片是不是空白的

    2023-03-09
    有用
    回复 2
    • 路小白
      路小白
      2023-03-09
      就是空白的,生成的图片路径下载下来就是空白的
      2023-03-09
      回复
    • 那一抹笑😃 穿透阳光
      那一抹笑😃 穿透阳光
      2023-03-09回复路小白
      我是说,下载之前,是否是空白的
      2023-03-09
      回复
登录 后发表内容