5
我基本上想要将我的SVG转换为PNG图像。因此,我将SVG转换为SVG图像,并尝试在画布上绘制该图像,以便通过toDataURL()方法将其作为PNG获取。这在Chrome中运行良好,但在Firefox中它产生了一个非常不明显的错误:NS_ERROR_NOT_AVAILABLE在Firefox的画布上下文对象上使用svg调用drawImage()的问题
经过搜索和试验一下,我尝试了一个不同的SVG源,并突然一切工作正常。任何想法可能导致该方法对第一个SVG字符串正常工作,但第二个失败?我怎样才能改变我的SVG,以便它可以工作?
小提琴:http://jsfiddle.net/3AXwb/
var image = new Image();
image.src = 'data:image/svg+xml,' + escape(xml);
image.onload = function() {
var canvas = document.createElement('canvas');
canvas.width = image.width;
canvas.height = image.height;
var context = canvas.getContext('2d');
document.getElementById('container').appendChild(canvas);
context.drawImage(image, 0, 0);
}
没有怪胎的样子......:D非常感谢!我搜索了几个小时,最后它是一个愚蠢的宽度属性......你为我节省了更多宝贵的时间,男人。对不起,我不能upvote呢...... – xJREB
谢谢!这是令人难以置信的:D – LorDex