软件开发|编程技术|编程代码|编程入门先学什么—程序设计语言

在HTML5画布上绘制支持字体元素的SVG

收集整理的这篇文章主要介绍了在HTML5画布上绘制支持字体元素的SVG,小编觉得挺不错的,现在分享给大家,也给大家做个参考。
有没有一个很好的库将SVG转换为支持字体元素的HTML画布?我已经尝试了 canvg,但它不支持Font。

解决方法

支持HTML5 Canvas的浏览器本身也支持SVG。因此,您可以这样做:
var img = new Image;img.onload = function(){ myCanvasContext.drawImage(img,0); };img.src = "foo.svg";

这种技术的唯一缺点是,如果SVG在您的域外,则画布将被污染;您将无法使用getImageData()来读取生成的SVG,如果这是您的目标。

我把这个技术的例子放在我的服务器上:http://phrogz.net/tmp/canvas_from_svg.html
我已经测试了这一点,并验证它在IE9,Chrome v11b,Safari v5和Firefox v4上的工作原理(看起来一样)。

[编辑]请注意:

Chrome浏览器和Firefox目前在安全性方面“平庸”,并且在将任何SVG绘制到画布上后(不论域名),都不允许您阅读画布(例如getImageData()或toDataURL())these have been fixed Firefox目前有一个错误,它拒绝将SVG绘制到画布上,除非SVG指定了height和width属性。

总结

以上是为你收集整理的在HTML5画布上绘制支持字体元素的SVG全部内容,希望文章能够帮你解决在HTML5画布上绘制支持字体元素的SVG所遇到的程序开发问题。