/** * A handler for the export to JPEG option in the context menu. */ private void handleExportToJPEG() { FileChooser chooser = new FileChooser(); chooser.setTitle("Export to JPEG"); FileChooser.ExtensionFilter filter = new FileChooser.ExtensionFilter("JPEG", "jpg"); chooser.getExtensionFilters().add(filter); File file = chooser.showSaveDialog(getScene().getWindow()); if (file != null) { try { ExportUtils.writeAsJPEG(this.canvas.getChart(), (int) getWidth(), (int) getHeight(), file); } catch (IOException ex) { // FIXME: show a dialog with the error throw new RuntimeException(ex); } } }
/** * A handler for the export to PNG option in the context menu. */ private void handleExportToPNG() { FileChooser chooser = new FileChooser(); chooser.setTitle("Export to PNG"); FileChooser.ExtensionFilter filter = new FileChooser.ExtensionFilter( "Portable Network Graphics (PNG)", "png"); chooser.getExtensionFilters().add(filter); File file = chooser.showSaveDialog(getScene().getWindow()); if (file != null) { try { ExportUtils.writeAsPNG(this.canvas.getChart(), (int) getWidth(), (int) getHeight(), file); } catch (IOException ex) { // FIXME: show a dialog with the error throw new RuntimeException(ex); } } }
/** * A handler for the export to PNG option in the context menu. */ private void handleExportToPNG() { FileChooser fileChooser = new FileChooser(); fileChooser.setTitle("Export to PNG"); fileChooser.setSelectedExtensionFilter(new FileChooser.ExtensionFilter( "Portable Network Graphics (PNG)", "png")); File file = fileChooser.showSaveDialog(this.getScene().getWindow()); if (file != null) { try { ExportUtils.writeAsPNG(this.chart, (int) getWidth(), (int) getHeight(), file); } catch (IOException ex) { // FIXME: show a dialog with the error } } }
/** * A handler for the export to JPEG option in the context menu. */ private void handleExportToJPEG() { FileChooser fileChooser = new FileChooser(); fileChooser.setTitle("Export to JPEG"); fileChooser.setSelectedExtensionFilter(new FileChooser.ExtensionFilter( "JPEG", "jpg")); File file = fileChooser.showSaveDialog(this.getScene().getWindow()); if (file != null) { try { ExportUtils.writeAsJPEG(this.chart, (int) getWidth(), (int) getHeight(), file); } catch (IOException ex) { // FIXME: show a dialog with the error } } }
/** * Creates the context menu. * * @return The context menu. */ private ContextMenu createContextMenu() { final ContextMenu menu = new ContextMenu(); menu.setAutoHide(true); Menu export = new Menu("Export As"); MenuItem pngItem = new MenuItem("PNG..."); pngItem.setOnAction(e -> handleExportToPNG()); export.getItems().add(pngItem); MenuItem jpegItem = new MenuItem("JPEG..."); jpegItem.setOnAction(e -> handleExportToJPEG()); export.getItems().add(jpegItem); if (ExportUtils.isOrsonPDFAvailable()) { MenuItem pdfItem = new MenuItem("PDF..."); pdfItem.setOnAction(e -> handleExportToPDF()); export.getItems().add(pdfItem); } if (ExportUtils.isJFreeSVGAvailable()) { MenuItem svgItem = new MenuItem("SVG..."); svgItem.setOnAction(e -> handleExportToSVG()); export.getItems().add(svgItem); } menu.getItems().add(export); return menu; }
/** * A handler for the export to PDF option in the context menu. */ private void handleExportToPDF() { FileChooser chooser = new FileChooser(); chooser.setTitle("Export to PDF"); FileChooser.ExtensionFilter filter = new FileChooser.ExtensionFilter( "Portable Document Format (PDF)", "pdf"); chooser.getExtensionFilters().add(filter); File file = chooser.showSaveDialog(getScene().getWindow()); if (file != null) { ExportUtils.writeAsPDF(this.canvas.getChart(), (int) getWidth(), (int) getHeight(), file); } }
/** * A handler for the export to SVG option in the context menu. */ private void handleExportToSVG() { FileChooser chooser = new FileChooser(); chooser.setTitle("Export to SVG"); FileChooser.ExtensionFilter filter = new FileChooser.ExtensionFilter( "Scalable Vector Graphics (SVG)", "svg"); chooser.getExtensionFilters().add(filter); File file = chooser.showSaveDialog(getScene().getWindow()); if (file != null) { ExportUtils.writeAsSVG(this.canvas.getChart(), (int) getWidth(), (int) getHeight(), file); } }
/** * A handler for the export to PDF option in the context menu. */ private void handleExportToPDF() { FileChooser fileChooser = new FileChooser(); fileChooser.setSelectedExtensionFilter(new FileChooser.ExtensionFilter( "Portable Document Format (PDF)", "pdf")); fileChooser.setTitle("Export to PDF"); File file = fileChooser.showSaveDialog(this.getScene().getWindow()); if (file != null) { ExportUtils.writeAsPDF(this.chart, (int) getWidth(), (int) getHeight(), file); } }
/** * A handler for the export to SVG option in the context menu. */ private void handleExportToSVG() { FileChooser fileChooser = new FileChooser(); fileChooser.setTitle("Export to SVG"); fileChooser.setSelectedExtensionFilter(new FileChooser.ExtensionFilter( "Scalable Vector Graphics (SVG)", "svg")); File file = fileChooser.showSaveDialog(this.getScene().getWindow()); if (file != null) { ExportUtils.writeAsSVG(this.chart, (int) getWidth(), (int) getHeight(), file); } }
public static void exportToImageFile(ChartViewer chartNode, File file, ImgFileType fileType) { final JFreeChart chart = chartNode.getChart(); final int width = (int) chartNode.getWidth(); final int height = (int) chartNode.getHeight(); try { switch (fileType) { case JPG: ExportUtils.writeAsJPEG(chart, width, height, file); break; case PNG: ExportUtils.writeAsPNG(chart, width, height, file); break; case SVG: setDrawSeriesLineAsPath(chart, true); ExportUtils.writeAsSVG(chart, width, height, file); setDrawSeriesLineAsPath(chart, false); break; case PDF: setDrawSeriesLineAsPath(chart, true); ExportUtils.writeAsPDF(chart, width, height, file); setDrawSeriesLineAsPath(chart, false); break; case EMF: FileOutputStream out2 = new FileOutputStream(file); setDrawSeriesLineAsPath(chart, true); EMFGraphics2D g2d2 = new EMFGraphics2D(out2, new Dimension(width, height)); g2d2.startExport(); chart.draw(g2d2, new Rectangle(width, height)); g2d2.endExport(); setDrawSeriesLineAsPath(chart, false); break; case EPS: FileOutputStream out = new FileOutputStream(file); setDrawSeriesLineAsPath(chart, true); EPSDocumentGraphics2D g2d = new EPSDocumentGraphics2D(false); g2d.setGraphicContext(new GraphicContext()); g2d.setupDocument(out, width, height); chart.draw(g2d, new Rectangle(width, height)); g2d.finish(); setDrawSeriesLineAsPath(chart, false); out.close(); break; } } catch (IOException e) { MZmineGUI.displayMessage("Unable to save image: " + e.getMessage()); e.printStackTrace(); } }