Showing posts with label Convert To JPG. Show all posts
Showing posts with label Convert To JPG. Show all posts

Monday, 30 September 2013

Converter Tiff to jpeg


import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.awt.image.RenderedImage;
import com.sun.image.codec.jpeg.JPEGCodec;
import com.sun.image.codec.jpeg.JPEGImageEncoder;
import com.sun.media.jai.codec.SeekableStream;
import com.sun.media.jai.codec.FileSeekableStream;
import com.sun.media.jai.codec.TIFFDecodeParam;
import com.sun.media.jai.codec.ImageDecoder;
import com.sun.media.jai.codec.ImageCodec;
public class TiffUtils {
public static void TiffToJpg(File inFile, String otPath) throws IOException
{
SeekableStream s = new FileSeekableStream(inFile);
TIFFDecodeParam param = null;
ImageDecoder dec = ImageCodec.createImageDecoder("tiff", s, param);
RenderedImage op = dec.decodeAsRenderedImage(0);
FileOutputStream fos = new FileOutputStream(otPath);
JPEGEncodeParam jpgparam = new JPEGEncodeParam();
jpgparam.setQuality(67);
ImageEncoder en = ImageCodec.createImageEncoder("jpeg", fos, jpgparam);
en.encode(op);
fos.flush();
fos.close();
}
public static void JPEGtoTIFF(String InputimgFile, String OutputFileName) throws Exception {
File imgFile = new File(InputimgFile);
InputStream fis = new BufferedInputStream(new FileInputStream(imgFile));
JPEGImageReaderSpi spi = new JPEGImageReaderSpi();
javax.imageio.ImageReader rdr = spi.createReaderInstance();
ImageInputStream iis = ImageIO.createImageInputStream(fis);
rdr.setInput(iis, true);
JPEGImageReadParam rdparam = new JPEGImageReadParam();
BufferedImage bi = rdr.read(0, rdparam);
TIFFImageWriterSpi tiffspi = new TIFFImageWriterSpi();
javax.imageio.ImageWriter wtr = tiffspi.createWriterInstance();
File newTIFF = new File(OutputFileName + ".tif");
ImageOutputStream ios = ImageIO.createImageOutputStream(newTIFF);
wtr.setOutput(ios);
TIFFImageWriteParam tiffWriteParam = new TIFFImageWriteParam(Locale.US);
// ImageWriteParam tiffWriteParam = wtr.getDefaultWriteParam();
String[] CompTypes = tiffWriteParam.getCompressionTypes();
for (int j = 0; j < CompTypes.length; j++)
System.out.println(CompTypes[j]);
tiffWriteParam.setCompressionMode(ImageWriteParam.MODE_EXPLICIT);
tiffWriteParam.setCompressionType("LZW");
tiffWriteParam.setCompressionQuality(0.5f);
try {
int i = 0;
IIOMetadata iioImageMetadata = rdr.getImageMetadata(i);
int imageHeight = rdr.getHeight(i);
int imageWidth = rdr.getWidth(i);
tiffWriteParam.setTilingMode(ImageWriteParam.MODE_EXPLICIT);
tiffWriteParam.setTiling(imageWidth, imageHeight, 0, 0);
BufferedImage buffimg = new BufferedImage(imageWidth, imageHeight, bi.TYPE_BYTE_BINARY);
IIOImage image = new IIOImage(bi, null, iioImageMetadata);
try {
wtr.write(null, image, tiffWriteParam);
} catch (Exception e) {
System.out.println(e.toString());
}
wtr.dispose();
} catch (IndexOutOfBoundsException e) {
rdr.dispose();
}
// Done writing all images for this image
rdr.dispose();
}
public static void main(String[] args) throws Exception {
TiffUtils.TiffToJpg("c:/users/public/temp/test.tif","c:/users/public/temp/test.jpg");
}
}
view raw TiffUtils hosted with ❤ by GitHub