z***@126.com
z***@126.com
  • 发布:2024-04-18 16:11
  • 更新:2024-04-18 16:28
  • 阅读:97

canvas获取base64后只显示图片的左上角一部分,h5

分类:uni-app

需求:选择照片后用canvas添加水印,通过uni.canvasToTempFilePath获取base64,此时的图片为什么只有canvas图的左上角一部分??

this.ctx = uni.createCanvasContext("canvas-clipper", _this);  
// 绘制照片  
this.ctx.drawImage(this.$refs['upload'].lists[index].url, 0, 0);  

this.ctx.draw(false, ()=>{  
                        setTimeout(() => {   
                            uni.canvasToTempFilePath({  
                                destWidth: image.width,  
                                destHeight: image.height,  
                                canvasId: "canvas-clipper",  
                                fileType: "jpg",  
                                // quality: 0.1,  
                                success: res => {  
                                    console.log('画布base64', res)  
                                },  
                            }, _this);  
                        }, 500);  
                    });
2024-04-18 16:11 负责人:无 分享
已邀请:
大貔貅_接单

大貔貅_接单 - 接单-解决各种疑难杂症@Tel_18560000860

你的image.width和image.height是多少?定义了吗?

  • z***@126.com (作者)

    你好,定义了,用uni.getImageInfo获取的图片宽高,然后宽高是在canvas标签的style里设置的

    2024-04-18 16:31

  • 大貔貅_接单

    回复 z***@126.com: 你canvas画出来是正常的不?

    2024-04-18 17:14

要回复问题请先登录注册