gpt4 book ai didi

javascript - 如何为特定的 div 应用 canvg() 函数?

转载 作者:数据小太阳 更新时间:2023-10-29 03:50:35 26 4
gpt4 key购买 nike

我正在使用 canvg() 函数将 svg 转换为 canvas。如果我们直接在 onload 上使用 canvg(),它会将所有 svg 转换为 canvas。我想转换与特定 div 相关的 svg

HTML

<div id="notapply">
<svg><text x="50" y="50">Not to Apply!</text></svg>
</div>

<div id="apply">
<svg width="100" height="100">
<circle cx="50" cy="50" r="40" stroke="green" stroke-width="4" fill="yellow" />
</svg>
</div>

脚本

canvg();

这里应该转换 svgdiv 相关,它有 id=apply

Fiddle demo here

最佳答案

我在canvg本身的源代码中找到了你问题的答案:canvg

您需要更改查询选择器以从您的 div 中选择 SVG:

// Your selector here
var svgTags = document.querySelectorAll('#apply svg');

// Process SVG tags
for (var i=0; i<svgTags.length; i++) {
var svgTag = svgTags[i];
var c = document.createElement('canvas');
c.width = svgTag.clientWidth;
c.height = svgTag.clientHeight;
svgTag.parentNode.insertBefore(c, svgTag);
svgTag.parentNode.removeChild(svgTag);
var div = document.createElement('div');
div.appendChild(svgTag);
canvg(c, div.innerHTML);
}

这是您修改的示例:http://jsfiddle.net/ischenkodv/L3hondLn/135/

关于javascript - 如何为特定的 div 应用 canvg() 函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32355767/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com