浏览 6368 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2009-05-17
最后修改:2009-05-18
最近对一些在线应用(乘着云计算的忽悠风)很感兴趣,特别是在线的图形处理,于是稍稍学习了一点canvas开发。
有了cavas元素,浏览器就可以原生支持矢量绘图——当然还是以相当底层的方式。不过简陋一点没关系,仅凭写进HTML5标准这一点,就足够让它脱颖而出,受到热烈追捧了;以至于出现了专门基于canvas的游戏库:GameJS,在它上面至少可以流畅地运行俄罗斯方块。
不幸的是,不是所有主流浏览器都能完整支持canvas。Chrome 2.0+貌似实现得不错。Firefox就差强人意,到3.0版也只实现了个七七八八。IE就更不用说了,它甚至根本就没打算支持(嗯,微软的发言人确实说过他们会考虑的);不过,google code上有一个基于VML的canvas实现:explorercanvas,可以给IE“安上”这个标准;性能据说不错,某些情况下,甚至还超过了chrome和firefox的原生支持。Opera和Safari没用过,不知实现效果如何。
现在回到正题,在cavas中绘制文本——这个很基本的功能却被许多浏览器初期实现自动忽略了。于是大家八仙过海,各显神通地来克服这个困难。有篇blog(Rendering text with <canvas>)专门总结了4种自行绘制文本的方法:
这样看来竟然没有什么好办法了——其实也没那么悲观,答案就是。。。直接用浏览器的标准实现。有人该说这不废话嘛,浏览器要实现了,你前面还罗哩罗嗦说一堆干嘛。呵呵,问题是这世界变化快啊,目前不支持,不表示将来也不支持啊,而且它们的支持是有铁证的:
BTW: canvas的应用还不够成熟,到现在甚至都没有一个像样API文档。
声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |