aspose file tools*
The moose likes Swing / AWT / SWT and the fly likes Image compression code Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login
JavaRanch » Java Forums » Java » Swing / AWT / SWT
Bookmark "Image compression code" Watch "Image compression code" New topic
Author

Image compression code

Palak Mehrotra
Greenhorn

Joined: Nov 06, 2008
Posts: 1
hi
i m working on Image compression using JPEG compression standard
i want some help regarding my project and the implementation of the algorithm.
If anybody is having the source code for for image compression then please help me .

Thanks
Sanjeev MutalikDesai
Greenhorn

Joined: Aug 25, 2005
Posts: 6
import java.io.*;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.Iterator;

import javax.imageio.IIOImage;
import javax.imageio.ImageIO;
import javax.imageio.ImageTypeSpecifier;
import javax.imageio.ImageWriteParam;
import javax.imageio.ImageWriter;
import javax.imageio.stream.ImageOutputStream;

public class ImageCompression {
public static void main(String[] args) throws IOException {

/*
* if (args.length < 2) { // Exit if both the arguments (Input File and
* Output File) are not provided
* System.err.println("Usage: java TestWriter c:\\in.png c:\\out.png");
* return; }
*/
Iterator writers;
BufferedImage bufferedImage;
ImageOutputStream imageOutputStream;
ImageWriter imageWriter;
ImageWriteParam pngparams;

// Read an image from the disk (First Argument)
// bufferedImage = ImageIO.read(new File(args[0]));
bufferedImage = ImageIO.read(new File("c:\\test.jpg"));
// Get all the PNG writers
writers = ImageIO.getImageWritersByFormatName("jpg");

// Fetch the first writer in the list
imageWriter = (ImageWriter) writers.next();


// Just to confirm that the writer in use is CLibPNGImageWriter
System.out.println("\n Writer used : "
+ imageWriter.getClass().getName() + "\n");

// Specify the parameters according to those the output file will be
// written

// Get Default parameters
pngparams = imageWriter.getDefaultWriteParam();

// Define compression mode
pngparams
.setCompressionMode(javax.imageio.ImageWriteParam.MODE_EXPLICIT);

// Define compression quality
pngparams.setCompressionQuality(0.5F);

// Define progressive mode
pngparams
.setProgressiveMode(javax.imageio.ImageWriteParam.MODE_COPY_FROM_METADATA);

// Deine destination type - used the ColorModel and SampleModel of the
// Input Image
pngparams.setDestinationType(new ImageTypeSpecifier(bufferedImage
.getColorModel(), bufferedImage.getSampleModel()));

// Set the output stream to Second Argument
// imageOutputStream = ImageIO.createImageOutputStream( new
// FileOutputStream(args[1]) );
imageOutputStream = ImageIO
.createImageOutputStream(new FileOutputStream("c:\\new_test.jpg"));
imageWriter.setOutput(imageOutputStream);

// Write the changed Image
imageWriter.write(null, new IIOImage(bufferedImage, null, null),
pngparams);

// Close the streams
imageOutputStream.close();
imageWriter.dispose();
}
}

I picked this code from: http://www.coderanch.com/t/430762/Java-General-intermediate/java/Help-java-ImageIO-API-PNG#1926836
Rob Spoor
Sheriff

Joined: Oct 27, 2005
Posts: 19762
    
  20

You do know this thread was over 4 months old? http://faq.javaranch.com/java/DontWakeTheZombies

Also, http://faq.javaranch.com/java/UseCodeTags


SCJP 1.4 - SCJP 6 - SCWCD 5 - OCEEJBD 6
How To Ask Questions How To Answer Questions
 
I agree. Here's the link: http://aspose.com/file-tools
 
subject: Image compression code