【发布时间】:2015-02-21 13:08:58
【问题描述】:
问题来了,
我需要创建一个带有 .svg 文件的图像文件。 我有一个应该绘制 svg 的函数,然后,我从画布中获取它以将其保存为图像文件。
我的绘图功能是:
function drawInlineSVG(ctx, rawSVG, callback) {
var svg = new Blob([rawSVG], {type:"image/svg+xml;charset=utf-8"});
var domURL = self.URL || self.webkitURL || self;
var url = domURL.createObjectURL(svg);
var img = new Image();
img.src = url;
console.log("URL : "+url);
img.onLoad = function () {
console.log("image onload");
ctx.drawImage(this, 0, 0);
domURL.revokeObjectURL(url);
callback(this);
};
}
ctx 是画布 2d 上下文, rawSVG 是 svg 内容 控制台给出一个这样的 url:
blob:http://myWebsite.net/521a72ea-3156-4290-ae16-025a8f8275bc
但是 img ONLOAD 永远不会触发...所以我没有回调并且函数停止。 我不在本地工作,所以问题不在于获取本地文件...
感谢您的帮助!
【问题讨论】:
标签: javascript image canvas blob onload