应用缩略图制作图例--thumbnail
有时我们需要在一个表格中动态看到每个文件的图像样式,就像windows中单击图像文件时,显示的图形样式,这里是采用thumbnail。在这之前曾经用Image,绘制出来图形,但是出现的图形不清晰,这回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();
}
} |
这部分代码可能不是太好懂,里面涉及到了部分业务名词,这一段时间没有充足的时间单独建立一个项目,专门用来做例子。大家只好将就着先看着。等过一段时间我会把这些东西统一的再整理的。
回复Comments
{commenttime}{commentauthor}
{CommentUrl}
{commentcontent}