public ExportImage(ViewCanvas<E> view2d) {
super(view2d.getEventManager(), null);
this.view2d = view2d;
this.imageLayer.removeEventListener(imageLayer.getDisplayOpManager());
setFont(FontTools.getFont8());
this.infoLayer = view2d.getInfoLayer().getLayerCopy(this);
infoLayer.setVisible(view2d.getInfoLayer().getVisible());
infoLayer.setShowBottomScale(false);
infoLayer.setDisplayPreferencesValue(LayerAnnotation.PIXEL, false);
infoLayer.setDisplayPreferencesValue(LayerAnnotation.PRELOADING_BAR, false);
SimpleOpManager operations = imageLayer.getDisplayOpManager();
for (ImageOpNode op : view2d.getImageLayer().getDisplayOpManager().getOperations()) {
operations.addImageOperationAction(op.copy());
}
view2d.copyActionWState(actionsInView);
setPreferredSize(new Dimension(1024, 1024));
ViewModel model = view2d.getViewModel();
Rectangle2D canvas =
new Rectangle2D.Double(0, 0, view2d.getJComponent().getWidth(), view2d.getJComponent().getHeight());
actionsInView.put("origin.image.bound", canvas);
actionsInView.put("origin.zoom", view2d.getActionValue(ActionW.ZOOM.cmd()));
actionsInView.put("origin.center.offset", new Point2D.Double(model.getModelOffsetX(), model.getModelOffsetY()));
this.series = view2d.getSeries();
setImage(view2d.getImage());
}