网页截图,html2canvas简单示例

 

复制代码
<div id="box">
        <p>asd4a5s6fa6s5f1asf</p>
        <img style="width:200px" src="xxxxxx.png" />
        <button style="width:100px;height:30px" onclick="prtsc()">prtsc</button>

    </div>
    <script src="https://cdn.bootcdn.net/ajax/libs/html2canvas/1.4.1/html2canvas.js"></script>
    <script>
        function prtsc() {
            html2canvas(document.getElementById('box'), {
                allowTaint: true,
                useCORS: true,
            }).then(canvas => {
dataURL = canvas.toDataURL("image/png");
var img = new Image();
img.src = dataURL;

img.onload = function () {
document.getElementById('box').after(img);

}

            });
        }
    </script>
复制代码

图片需要在后端配置允许跨域,否则不会显示

或者可以将图像src转为base64,可以解决一部分跨域问题

复制代码
   $(function () {
            $("img").each(function () {
                var imgDOM = $(this);

                var img = new Image();
                var canvas = document.createElement('canvas');
                var ctx = canvas.getContext('2d');
                img.setAttribute('crossOrigin', 'anonymous')
                img.crossOrigin = '';
                img.src = $('#img').attr('src');
                img.onload = function () {
                    canvas.height = img.height;
                    canvas.width = img.width;
                    ctx.drawImage(img, 0, 0);
                    var dataURL = canvas.toDataURL('image/png');
                    imgDOM.attr('src', dataURL);
                    canvas = null;
                }
            })
        })
复制代码

 

posted @   奇迹之耀  阅读(62)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 25岁的心里话
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示