是否有一个很好的库,用于将SVG转换为支持字体元素的HTML画布?我已经尝试过canvg,但它不支持Font.
为什么我们不能用element.outerHTML
属性获取svg元素的outerHTML ?
这种方式是最好的http://jsfiddle.net/33g8g/获取svg源代码?
我有一个 HTML 页面,我想从内联 svg 创建一个 favicon 并在 HTML 中使用它。如何进行?
这是我目前的尝试:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="icon" type="image/svg+xml" sizes="21x21" href="favicon16.svg">
<title>Document</title>
</head>
<body>
<svg width="100" height="100">
<circle cx="50" cy="50" r="40" stroke="green" stroke-width="4" fill="yellow" />
</svg>
</body>
</html>
Run Code Online (Sandbox Code Playgroud) 我正在使用插件(dom-to-image)从 div 生成 SVG 内容。它返回一个像这样的 dataURL:
data image/xml, charset utf-8, <svg...
Run Code Online (Sandbox Code Playgroud)
如果把这个放在一个<img src
图像上,它会正常显示。
目的是获取此 dataURL,将其转换为 base64,以便我可以将其保存为移动应用程序上的 image.png。
是否可以?
我尝试了这个解决方案/sf/answers/1991561561/ 但无法开始工作。控制台触发有关 dataUrl 的错误
类型错误:无法在“XMLSerializer”上执行“serializeToString”:参数 1 不是“节点”类型。
==== 更新 :: 问题说明/历史 ====
我正在使用 Ionic 框架,所以我的项目是一个移动应用程序。dom-to-image 现在已经开始工作了,它通过toPng函数渲染了一个 PNG 。问题是光栅PNG是模糊的。
所以我想:也许 SVG 的质量会更好。它是!!实际上,它是 100% 完美的。
在 Ionic 上,我使用两步程序来保存图像。得到dom-to-img(base64) dataURL生成的PNG后,我将其转换为Blob,然后保存到设备中。这是有效的,但正如我所说,最终结果是模糊的。
然后使用 SVG 也许它会更“高质量”。
因此,为了对已经在工作的进程进行“最小”更改:DI 只需要将 SVG 转换为 base64 dataURL ....
或者,正如你们中的一些人向我解释的那样,进入其他东西,比如画布......我不太了解:/
===
很抱歉发表这么长的帖子,我真的非常感谢你们的帮助!!