|
PNG_Writer |
|
package ij.plugin; import ij.*; import ij.io.*; import ij.process.*; import java.awt.*; import java.io.*; import java.awt.image.*; import javax.imageio.ImageIO; /** Saves in PNG format using the ImageIO class available in java 1.4 or later. */ public class PNG_Writer implements PlugIn { ImagePlus imp; public void run(String path) { if (!IJ.isJava14()) { IJ.showMessage("PNG Writer" , "The command requires java 1.4 or later"); return; } imp = WindowManager.getCurrentImage(); if (imp==null) {IJ.noImage(); return;} if (path.equals("")) { SaveDialog sd = new SaveDialog("Save as PNG...", imp.getTitle(), ".png"); String name = sd.getFileName(); if (name==null) return; String dir = sd.getDirectory(); path = dir + name; } try { writeImage(imp, path); } catch (Exception e) { String msg = e.getMessage(); if (msg==null || msg.equals("")) msg = ""+e; IJ.showMessage("PNG Writer", "An error occured writing the file.\n \n" + msg); } IJ.showStatus(""); } void writeImage(ImagePlus imp, String path) throws Exception { int width = imp.getWidth(); int height = imp.getHeight(); BufferedImage bi = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB); Graphics2D g = (Graphics2D)bi.getGraphics(); g.drawImage(imp.getImage(), 0, 0, null); File f = new File(path); ImageIO.write(bi, "png", f); } }
|
PNG_Writer |
|