我正在尝试将画布导出到svg中。但是toDataURL函数返回的数据为“ data:image / png; base64 ...”
我不想使用复杂的功能/库。
如果有人也可以对其进行修改,我正在使用以下内容,这对我有帮助
var dataURL=canvas.toDataURL('image/svg+xml');
if (navigator.userAgent.indexOf("Safari") > -1 &&
navigator.userAgent.indexOf("Chrome") === -1) {
console.log(dataURL);
window.open(dataURL);
} else {
var parts = dataURL.split(';base64,');
var contentType = parts[0].split(":")[1];
var raw = window.atob(parts[1]);
var rawLength = raw.length;
var uInt8Array = new Uint8Array(rawLength);
console.log(uInt8Array);
for (var i = 0; i < rawLength; ++i) {
uInt8Array[i] = raw.charCodeAt(i);
}
var blob = new Blob([uInt8Array], {type: "image/svg+xml;charset=utf-8"});
var url = window.URL.createObjectURL(blob);
var a = document.createElement("a");
a.style = "display: none";
a.href = url;
a.download = orientation +".svg";
document.body.appendChild(a);
a.click();
window.URL.revokeObjectURL(url);