在一个GEF的编辑器中,编辑器上是一个个的Figure,从外观上看,其实也是一张张的图片。那么如果能实现一个功能,把任意选择的几个Figure,能粘贴到例如Windows的画图工具,或者是Word里,直接就变成一张图片,那是多美的一件事啊。如下所示:
直接把GEFEditor中的任意选中图元作为图片复制出来。我们就需要做一些事情,我一开始的思路是把一个个图元作为一个图片来对待,然后粘贴的时候把选中图元的图片复制出来。不过这样碰到的一个问题就是:上下层相叠加的图片显示的叠加效果可能刚好相反。
后面就改了一下,把整个Editor的GraphicalViewer区域做为一个图片来处理,当进行粘贴的时候,把所以选中对象的位置和大小记录下来。这个就简单多了。这就是一般的思路。
具体怎么转变成一个图片呢?如果自己写过自定义的Figure就会知道,每个Figure都是通过一堆的paint*()方法来实现的,其中最顶层的就是paint(Graphics)方法。所以要想得到这个图元对象的图片就不难了,我们只要定义一个Image对象,利用这个对象,构造出一个Graphics对象,然后在这个对象上调用paint(Graphics)方法就成了。
得到了GraphicalViewer对象的图片对,那些选中对象的位置和大小信息就有用了。只要把相应的这些信息区域的图形信息取出来,一堆分离的图形就完成了,最后再合成一下,就OK了。
具体实现,大家可以自己试试!
- 大小: 19.1 KB
- 大小: 22.9 KB
分享到:
相关推荐
NULL 博文链接:https://wenzibenben.iteye.com/blog/1311056
在GEF中property view 页面的实现!介绍了其实现的步骤方法!还结合了实例进行讲解!
gef 绘图折线的实现方法。 gef API chm 格式
dudu翻译的GEF中文教程,入门最佳资料。附每章代码。
NULL 博文链接:https://yutianapple.iteye.com/blog/655732
基于GEF框架的SVG制作工具设计与实现
这是我自己在学习GEF的时候做的一些总结。 1、GEF中的概念比如Command,Tool,Request等等。 2、GEF中使用到的几种设计模式。 3、GEF中对鼠标键盘事件处理的机制、流程。
GEF入门必读 GEF入门系列 GEF-whole-upload 感谢八进制
GEF入门实例代码2《Eclipse插件开发》中实例
gef开发实例 gef开发的好例子,比较简单的实现了MVC的架构
这是我参考了一些其他资料,自己写的一个GEF示例...1. 在你的Eclipse中要有GEF, Draw2d的包 2. 将此压缩包中的eclipse project引入到你的Eclipse环境中 3. 运行这个插件 4. 看到界面后,点击 Tools -- Open GEF Editor
RCP GEF 入门教程,从法语班翻译过来的,自认为是比较全面细致的GEF入门教程,配套源码,很有学习价值!!!
我下的资源的打包,希望有帮助,包括:GEF_Tutorial,GEF实例,入门教程,GEF-whole-upload
GEF eclipse 插件
实现gef模型连线间锚点的定位实现鼠标位置定位,就是鼠标在哪里,他的锚点就会在哪里!
GEF简易教程-学习GEF的入门教程,不错的gef入门教程
GEF: Graphical Editing Framework <br>...Draw2D应用为GEF的View,但又不仅仅限于此。依赖:org.eclipse.draw2d*** 本软件GEF-ALL-3.2.2完整版包含(Draw2D, GEF and Zest) 大小:6.6M 请用于Eclipse3.2.2环境下.
RCP与GEF的课件,简单的介绍了RCP和GEF中的各组件的功能,已经工作流程
GEF_Demo_Code20170307,用adapter扩展点实现属性页配置;在ViewPart中(不是editor)使用GEF框架;