Advertisement
Guest User

jaiSample

a guest
Jul 18th, 2011
337
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.77 KB | None | 0 0
  1.     public void compressor(String inputFile, String outputFile) throws IOException {
  2.         J2KImageWriteParam iwp = new J2KImageWriteParam();
  3.         FileInputStream fis = new FileInputStream(new File(inputFile));
  4.         BufferedImage image = ImageIO.read(fis);
  5.         fis.close();
  6.        
  7.         if (image == null)
  8.         {
  9.             System.out.println("If no registered ImageReader claims to be able to read the resulting stream");
  10.         }
  11.        
  12.         Iterator writers = ImageIO.getImageWritersByFormatName("JPEG2000");
  13.         String name = null;
  14.         ImageWriter writer = null;
  15.         while (name != "com.sun.media.imageioimpl.plugins.jpeg2000.J2KImageWriter") {
  16.             writer = (ImageWriter) writers.next();
  17.             name = writer.getClass().getName();
  18.             System.out.println(name);
  19.         }
  20.         File f = new File(outputFile);
  21.         long s = System.currentTimeMillis();
  22.         ImageOutputStream ios = ImageIO.createImageOutputStream(f);
  23.         writer.setOutput(ios);
  24.         J2KImageWriteParam param = (J2KImageWriteParam) writer.getDefaultWriteParam();
  25.         IIOImage ioimage = new IIOImage(image, null, null);
  26.         param.setSOP(true);
  27.         param.setWriteCodeStreamOnly(true);
  28.         param.setProgressionType("layer");
  29.         param.setLossless(false);
  30.         param.setCompressionMode(J2KImageWriteParam.MODE_EXPLICIT);
  31.         param.setCompressionType("JPEG2000");
  32.         param.setCompressionQuality(0.1f);
  33.         param.setEncodingRate(1.01);
  34.         param.setFilter(J2KImageWriteParam.FILTER_97);
  35.  
  36.  
  37.         writer.write(null, ioimage, param);
  38.         System.out.println(System.currentTimeMillis() - s);
  39.         writer.dispose();
  40.         ios.flush();
  41.         ios.close();
  42.  
  43.         image.flush();
  44.     }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement