public boolean resizeImage(Image i, File outputFile, int width, int height) { ImagePlus ip = ((ImageJImage) i).getImagePlus(); ImageProcessor processor = ip.getProcessor(); processor = processor.resize(width, height); ip.setProcessor(null, processor); return ImageProcess.save(((ImageJImage) i).getImageType(), ip, outputFile); }
public boolean cropImage(Image i, File outputFile, int top, int left, int width, int height) { ImagePlus ip = ((ImageJImage) i).getImagePlus(); ImageProcessor processor = ip.getProcessor(); processor.setRoi(left, top, width, height); processor = processor.crop(); ip.setProcessor(null, processor); return ImageProcess.save(((ImageJImage) i).getImageType(), ip, outputFile); }
public boolean rotateImage(Image i, File outputFile, boolean clockwise) { ImagePlus ip = ((ImageJImage) i).getImagePlus(); ImageProcessor processor = ip.getProcessor(); if (clockwise) { processor = processor.rotateRight(); } else { processor = processor.rotateLeft(); } ip.setProcessor(null, processor); return ImageProcess.save(((ImageJImage) i).getImageType(), ip, outputFile); }
/** * Creates a JPEG thumbnail from inputFile and saves it to disk in outputFile. scaleWidth is the * width to scale the image to */ public boolean createThumb(Image iw, File outputFile, int size, boolean square) throws IOException { ImagePlus ip = ((ImageJImage) iw).getImagePlus(); // Load the input image. if (ip == null) { return false; } ip = new ImagePlus(ip.getTitle(), ip.getImageStack()); ImageProcessor processor = ip.getProcessor(); if (square) { processor = processor.resize(size, size); } else if (ip.getWidth() > ip.getHeight()) { processor = processor.resize(size, ip.getHeight() * size / ip.getWidth()); } else { processor = processor.resize(ip.getWidth() * size / ip.getHeight(), size); } ip.setProcessor(null, processor); int type = ((ImageJImage) iw).getImageType(); return ImageProcess.save(type, ip, outputFile); }