当使用图表插件生成的SVG(https://wordpress.org/plugins/visualizer/)时,我无法弄清楚如何检索正在生成的SVG图像的源。我曾尝试使用其他SVG的代码完全相同,它的工作原理类似于魅力,但Visualizer插件生成的SVG(出于某种原因)不起作用。有没有办法检查一个SVG是否有有效的源代码? (创建svg到canvas的问题)
onload函数未被触发。
控制台中未显示错误。
没有像在画布上创建
我怀疑是有东西在SVG无效的 - 这使得SVG不是有效的源!?我不确定,但这似乎是一个问题。请告诉我,如果我完全的“歧途”在这里..
的Javascript:
var svgText = document.getElementById("myViewer").outerHTML;
var myCanvas = document.getElementById("canvas");
var ctxt = myCanvas.getContext("2d");
function drawInlineSVG(ctx, rawSVG, callback) {
var svg = new Blob([rawSVG], {type:"image/svg+xml;charset=utf-8"}),
domURL = self.URL || self.webkitURL || self,
url = domURL.createObjectURL(svg),
img = new Image;
img.onload = function() {
//Does not come here...
ctx.drawImage(this, 0, 0);
domURL.revokeObjectURL(url);
callback(this);
};
img.src = url;
}
// usage:
drawInlineSVG(ctxt, svgText, function() {
console.log(canvas.toDataURL()); // -> PNG
alert("see console for output...");
});
为什么downvote? – bestprogrammerintheworld
您似乎已经将数据外包给了解您的问题的关键数据。请在问题本身**中发布所有相关的代码,图像和资源**,如果链接死亡或更改您的问题将失去大部分,如果不是全部含义! –
只是一个疯狂的猜测,但它也可能与你的用户名有关,尽管你的问题不是话题。 [help/on-topic]/[问]/[mcve] –