濮阳杆衣贸易有限公司

主頁 > 知識(shí)庫 > html2 canvas svg不能識(shí)別的解決方案

html2 canvas svg不能識(shí)別的解決方案

熱門標(biāo)簽:中國(guó)地圖標(biāo)注城市的 通遼地圖標(biāo)注app 地圖標(biāo)注沿海城市房?jī)r(jià) 地圖標(biāo)注員工作內(nèi)容 威海語音外呼系統(tǒng)平臺(tái) 智能語音電銷機(jī)器人客戶端 江西ai電銷機(jī)器人如何 西安金倫外呼系統(tǒng) 高德地圖標(biāo)注廁所

  最新有個(gè)功能需要截取網(wǎng)頁成圖片,于是用到比較流行的html2canvas,本來以為能順順利利的搞定,后來發(fā)現(xiàn)網(wǎng)頁上的流程圖連接線不在截圖中。于是各種百度、bing,也搜到好多,但是感覺沒有一個(gè)完整的代碼,現(xiàn)在自己解決了,分享下代碼。

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

function showQRCode() {
                scrollTo(0, 0);
               
                if (typeof html2canvas !== 'undefined') {
                    //以下是對(duì)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碼,可以轉(zhuǎn)圖片

                            //...

                            $('<img>',{src:base64Str}).appendTo($('body'));//直接在原網(wǎng)頁顯示
                         }                     });                }            }

到此這篇關(guān)于html2+canvas svg不能識(shí)別的解決方案的文章就介紹到這了,更多相關(guān)html2 canvas svg不能識(shí)別內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持腳本之家!

標(biāo)簽:河池 北海 崇左 營(yíng)口 青海 阜陽 晉中 眉山

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《html2 canvas svg不能識(shí)別的解決方案》,本文關(guān)鍵詞  html2,canvas,svg,不,能識(shí),別的,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《html2 canvas svg不能識(shí)別的解決方案》相關(guān)的同類信息!
  • 本頁收集關(guān)于html2 canvas svg不能識(shí)別的解決方案的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    大庆市| 桂平市| 莆田市| 苏尼特右旗| 沈丘县| 改则县| 泸定县| 安岳县| 东至县| 小金县| 萝北县| 息烽县| 嵊州市| 越西县| 普定县| 淮北市| 边坝县| 文成县| 巩留县| 富蕴县| 新沂市| 屏东市| 曲阜市| 利川市| 牡丹江市| 日喀则市| 龙岩市| 翁源县| 永丰县| 镇平县| 通州区| 翁源县| 金川县| 武隆县| 柳河县| 苗栗市| 东乌珠穆沁旗| 全椒县| 兴山县| 苗栗市| 农安县|