应用缩略图制作图例--thumbnail

      GEF--Draw2D 2005-9-1 21:43
应用缩略图制作图例--thumbnail
    有时我们需要在一个表格中动态看到每个文件的图像样式,就像windows中单击图像文件时,显示的图形样式,这里是采用thumbnail。在这之前曾经用Image,绘制出来图形,但是出现的图形不清晰,这回thumbnail将问题解决了。
    下面是部分代码:

private void loadPicture(Long selectedId) {
	if(thumbnail !=null) {
		thumbnail.deactivate();
		thumbnail=null;
	}
	Dev_tem d=(Dev_tem) dm.findByID(Dev_tem.class,selectedId);
	ByteArrayInputStream bais = new ByteArrayInputStream(d.getTpl());
	try {
		ObjectInputStream ois = new ObjectInputStream(bais);
		TrmsContainer tc =(TrmsContainer) ois.readObject();
		GraphicalViewer viewer = new ScrollingGraphicalViewer();
                     viewer.createControl(overview);
                     viewer.setEditDomain(new DefaultEditDomain(null));

                     viewer.setRootEditPart(new ScalableFreeformRootEditPart());
                     viewer.setEditPartFactory(new com.jctx.trms.edit.GraphicalPartFactory());
                     viewer.setContents(tc);
                     viewer.flush();

                     ScalableFreeformRootEditPart root = (ScalableFreeformRootEditPart) viewer.getRootEditPart();//可滚动根编辑部
		thumbnail = new ScrollableThumbnail((Viewport) root.getFigure());//可滚动摁钉
		thumbnail.setBorder(new MarginBorder(3));//设置摁钉边框
		thumbnail.setSource(root.getLayer(LayerConstants.PRINTABLE_LAYERS));
		lws.setContents(thumbnail);//缩略图
	} catch (IOException e) {
		// TODO Auto-generated catch block
		e.printStackTrace();
	} catch (ClassNotFoundException e) {
		// TODO Auto-generated catch block
		e.printStackTrace();
	}

}

    这部分代码可能不是太好懂,里面涉及到了部分业务名词,这一段时间没有充足的时间单独建立一个项目,专门用来做例子。大家只好将就着先看着。等过一段时间我会把这些东西统一的再整理的。
标签集:TAGS:
回复Comments() 点击Count()

回复Comments

{commenttime}{commentauthor}

{CommentUrl}
{commentcontent}