html2 canvas svg不能识别的解决方案


Posted in HTML / CSS onJune 03, 2021

  最新有个功能需要截取网页成图片,于是用到比较流行的html2canvas,本来以为能顺顺利利的搞定,后来发现网页上的流程图连接线不在截图中。于是各种百度、bing,也搜到好多,但是感觉没有一个完整的代码,现在自己解决了,分享下代码。

  首先需要下载canvg.js,github地址:https://github.com/canvg/canvg

function showQRCode() {
                scrollTo(0, 0);
               
                if (typeof html2canvas !== 'undefined') {
                    //以下是对svg的处理
                    var nodesToRecover = [];
                    var nodesToRemove = [];
                    var svgElem = $("#divReport").find('svg');//divReport为需要截取成图片的dom的id
                    svgElem.each(function (index, node) {
                        var parentNode = node.parentNode;
                        var svg = node.outerHTML.trim();

                        var canvas = document.createElement('canvas');
                        canvg(canvas, svg); 
                        if (node.style.position) {
                            canvas.style.position += node.style.position;
                            canvas.style.left += node.style.left;
                            canvas.style.top += node.style.top;
                        }

                        nodesToRecover.push({
                            parent: parentNode,
                            child: node
                        });
                        parentNode.removeChild(node);

                        nodesToRemove.push({
                            parent: parentNode,
                            child: canvas
                        });

                        parentNode.appendChild(canvas);
                    });
                    html2canvas(document.querySelector("#divReport"), {
                        onrendered: function(canvas) {
                            var base64Str =canvas.toDataURL();//base64码,可以转图片

                            //...

                            $('<img>',{src:base64Str}).appendTo($('body'));//直接在原网页显示
                         }                     });                }            }

到此这篇关于html2+canvas svg不能识别的解决方案的文章就介绍到这了,更多相关html2 canvas svg不能识别内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章,希望大家以后多多支持三水点靠木!

 
HTML / CSS 相关文章推荐
使用css3绘制出各种几何图形
Aug 17 HTML / CSS
CSS3结构性伪类选择器九种写法
Apr 18 HTML / CSS
纯CSS3编写的的精美动画进度条(无flash/无图像/无脚本/附源码)
Jan 07 HTML / CSS
实现CSS3中的border-radius(边框圆角)示例代码
Jul 19 HTML / CSS
CSS3 text shadow字体阴影效果
Jan 08 HTML / CSS
纯CSS3绘制打火机动画火焰效果
Jul 18 HTML / CSS
CSS3实现自定义Checkbox特效实例代码
Apr 24 HTML / CSS
canvas粒子动画背景的实现示例
Sep 03 HTML / CSS
Html5 Canvas 实现一个“刮刮乐”游戏
Sep 05 HTML / CSS
HTML5 form标签之解放表单验证、增加文件上传、集成拖放的使用方法
Apr 24 HTML / CSS
基于第一个PhoneGap(cordova)的应用详解
May 03 HTML / CSS
CSS使用Flex和Grid布局实现3D骰子
Aug 05 HTML / CSS
HTML+CSS 实现顶部导航栏菜单制作
Jun 03 #HTML / CSS
CSS极坐标的实例代码
css height属性中的calc方法详解
Jun 03 #HTML / CSS
html+css实现文字折叠特效实例
html+css实现分层金字塔的实例
html+css实现赛博朋克风格按钮
HTML+CSS制作心跳特效的实现
You might like
如何将一个表单同时提交到两个地方处理
2006/10/09 PHP
用PHP获取Google AJAX Search API 数据的代码
2010/03/12 PHP
几道坑人的PHP面试题 试试看看你会不会也中招
2014/08/19 PHP
微信公众平台开发之配置与请求
2015/08/26 PHP
PHP版本的选择5.2.17 5.3.27 5.3.28 5.4 5.5兼容性问题分析
2016/04/04 PHP
php图像处理函数imagecopyresampled用法详解
2016/12/02 PHP
javascript下查找父节点的简单方法
2007/08/13 Javascript
JavaScript随机排序(随即出牌)
2010/09/17 Javascript
javascript关于继承的用法汇总
2014/12/20 Javascript
简介AngularJS的视图功能应用
2015/06/17 Javascript
jquery分析文本里url或邮件地址为真实链接的方法
2015/06/20 Javascript
JavaScript随机打乱数组顺序之随机洗牌算法
2016/08/02 Javascript
Bootstrap 表单验证formValidation 实现远程验证功能
2017/05/17 Javascript
jQuery实现返回顶部按钮和scroll滚动功能[带动画效果]
2017/07/05 jQuery
动态统计当前输入内容的字节、字符数的实例详解
2017/10/27 Javascript
vue-cli常用设置总结
2018/02/24 Javascript
jquery+php后台实现省市区联动功能示例
2019/05/23 jQuery
vue+axios实现post文件下载
2019/09/25 Javascript
Vue使用鼠标在Canvas上绘制矩形
2020/12/24 Vue.js
[02:40]DOTA2英雄基础教程 炼金术士
2013/12/23 DOTA
pytorch cnn 识别手写的字实现自建图片数据
2018/05/20 Python
python实现一个简单的udp通信的示例代码
2019/02/01 Python
python树的同构学习笔记
2019/09/14 Python
python导入不同目录下的自定义模块过程解析
2019/11/18 Python
Tensorflow 自定义loss的情况下初始化部分变量方式
2020/01/06 Python
python numpy--数组的组合和分割实例
2020/02/24 Python
python实现xml转json文件的示例代码
2020/12/30 Python
python爬取youtube视频的示例代码
2021/03/03 Python
小学六年级学生评语
2014/04/22 职场文书
名人演讲稿范文
2014/09/16 职场文书
领导班子对照检查剖析材料
2014/10/13 职场文书
安全生产工作汇报
2014/10/28 职场文书
总账会计岗位职责
2015/04/02 职场文书
宾馆前台接待岗位职责
2015/04/02 职场文书
正规借条模板
2015/05/26 职场文书
教师节座谈会主持词
2015/07/03 职场文书