收藏
回答

canvas保存图片像素错乱

框架类型 问题类型 API/组件名称 终端类型 微信版本 基础库版本
小程序 Bug wx.canvasToTempFilePath 客户端 7.0.4 2.7.2

- 当前 Bug 的表现(可附上截图)

用安卓真机调试和真机保存图片到相册时,使用canvasToTempFilePath生成图片会导致canvas里的像素乱掉,导致生成的二维码出现问题不能识别,下面是一个比较简单的像素生成, 图片像素越复杂出现问题的几率越高


- 预期表现


- 复现路径


- 提供一个最简复现 Demo

download() {
        const ctx = wx.createCanvasContext('test');
        let count = 29,
            width = 130 / count,
            height = 130 / count;
 
        for (let row = 0; row < count; row++) {
            for (let col = 0; col < count; col++) {
                let isDark = row%2 == 1 && col%2 == 1,
                    left = col * width,
                    top = row * height;
                ctx.setFillStyle(isDark ? '#000000' : '#FFFFFF');
                ctx.fillRect(left, top, width, height);
            }
        }
        ctx.draw(false, () => {
            wx.canvasToTempFilePath({
                x: 0,
                y: 0,
                width: 300,
                height: 300,
                destWidth: 300,
                destHeight: 300,
                canvasId: 'test',
                success(res) {
                    wx.saveImageToPhotosAlbum({
                        filePath: res.tempFilePath,
                    })
                },
            })
        })
    }


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

2 个回答

登录 后发表内容