Created
October 12, 2014 18:32
-
-
Save balamuru/ba81aef6eb617323689c to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import org.apache.commons.imaging.Imaging; | |
import javax.imageio.IIOImage; | |
import javax.imageio.ImageIO; | |
import javax.imageio.ImageReader; | |
import javax.imageio.ImageWriter; | |
import javax.imageio.stream.ImageInputStream; | |
import java.awt.image.BufferedImage; | |
import java.io.File; | |
public class ReadAndWrite { | |
public static void main(String[] args) | |
throws Exception { | |
final String inputPath = "/home/vinayb/Downloads/in.tif"; | |
final String outputPath = "/home/vinayb/Downloads/out.tif"; | |
new File(outputPath).delete(); //cleanup | |
final File inputFile = new File(inputPath); | |
final File outputFile = new File(outputPath); | |
//setup reader | |
final ImageInputStream imageInputStream = ImageIO.createImageInputStream(inputFile); | |
final ImageReader imageReader = ImageIO.getImageReaders(imageInputStream).next(); | |
imageReader.setInput(imageInputStream); | |
//read image | |
final BufferedImage bImage = imageReader.read(0); | |
//setup writer based on reader | |
final ImageWriter imageWriter = ImageIO.getImageWriter(imageReader); | |
imageWriter.setOutput(ImageIO.createImageOutputStream(outputFile)); | |
//write | |
imageWriter.write(null, new IIOImage(bImage, null, null), imageWriter.getDefaultWriteParam()); | |
//print info about the input and output images | |
System.out.println("#### input compression: " + Imaging.getImageInfo(inputFile).getCompressionAlgorithm()); | |
System.out.println("#### in format: " + Imaging.getImageInfo(inputFile).getFormat()); | |
System.out.println("The output settings should match the input settings"); | |
System.out.println("#### output compression: " + Imaging.getImageInfo(outputFile).getCompressionAlgorithm()); | |
System.out.println("#### output format: " + Imaging.getImageInfo(outputFile).getFormat()); | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment