I am using copyToImage utility class for extraction of images from DiagramEditPart.When Editor is open then images were extracted as per required but when editor is not open then black model image were extracted.I have one model, which consists many editparts.I have to extract image of whole model and also each editparts.Diagram is input to the copyToImage and copyToConstrainedImage method. Code fragment for Model image Extract:
new CopyToImageUtil().copyToImage(diagram, path,ImageFileFormat.PNG, monitor, null); and code fragment for Each editpart is as follows:
DiagramEditor openedDiagramEditor = DiagramEditorUtil.findOpenedDiagramEditorForID(ViewUtil.getIdStr(diagram));
if (openedDiagramEditor != null) {
DiagramEditPart diagramEP=openedDiagramEditor.getDiagramEditPart();
List editParts=diagramEP.getPrimaryEditParts();
DiagramGenerator generator=null;
for (Object object : editParts) {
if(object instanceof SampleEditPart){
SampleEditPart editPart = (SampleEditPart)object;
IFigure figure = editPart.getFigure();
Rectangle rectangle = figure.getBounds();
maxHeight = rectangle.height;
maxWidth = rectangle.width;
List editPartList = new ArrayList();
editPartList.add(object);
generator = copyToConstrainedImage(diagramEP,
destination.append(name+".png"), editPartList, format, maxWidth, maxHeight, monitor, useMargins);
}
}
and each editparts contains child editparts so I have to generate images for each editpart.and the results are as follows:
Result for open editor and colsed editor as follows:When editor is open then extracted image is visible(first image)![enter image description here][1] but second image is result of extracting image when editor is closed(Black image).
Aucun commentaire:
Enregistrer un commentaire