3.6截图问题

3.6官方给的截图功能在ios浏览器上会卡7-8秒
参考此链接中使用Uint8ClampedArray进行截图
但生成Uint8ClampedArray的length和原arraybuffer的length相同
无法生成指定长度和位置的Uint8ClampedArray
请问有人遇到这个问题么?

        // 图片用32bit位表示一个像素,所以一行有width个像素,一共是width*32/8bit = width*4字节

        let rowBytes = width * 4;

        // let s3 = new Date().getTime();

        // 依次读取图片里的每行数据,放入到ctx中。

        for (let row = 0; row < height; row++) {

            //////////////////////////////////////////////////////////////////////////////////////////////////////////////////

            // DEMO 写法(高性能,兼容性好)

            let srow = height - 1 - row;

            // 从图片的所有数据中,获取一行的图片字节数据

            let oneLineImageData = new Uint8ClampedArray(arrayBuffer, Math.floor(srow * width * 4), rowBytes);

           

            // 设置图片数据对象

            // 设置一个一行的图片,所以就是 width, 1

            let imageData = new ImageData(oneLineImageData, width, 1);

            ctx.putImageData(imageData, 0, row);

        }


自己顶一下

没人鸟啊·····

求大佬看看呀