【发布时间】:2017-12-11 10:07:01
【问题描述】:
我正在尝试将 svg 转换为图像格式。实际上很多工作都很好,我知道如何从 SVG 转换为画布,从画布转换为 img。我的问题是 svg 使用已包含在 css 文件中的 css,并且通过转换为画布,样式将丢失。
有人知道如何将样式复制到我的 svg 或画布中吗?
这是我的代码:https://jsfiddle.net/DaWa/70w9db1d/
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<title>SVG2IMG</title>
<link rel="stylesheet" href="./circle.css">
</head>
<body>
<svg width="100" height="100">
<circle cx="50" cy="50" r="40"/>
</svg>
<script>
var svg = document.querySelector('svg');
let xml = new XMLSerializer().serializeToString(svg);
let data = "data:image/svg+xml;base64," + btoa(xml);
let img = new Image();
img.src = data;
document.body.appendChild(img)
</script>
</body>
</html>
还有我的 CSS:
circle {
fill:red
}
【问题讨论】:
-
@JGFMK 该链接页面对 OP 的问题没有帮助。
标签: javascript html css canvas svg