-
GEF中的图形怎么保存图片?10
我刚刚开始学习GEF,现在想把GEF中的图形保存为图片。搜到的只有八进制的那篇。我参照写的。
public void run() { FileDialog dialog = new FileDialog(workbenchWindow.getShell(), SWT.SAVE); dialog.setFilterNames(new String[] { "PNG(*.png)" }); dialog.setFilterExtensions(new String[] { "*.png", "*.*" }); String fileName = dialog.open(); CodeDiaGraphicalEditor editor = (CodeDiaGraphicalEditor) getPage().getActiveEditor();//这个getPage()不对,不知道该怎么写~~ ScalableFreeformRootEditPart rootPart = (ScalableFreeformRootEditPart) getViewer().getRootEditPart();//这个getViewer()不对,不明白该怎么写~~ IFigure figure = rootPart.getLayer(ScalableFreeformRootEditPart.PRINTABLE_LAYERS); byte[] data = createImage(figure, SWT.IMAGE_PNG); try { FileOutputStream fos = new FileOutputStream(fileName); fos.write(data); fos.close(); MessageDialog.openInformation(editor.getSite().getShell(), "导出", "图形已经导出到 " + fileName); } catch (IOException e) { e.printStackTrace(); } }
下面的是createImage(),我直接抄过来的。
private byte[] createImage(IFigure figure, int format) { Rectangle r = figure.getBounds(); ByteArrayOutputStream result = new ByteArrayOutputStream(); Image image = null; GC gc = null; Graphics g = null; try { image = new Image(null, r.width, r.height); gc = new GC(image); g = new SWTGraphics(gc); g.translate(r.x * -1, r.y * -1); figure.paint(g); ImageLoader imageLoader = new ImageLoader(); imageLoader.data = new ImageData[] { image.getImageData() }; imageLoader.save(result, format); } finally { if (g != null) { g.dispose(); } if (gc != null) { gc.dispose(); } if (image != null) { image.dispose(); } } return result.toByteArray(); }
问题就是第一段的那两句。哎,感觉GEF的资料好难找啊~
各位给解答一下~先谢过了
2010年4月22日 19:50
目前还没有答案
相关推荐
dudu翻译的GEF中文教程,入门最佳资料。附每章代码。
GEF图形编辑框架使用指南,从新手到入门,详细的讲解了如何使用GEF进行图形编辑
这是我自己在学习GEF的时候做的一些总结。 1、GEF中的概念比如Command,Tool,Request等等。 2、GEF中使用到的几种设计模式。 3、GEF中对鼠标键盘事件处理的机制、流程。
GEF: Graphical Editing Framework <br>GEF是一套MVC Framework,它能帮你比较容易的建立图形化的编辑器,V(View)的部分常常是基于SWT的Draw2D,因此Draw2D也看作是GEF的一部分。依赖:org.eclipse.gef***, org...
GEF入门系列,八进制 的GEF入门系列教程, 由社区经作者授权后整理而成GEF(Graphical Editor Framework)是一个图形化编辑框架,它允许开发人员以图形化的方式展示和编辑模型,从而提升用户体验。这样的应用程序有很...
在GEF中property view 页面的实现!介绍了其实现的步骤方法!还结合了实例进行讲解!
一个GEF的例子,例子中展示了利用GEF往画布上添加节点 删除节点,以及树形展现等得荣
GEF入门必读 GEF入门系列 GEF-whole-upload 感谢八进制
GEF入门实例代码2《Eclipse插件开发》中实例
GEF(Graphical Editor Framework)是一个图形化编辑框架,它允许开发人员以图形化的方式展示和编辑模型,从而提升用户体验。这样的应用程序有很多,例如:UML类图编辑器、图形化XML编辑器、界面设计工具以及图形化...
Agenda Start things off What is GEF? GEF Demo Draw2d Overview Example GEF Overview Break Hands-on Activity: Shapes Example
这是我参考了一些其他资料,自己写的一个GEF示例...1. 在你的Eclipse中要有GEF, Draw2d的包 2. 将此压缩包中的eclipse project引入到你的Eclipse环境中 3. 运行这个插件 4. 看到界面后,点击 Tools -- Open GEF Editor
我下的资源的打包,希望有帮助,包括:GEF_Tutorial,GEF实例,入门教程,GEF-whole-upload
RCP GEF 入门教程,从法语班翻译过来的,自认为是比较全面细致的GEF入门教程,配套源码,很有学习价值!!!
GEF简易教程-学习GEF的入门教程,不错的gef入门教程
gef 绘图折线的实现方法。 gef API chm 格式
GEF eclipse 插件
NULL 博文链接:https://ojeta.iteye.com/blog/1485997
RCP与GEF的课件,简单的介绍了RCP和GEF中的各组件的功能,已经工作流程
学习GEF的入门资料,简单地介绍了GEF使用过程中用到的基本类和函数的用法。