Package uk.co.mmscomputing.imageio.tiff

Source Code of uk.co.mmscomputing.imageio.tiff.MainApp

package uk.co.mmscomputing.imageio.tiff;

import java.io.*;
import java.awt.*;
import java.awt.color.*;
import java.awt.image.*;
//import java.awt.image.BufferedImage;
import javax.imageio.ImageIO;
import javax.imageio.ImageWriter;
import javax.imageio.ImageWriteParam;
import javax.imageio.IIOImage;
import javax.imageio.stream.ImageOutputStream;

public class MainApp{

  public static void main(String[] args){
    try{
      System.out.println("Test Program : "+MainApp.class.getName())

      BufferedImage image;
      try{
        image = ImageIO.read(new File("test.jpeg"));

        int imageType = BufferedImage.TYPE_BYTE_GRAY;

        int w=image.getWidth();
        int h=image.getHeight();
        BufferedImage newImg=new BufferedImage(w,h,imageType);
        ColorSpace srcSpace=image.getColorModel().getColorSpace();
        ColorSpace newSpace=newImg.getColorModel().getColorSpace();
        ColorConvertOp convert=new ColorConvertOp(srcSpace,newSpace,null);
        convert.filter(image,newImg);

        image = newImg;

      }catch(Exception e){
        image = new BufferedImage(150,150,BufferedImage.TYPE_BYTE_BINARY);
        Graphics2D     g     = (Graphics2D)image.getGraphics();
        g.drawString("Hello World!",10,20);
      }

      ImageWriter       writer = (ImageWriter)ImageIO.getImageWritersByFormatName("tif").next();
      System.out.println(writer.getClass().getName())

      File              file   = new File("test1.tif");file.delete();
      System.out.println("Output 1: "+file.getAbsolutePath())

      ImageOutputStream ios    = ImageIO.createImageOutputStream(file);
      writer.setOutput(ios);

//      ImageWriteParam   iwp    = writer.getDefaultWriteParam();
//      ((TIFFImageWriteParam)iwp).setPhotometricInterpretation("WHITEISZERO");
//      iwp.setCompressionType("t6mmr");

      ImageWriteParam iwp = writer.getDefaultWriteParam();
      ((TIFFImageWriteParam)iwp).setPhotometricInterpretation("YCbCr");
      iwp.setCompressionType("jpeg");
      iwp.setCompressionQuality(0.9f);

      writer.prepareWriteSequence(null);

      writer.writeToSequence(new IIOImage(image,null,null),iwp);

      writer.endWriteSequence();
      ios.close();     

      BufferedImage readimage  = ImageIO.read(file);
      Graphics2D    g         = (Graphics2D)readimage.getGraphics();
      g.drawString("Hello World!",20,40);

      file   = new File("test2.tif");file.delete();
      System.out.println("Output 2: "+file.getAbsolutePath())

      ios = ImageIO.createImageOutputStream(file);
      writer.setOutput(ios);

      writer.prepareWriteSequence(null);

      writer.writeToSequence(new IIOImage(readimage,null,null),iwp);
      writer.writeToSequence(new IIOImage(image,null,null),iwp);

      writer.endWriteSequence();
      ios.close();     
    }catch(Exception e){
      e.printStackTrace();
    }   
  }
}
TOP

Related Classes of uk.co.mmscomputing.imageio.tiff.MainApp

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.