Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public void compressor(String inputFile, String outputFile) throws IOException {
- J2KImageWriteParam iwp = new J2KImageWriteParam();
- FileInputStream fis = new FileInputStream(new File(inputFile));
- BufferedImage image = ImageIO.read(fis);
- fis.close();
- if (image == null)
- {
- System.out.println("If no registered ImageReader claims to be able to read the resulting stream");
- }
- Iterator writers = ImageIO.getImageWritersByFormatName("JPEG2000");
- String name = null;
- ImageWriter writer = null;
- while (name != "com.sun.media.imageioimpl.plugins.jpeg2000.J2KImageWriter") {
- writer = (ImageWriter) writers.next();
- name = writer.getClass().getName();
- System.out.println(name);
- }
- File f = new File(outputFile);
- long s = System.currentTimeMillis();
- ImageOutputStream ios = ImageIO.createImageOutputStream(f);
- writer.setOutput(ios);
- J2KImageWriteParam param = (J2KImageWriteParam) writer.getDefaultWriteParam();
- IIOImage ioimage = new IIOImage(image, null, null);
- param.setSOP(true);
- param.setWriteCodeStreamOnly(true);
- param.setProgressionType("layer");
- param.setLossless(false);
- param.setCompressionMode(J2KImageWriteParam.MODE_EXPLICIT);
- param.setCompressionType("JPEG2000");
- param.setCompressionQuality(0.1f);
- param.setEncodingRate(1.01);
- param.setFilter(J2KImageWriteParam.FILTER_97);
- writer.write(null, ioimage, param);
- System.out.println(System.currentTimeMillis() - s);
- writer.dispose();
- ios.flush();
- ios.close();
- image.flush();
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement