convert .cdr file to .jpg file in java
843838Jun 27 2006 — edited Jun 28 2006code is this .
package dbserver.version3.express.util;
import java.awt.Container;
import java.awt.image.BufferedImage;
import java.io.InputStream;
import java.io.*;
import java.io.OutputStream;
import javax.swing.JComponent;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.ImageIcon;
import java.awt.image.Raster;
import com.sun.image.codec.jpeg.JPEGCodec;
import com.sun.image.codec.jpeg.JPEGImageDecoder;
import com.sun.image.codec.jpeg.JPEGImageEncoder;
import com.sun.image.codec.jpeg.JPEGDecodeParam;
public class MainClass {
public static void main(String[] args) throws Exception {
JFrame jf = new JFrame("Demo");
Container cp = jf.getContentPane();
MyCanvas tl = new MyCanvas();
cp.add(tl);
jf.setSize(300, 200);
jf.setVisible(true);
}
}
class MyCanvas extends JPanel {
BufferedImage mImage;//=new BufferedImage(400,400,BufferedImage.TYPE_INT_RGB);
Raster raster;
JPEGDecodeParam jj;
InputStream iii;
public MyCanvas() {
try {
InputStream in = getClass().getResourceAsStream("test1.cdr");
System.out.println("inin =="+in.toString());
JPEGImageDecoder decoder = JPEGCodec.createJPEGDecoder(in);
System.out.println("decoder" + decoder);
mImage = decoder.decodeAsBufferedImage();
//System.out.println("mImage"+mImage);
in.close();
}
catch (Exception e){
System.err.println(e.getLocalizedMessage());
}
try{
FileOutputStream jpegOut = new FileOutputStream("C:/output.jpg");
JPEGImageEncoder jie = JPEGCodec.createJPEGEncoder(jpegOut);
jie.encode(mImage);
jpegOut.close();
ImageIcon icon = new ImageIcon(mImage);
add(new JLabel(icon));
}
catch(Exception e)
{e.printStackTrace();}
}
}
this gives the exception : ===
inin ==java.io.BufferedInputStream@1fb8ee3
decodersun.awt.image.codec.JPEGImageDecoderImpl@10b30a7
Not a JPEG file: starts with 0x52 0x49
java.lang.NullPointerException
at sun.awt.image.codec.JPEGImageEncoderImpl.getDefaultJPEGEncodeParam(JPEGImageEncoderImpl.java:174)
at sun.awt.image.codec.JPEGImageEncoderImpl.encode(JPEGImageEncoderImpl.java:205)
at dbserver.version3.express.util.MyCanvas.<init>(MainClass.java:53)
at dbserver.version3.express.util.MainClass.main(MainClass.java:25)
Please give me solution.