Lienzo 1.0:HTML5 Canvas元素的Java版本场景图API

Emitrom是一家提供企业软件应用定制服务的公司,最近基于Apache 许可证发布了Lienzo 1.0稳定版本。Lienzo是个GWT库,它是以HTML5 Canvas为后端,用Java实现的结构化图形工具包。Lienzo构建在现有的GWT的Canvas支持之上(查看演示),通过提供一套更高级的Java API,以适应丰富动画,游戏,图片处理等。

Lienzo 1.0提供了以下图像功能:

  • 窗口可以有多个图层,这些图层可组合成场景
  • 窗口支持缩放和移动
  • 多个基本图形(圆,线,三角形等)
  • 基本的(旋转,缩放,移动)/高级的/仿真的图形变换
  • CSS 3颜色映射
  • 基本的文本和Web字体支持
  • 图片渲染
  • 图片过滤器(例如,模糊)
  • 点和矢量图形
  • HTML5视频实验支持
  • 将当前Canvas内容另存为图片
  • 鼠标及触摸屏的事件处理
  • 拖放
  • 带有不同渐变选项的动画
  • 国际化支持

有个在线demo展示了几个示例(还有一些动画)以及他们的源码。

Lienzo 1.0:HTML5 Canvas元素的Java版本场景图API_第1张图片

HTML 5中Canvas元素通常在JavaScript中通过一套低级的接口以immediate模式管理GUI。GWT提供的基本Java API只是在JavaScript API之上做了层简单封装,所以对于大多数企业开发人员来说这还是低级的接口。Emitrom将基本API扩展成以retained模式管理的完整场景图。这使得上述所有高级特性成为可能(例如动画)。

还能够扩展Lienzo以支持未包含的其他图形。Emitrom还暴露了核心的Context2D对象,它可直接访问HTML 5 Canvas元素的低级接口。对于那些需要这项能力的人来说,这使得开发Lienzo中默认不具备的功能,甚至从现有的Canvas应用种移植原生的JavaScript代码都成为可能。

最后,通过添加Emitrom提供的额外的库,Lienzo也能在iOS上运行,通过Adobe Air还能够在桌面)上运行,Flash4j的引入进一步增强了跨平台开发的构想。

更多信息,请阅读用户手册以及Javadoc。他们还提供了商业支持。

查看英文原文:Lienzo 1.0: A Scene Graph API In Java For The HTML5 Canvas

你可能感兴趣的:(Lienzo 1.0:HTML5 Canvas元素的Java版本场景图API)