javascript - Canvas drawImage 内联 svg 在 Firefox 上不起作用

标签 javascript firefox canvas svg

这是一个将 svg 转换为 Canvas 的示例:http://jsfiddle.net/Na6X5/944/

var can = document.getElementById('canvas1');
var ctx = can.getContext('2d');

var svg = document.getElementById('mySVG');

var img = new Image();
img.onload = function() {
console.log(img.width, img.height)
document.getElementById('canvas1').width = 300
document.getElementById('canvas1').height = 200
ctx.drawImage(img, 0, 0, 300, 200);
}
img.src = "data:image/svg+xml," + encodeURIComponent(svg.outerHTML)

这在 Chrome(51.0) 上运行良好。但在 Firefox(47.0.1) 上生成一个空 Canvas ,没有错误。

此示例适用于 Firefox http://codepen.io/keithwyland/pen/umova但是将图像的 src 更改为内联 svg 会产生上面列出的问题 http://codepen.io/Ewhite613/pen/YWZoGy

最佳答案

SVG 图像数据必须具有不是百分比的宽度和高度属性。

关于javascript - Canvas drawImage 内联 svg 在 Firefox 上不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38106906/

相关文章:

javascript - 如何通过angularjs实现这个动画?

CSS:Firefox 中消失的边距

javascript - <html5> 围绕圆画三 Angular 形

javascript - 绘制多边形 FabricJS 2.0

javascript - 一次上传照片

javascript - Now.js 模块不工作(找不到 Node 路径)

将 div 定位到光标位置的 Javascript 偏移量

html - Firefox 不接受 CSS

sql - 创建一个 shell 脚本来修改和/或在 firefox 中创建书签

javascript - 是否可以将 GIF 添加到打开图层 3 map ?