eclipse插件:让 Eclipse 插件程序具有 2维作图能力(1)

  大多数 Java 开发人员同意 Swing/AWT 只有个方面强于 Eclipse 平台标准窗口小部件工具箱(Standard Widget Toolkit)这就是 Java 2D直到现在仍然没有容易思路方法将 Java 2D 快捷性能和 SWT 用户界面组件更强可移植性、功能和性能集成到但是这点就会改变了这本文中向大家展示了在 SWT 组件和 Draw2D 图形中绘制 2维图像有多容易

  SWT (标准窗口小部件工具箱Standard Widget Toolkit)是在 Eclipse 平台上使用窗口小部件工具箱它也可以作为 Swing/AWT 个重要替代产品用于构建任何类型 Java GUI 应用随着 Eclipse 平台在过去两年里日趋流行SWT 已经进入大家视线并且最近它已经开始在些应用中取代 Swing/AWTSWT 流行源自这样个事实:它是跨平台工具箱利用了窗口小部件本性并有个和 Swing 及其他现代工具箱同样强大功能使用 SWT就不用在可移植性、功能和性能的间做取舍了

  事实上Swing/AWT 只在个方面明显强于 SWT这就是 Java 2DJava 2D 是个强大 API是在 JDK 1.2 中引入它使 Java 开发人员在 AWT 组件上绘制时可以使用复杂 2维变换(平移、旋转、缩放、错切等)不幸Java 2D 设计为只在 AWT 或者 Swing 工具箱上使用而 SWT 还没有提供这种扩展 2维能力因此许多开发人员发现他们必须选择是在 Java 平台上使用 Java 2D 还是放弃它令人兴奋功能而使用 SWT

  不过在本文中您将了解到如何同时拥有这两方面好处我将展示个简单技术利用该技术可以在 SWT 组件和 Draw2D 图像上绘制 Java 2D 图像为了理解这个例子读者应当熟悉 Java 2D、AWT 和 SWT具有些 Eclipse 平台 GEF(图形编辑框架Graphical Editing Framework)经验也是有帮助

  屏外图像技术

  本文展示种简单技术利用该技术您可以用 Java 2D 功能在任何 SWT 窗口小部件或者 Draw2D 图像上绘制为了弥补 SWT 上缺少 Java 2D 不足个屏外(offscreen)AWT 图像接收 Java 2D 绘制操作并将它们转换为独立于工具箱像素值再用另个由 SWT 工具箱创建 屏外图像将这些像素信息绘制在任何 SWT 组件上图 1 显示了 AWT 屏外图像转换为 SWT 图像再绘制在 SWT 窗口小部件上过程

  图 2. 从 AWT 图像中提取像素值 在这种情况下不使用任何 off这意味着第个像素将保存在缓冲区索引 0 位置scansize 值取要提取区域宽度这意味着提取行中个像素会接着前最后个像素缓冲区位置使用这些参数整数缓冲区就定会足够大可以包含 w*h 个整数当每个像素颜色信息都存储到了个整数简单缓冲区后就可以将这些信息传输到 SWT 屏外图像中



Tags:  eclipsesvn插件 eclipsetomcat插件 eclipse插件安装 eclipse插件

延伸阅读

最新评论

发表评论