public void writeJPEGImage(File file) { int width = vv.getWidth(); int height = vv.getHeight(); BufferedImage bi = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB); Graphics2D graphics = bi.createGraphics(); vv.paint(graphics); graphics.dispose(); try { ImageIO.write(bi, "jpeg", file); } catch (Exception e) { e.printStackTrace(); } }
public void writeJPEGImage(File file) { int width = vv.getWidth(); int height = vv.getHeight(); BufferedImage bi = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB); Graphics2D graphics = bi.createGraphics(); vv.paint(graphics); graphics.dispose(); try { ImageIO.write(bi, "jpeg", file); } catch (Exception e) { e.printStackTrace(); } }
/** * copy the visible part of the graph to a file as a jpeg image * * @param file the file in which to save the graph image */ public void writeJPEGImage(File file) { int width = vv.getWidth(); int height = vv.getHeight(); BufferedImage bi = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB); Graphics2D graphics = bi.createGraphics(); vv.paint(graphics); graphics.dispose(); try { ImageIO.write(bi, "jpeg", file); } catch (Exception e) { e.printStackTrace(); } }
/** * copy the visible part of the graph to a file as a jpeg image * @param file the file in which to save the graph image */ public void writeJPEGImage(File file) { int width = vv.getWidth(); int height = vv.getHeight(); BufferedImage bi = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB); Graphics2D graphics = bi.createGraphics(); vv.paint(graphics); graphics.dispose(); try { ImageIO.write(bi, "jpeg", file); } catch (Exception e) { e.printStackTrace(); } }
/** * Scales current viewer by given factor * * @param scaleResolution */ private void scaleViewer(float scaleResolution) { // save old size width = visviewer.getWidth(); height = visviewer.getHeight(); // only scale when required if (scaleResolution != 1) { // this is for image scaling int newWidth = Math.round(width * scaleResolution); int newHeight = Math.round(height * scaleResolution); // set new size visviewer.setSize(newWidth, newHeight); visviewer.setDoubleBuffered(false); center(); } }
/** * Centres all nodes to the available window */ @Override public void center() { VisualizationViewer<ONDEXConcept, ONDEXRelation> vv = this.getVisualizationViewer(); // reset scaling for predictive behaviour vv.getRenderContext().getMultiLayerTransformer().getTransformer(Layer.LAYOUT).setToIdentity(); vv.getRenderContext().getMultiLayerTransformer().getTransformer(Layer.VIEW).setToIdentity(); // place layout center in center of the view Point2D[] calc = calcBounds(); Point2D min = calc[0]; Point2D max = calc[1]; if (min == null || max == null) { return; // nothing to center on } Point2D screen_center = vv.getCenter(); Point2D layout_bounds = new Point2D.Double(max.getX() - min.getX(), max.getY() - min.getY()); Point2D layout_center = new Point2D.Double(screen_center.getX() - (layout_bounds.getX() / 2) - min.getX(), screen_center.getY() - (layout_bounds.getY() / 2) - min.getY()); vv.getRenderContext().getMultiLayerTransformer().getTransformer(Layer.VIEW).translate(layout_center.getX(), layout_center.getY()); // scale graph Point2D scale_bounds = new Point2D.Double(vv.getWidth() / layout_bounds.getX(), vv.getHeight() / layout_bounds.getY()); float scale = (float) Math.min(scale_bounds.getX(), scale_bounds.getY()); scale = 0.95f * scale; OVTK2GraphMouse mouse = (OVTK2GraphMouse) vv.getGraphMouse(); mouse.getScaler().scale(vv, scale, vv.getCenter()); }
/** * Centres all nodes to the available window */ public void center() { // reset scaling for predictive behaviour visviewer.getRenderContext().getMultiLayerTransformer().getTransformer(Layer.LAYOUT).setToIdentity(); visviewer.getRenderContext().getMultiLayerTransformer().getTransformer(Layer.VIEW).setToIdentity(); // place layout center in center of the view Point2D[] calc = calcBounds(); Point2D min = calc[0]; Point2D max = calc[1]; if (min == null || max == null) { return; // nothing to center on } Point2D screen_center = visviewer.getCenter(); Point2D layout_bounds = new Point2D.Double(max.getX() - min.getX(), max.getY() - min.getY()); Point2D layout_center = new Point2D.Double(screen_center.getX() - (layout_bounds.getX() / 2) - min.getX(), screen_center.getY() - (layout_bounds.getY() / 2) - min.getY()); visviewer.getRenderContext().getMultiLayerTransformer().getTransformer(Layer.VIEW).translate(layout_center.getX(), layout_center.getY()); // scale graph if (visviewer.getGraphMouse() instanceof OVTK2GraphMouse) { Point2D scale_bounds = new Point2D.Double(visviewer.getWidth() / layout_bounds.getX(), visviewer.getHeight() / layout_bounds.getY()); float scale = (float) Math.min(scale_bounds.getX(), scale_bounds.getY()); scale = 0.95f * scale; OVTK2GraphMouse mouse = (OVTK2GraphMouse) visviewer.getGraphMouse(); mouse.getScaler().scale(visviewer, scale, visviewer.getCenter()); } }
vv.getRenderContext().getMultiLayerTransformer().getTransformer(Layer.VIEW).translate(layout_center.getX(), layout_center.getY()); Point2D scale_bounds = new Point2D.Double(vv.getWidth() / layout_bounds.getX(), vv.getHeight() / layout_bounds.getY()); float scale = (float) Math.min(scale_bounds.getX(), scale_bounds.getY()); scale = 0.92f * scale;
int height = viz.getHeight() / 2; viz.getGraphLayout().setLocation(concept, new Point2D.Float(width, height));
EpsGraphics g = new EpsGraphics("ONDEX_EPS_Graph_Export", fos, 0, 0, visviewer.getWidth(), visviewer.getHeight(), ColorMode.COLOR_CMYK); g.setAccurateTextMode(true); bi = new BufferedImage(visviewer.getWidth(), visviewer.getHeight(), BufferedImage.TYPE_3BYTE_BGR); else if (format.equalsIgnoreCase("png")) bi = new BufferedImage(visviewer.getWidth(), visviewer.getHeight(), BufferedImage.TYPE_INT_ARGB); else bi = new BufferedImage(visviewer.getWidth(), visviewer.getHeight(), BufferedImage.TYPE_INT_RGB);
@Override public void paint(final Graphics g) { final GradientPaint paint = new GradientPaint(0, 0, WidgetUtils.BG_COLOR_BRIGHTEST, 0, visualizationViewer.getHeight(), WidgetUtils.BG_COLOR_BRIGHTEST); if (g instanceof Graphics2D) { final Graphics2D g2d = (Graphics2D) g; g.setColor(WidgetUtils.BG_COLOR_BRIGHT); g.fillRect(0, 0, visualizationViewer.getWidth(), visualizationViewer.getHeight());
/** * Invoked when the component's size changes. * * @param e */ @Override public void componentResized(ComponentEvent e) { super.componentResized(e); VisualizationViewer vv = (VisualizationViewer) e.getComponent(); VisualizationModel model = vv.getModel(); LayoutModel layoutModel = model.getLayoutModel(); layoutModel.setSize(vv.getWidth(), vv.getHeight()); layoutModel.accept(model.getLayoutAlgorithm()); } });