将GEF图形另存为图像文件(转)
来源:互联网 发布:拼长图软件哪个好 编辑:程序博客网 时间:2024/06/03 09:20
在实际中,有需求将我们在GEF中画的图形保存为标准格式的图像文件.在网上找到了一个这样的方法.
public boolean saveImageFile(GraphicalViewer vierer,String fileName){
//save diagram to image file
//根据root part类型,cast 为对应的RootEditPart
ScalableFreeformRootEditPart rootEditPart = (ScalableFreeformRootEditPart)viewer.getEditPartRegistry().get(LayerManager.ID);
IFigure rootFigure = ((LayerManager)rootEditPart).getLayer(LayerConstants.PRINTABLE_LAYERS);//rootEditPart.getFigure();
//用其它的方式获取到root figure也可以...
Rectangle rootFigureBounds = rootFigure.getBounds();
Control figureCanvas = viewer.getControl();
GC figureCanvasGC = new GC(figureCanvas);
Image img = new Image(null, rootFigureBounds.width, rootFigureBounds.height);
GC imageGC = new GC(img);
imageGC.setBackground(figureCanvasGC.getBackground());
imageGC.setForeground(figureCanvasGC.getForeground());
imageGC.setFont(figureCanvasGC.getFont());
imageGC.setLineStyle(figureCanvasGC.getLineStyle());
imageGC.setLineWidth(figureCanvasGC.getLineWidth());
imageGC.setXORMode(figureCanvasGC.getXORMode());
Graphics imgGraphics = new SWTGraphics(imageGC);
rootFigure.paint(imgGraphics);
ImageData[] imgData = new ImageData[1];
imgData[0] = img.getImageData();
ImageLoader imgLoader = new ImageLoader();
imgLoader.data = imgData;
//具体格式见:FileFormat,4为JPEG类型
imgLoader.save(fileName, 4);
figureCanvasGC.dispose();
imageGC.dispose();
img.dispose();
}
public boolean saveImageFile(GraphicalViewer vierer,String fileName){
//save diagram to image file
//根据root part类型,cast 为对应的RootEditPart
ScalableFreeformRootEditPart rootEditPart = (ScalableFreeformRootEditPart)viewer.getEditPartRegistry().get(LayerManager.ID);
IFigure rootFigure = ((LayerManager)rootEditPart).getLayer(LayerConstants.PRINTABLE_LAYERS);//rootEditPart.getFigure();
//用其它的方式获取到root figure也可以...
Rectangle rootFigureBounds = rootFigure.getBounds();
Control figureCanvas = viewer.getControl();
GC figureCanvasGC = new GC(figureCanvas);
Image img = new Image(null, rootFigureBounds.width, rootFigureBounds.height);
GC imageGC = new GC(img);
imageGC.setBackground(figureCanvasGC.getBackground());
imageGC.setForeground(figureCanvasGC.getForeground());
imageGC.setFont(figureCanvasGC.getFont());
imageGC.setLineStyle(figureCanvasGC.getLineStyle());
imageGC.setLineWidth(figureCanvasGC.getLineWidth());
imageGC.setXORMode(figureCanvasGC.getXORMode());
Graphics imgGraphics = new SWTGraphics(imageGC);
rootFigure.paint(imgGraphics);
ImageData[] imgData = new ImageData[1];
imgData[0] = img.getImageData();
ImageLoader imgLoader = new ImageLoader();
imgLoader.data = imgData;
//具体格式见:FileFormat,4为JPEG类型
imgLoader.save(fileName, 4);
figureCanvasGC.dispose();
imageGC.dispose();
img.dispose();
}
- 将GEF图形另存为图像文件(转)
- GEF图形操作流程
- gef图形显示机制
- GEF图形编辑学习笔记
- GEF实战:图形之IFigure
- GEF实战:图形之基本图形
- GEF实战:图形之常用边框
- Safari将网页另存为pdf
- 将网页另存为pdf格式
- gef
- 将GEF模型显示保存为图片
- 将GEF模型显示保存为图片
- 将GEF模型显示保存为图片
- 将GEF模型显示保存为图片
- 将GEF模型显示保存为图片
- 【转】PNG图像文件介绍
- 将图像文件编译到可执行文件内
- 基于eclipse GEF开发Google GWT矢量图形应用(eclipse GEF on Google GWT)
- 贪吃蛇C实现
- datagrid的连接问题求代码 在线等
- 为什么有人现在知识更新的速度不快?
- 实习见闻(七)
- 请各位朋友赐教!!!!!
- 将GEF图形另存为图像文件(转)
- Jdom
- 有用的国外开源项目网址
- Velocity用户手册
- 对不支持CSS浏览器,如何获得提示信息,使用灵活的ALT属性
- VB显示时间精确到毫秒
- 养生之道,早睡为好
- 教育需要人文理想
- 如何在CSS中实现图片交替效果