【发布时间】:2021-07-12 16:40:08
【问题描述】:
<svg id="s1" xmlns="http://www.w3.org/2000/svg" width="400" height="400">
<rect width="100%" height="100%" fill="none" stroke="black" />
<foreignObject x="0" y="0" width="100%" height="100%">
<p style="font-size:200px;text-align:center;">😀</p>
</foreignObject>
</svg>
<canvas id="c1" width="400" height="400"></canvas>
<script>
let img = new Image();
let b64 = "data:image/svg+xml;base64,";
let xml = new XMLSerializer().serializeToString(s1);
b64 += btoa(xml);//InvalidCharacterError: String contains an invalid character
let ctx = c1.getContext("2d");
img.onload = function(){
ctx.drawImage(img, 0, 0);
};
img.src = b64;
</script>
您好,您知道如何使用“????”之类的符号转换 svg在这里画布?
控制台:InvalidCharacterError:字符串包含无效字符
它适用于普通文本,例如“你好”。
谢谢。
【问题讨论】:
-
你想在 SVG 中显示一个图标?
-
不,在画布上,我将编辑文本
标签: javascript html svg canvas symbols