【问题标题】:html2canvas(document.body) generates error - "Error loading image"html2canvas(document.body) 生成错误 - “加载图像时出错”
【发布时间】:2020-01-03 19:53:18
【问题描述】:

我正在尝试使用 html2canvas 截屏,但出现错误“加载图像时出错”。

我的代码相当简单 -

 function SaveScreenshot() {
            html2canvas(document.body).then(canvas => {

                var image = canvas.toDataURL('image/webp');

                try {
                    localStorage.setItem("img1", image);
                }
                catch (e) {
                    console.log("Storage failed: " + e);
                }

            });
            return false;
        }

你可以自己试试。转到-https://bengurion.azurewebsites.net/gallerynew 使用相机按钮拍摄网络摄像头(或者不拍摄。这并不重要)。 按下汉堡按钮进入菜单。 转到图库按钮(看起来像 4 张图片,里面有人物)。

这是调用函数的按钮。

请帮忙。

【问题讨论】:

    标签: javascript asp.net html2canvas


    【解决方案1】:

    我不太清楚你为什么使用 'image/webp' MIME 类型,但它仅受 chrome 支持。我认为你可以尝试这样的事情。很常见的屏幕截图方式。

     function SaveScreenshot() {
                html2canvas(document.body).then(canvas => {
    
                    const base64Image = canvas.toDataURL('image/jpeg', 1);
    
                    try {
                        localStorage.setItem("img1", base64Image);
                    }
                    catch (e) {
                        console.log("Storage failed: " + e);
                    }
    
                });
                return false;
            }
    

    【讨论】:

    • 看来我的错误发生在将图像保存为 webp 之前。我尝试删除“then”函数中的所有内容,但错误仍然发生。
    • 我该死。根本不保存图像仍然会产生问题,但使用您的代码保存它是可行的。非常感谢!
    猜你喜欢
    • 2022-07-22
    • 2022-01-26
    • 1970-01-01
    • 2014-05-13
    • 2013-11-02
    • 2019-01-17
    • 1970-01-01
    • 2023-02-11
    • 1970-01-01
    相关资源
    最近更新 更多