收藏
回答

借助canvas生成的图片模糊不清

问题模块 框架类型 问题类型 API/组件名称 终端类型 微信版本 基础库版本
API和组件 小程序 Bug wx.canvasToTempFilePath(Object object, Object this) 客户端 6.6.3 2.5.0

- 调用此接口通过canvas生成保存到手机相册的图片不如以前的清晰


- js代码


onLoad: function(options) {
   var ctx = wx.createCanvasContext("canvas", this)
   wx.chooseImage({
     success: function(res) {
       console.log(res)
       var path = res.tempFilePaths[0]
       ctx.drawImage(path, 0, 0, 375, 667)
       ctx.draw(true, function(res) {
         wx.canvasToTempFilePath({
           canvasId: 'canvas',
           width:375,
           height:667,
           destWidth: 375*4,
           destHeight: 667*4,
           success(res) {
             console.log(res.tempFilePath)
             wx.saveImageToPhotosAlbum({
               filePath: res.tempFilePath,
               success(res) {
                 console.log(res)
                 wx.showToast({
                   title: '保存成功',
                 })
                 wx.vibrateLong({})
               }
             })
           }
         })
       })
     }
   })
 }


-wxml代码


<canvas style='width:375px;height:667px;' canvas-id="canvas"></canvas>


图片可能在电脑上区别不明显,但是在手机上一眼就能看出来


-原图:



-生成的图片






最后一次编辑于  04-12
回答关注问题邀请回答
收藏

3 个回答

  • 草木灰
    草木灰
    06-03

    解决了么,我这destWidth基于比例放大也没用

    06-03
    赞同
    回复
  • wangmumu
    wangmumu
    04-12

    画两倍的图

    width:750,

    height:1334,

    destWidth:750,

    destHeight:1334,


    04-12
    赞同
    回复 1
    • 草木灰
      草木灰
      06-03

      没用啊

      06-03
      回复
  • 继勇
    继勇
    04-12

    可以基于pixelRatio比例放大后再绘制

    04-12
    赞同
    回复 2
    • HELLO
      HELLO
      04-12

      放大什么?把画布放大吗?

      04-12
      回复
    • 草木灰
      草木灰
      06-03

      没用~~

      06-03
      回复