近日 jsFiction 发布了 jsDraw2D ,这是一个 Javascript 程序库,开发者可以用其创建基本的图形(如多边形、圆形、拱形等)、填充图形以及贝塞尔曲线(线性、二次及立体曲线),同时还可以在 div 元素中将坐标系统的默认原点更改为任意点, 也可以选择默认或是笛卡尔坐标系统。凭借 jsDraw2D,开发者还可以设定图形的缩放比例。
目前已经有少量产品使用了 jsDraw2D,而且数量还在不断增加,这些产品可以帮助开发者通过原生的 Javascript 实现各种高级的绘图功能。与很多同类产品一样,jsDraw2D 只能用在某些特定的浏览器上: IE 7、Mozilla Firefox 3、Google Chrome、Opera 9.64 及 Safari 4。浏览器必须支持某些 HTML 5 规范,尤其是 canvas 标签的使用。
曾几何时,在浏览器中绘图可是个老大难的问题。要么学习其他的技术如 Flash 或 Flex(要想运行写好的代码还需要相关的浏览器插件才行),要么利用一些底层工具,如 SVG 或 VML。也有不少人开发出了相应的程序库以简化图形开发。 Walter Zorn 的 DHTML 库就是这样一个 Javascript 矢量图形库,它可以绘制简单的形状和线条。 Raphael 是另一个程序库,它通过 Javascript 封装了 SVG 和 VML 来创建与 DOM 一致的对象。Ortho 也是这样一个程序库,提供了简单的绘图功能,而 jsDraw2D 还提供了其他程序库所不具备的一些高级功能(比如贝塞尔曲线和缩放功能)。
最复杂功能最强劲的 Javascript 绘图程序库当属 Sun 的 Lively Kernel 项目了。Lively Kernel 是 Morphic 的 Javascript 实现,而 Morphic 图形系统最初是为 Self 这门程序设计语言开发的,后来却在 Squeak(Smalltalk)中得到了大量应用。Lively Kernel 包含一些开发工具,这些工具可以在系统内部检查并修改 Javascript 应用,但遗憾的是,Sun 最近终止了该项目,因此我们只能寄希望于开源世界来挽救它了。
jsDraw2D 是 jsFiction 的首个产品,但他们已经计划“创建各种革命性的 Javascript 程序库或应用来帮助 Javascript 开发者、Web 开发者或是 Web 管理员无限延伸 Javascript 的潜能”。jsDraw2D 本身是开源的,基于 LGPL 协议。
评论