jpgÆÄÀÏÀÇ ¾ÐÃà
CompressedImage.java
import java.io.*;
import java.awt.*;
import java.awt.image.*;
import com.sun.image.codec.jpeg.*;
public class CompressedImage extends Frame {
private Image image=null;
private Image scaleimage = null;
private BufferedImage bi =null;
private int width =0;
private int height =0;
public CompressedImage() {
this.setSize(400,300);
this.show();
}
public void makeImage(String filename, String scalefilename) {
try {
image = Toolkit.getDefaultToolkit().getImage(filename);
MediaTracker tracker = new MediaTracker(this);
tracker.addImage(image,0);
tracker.waitForAll();
width= image.getWidth(null);
height= image.getHeight(null);
int [] pixels = new int[width * height];
PixelGrabber pg = new PixelGrabber(image,0,0,width,height,pixels,0,width);
pg.grabPixels();
bi = new BufferedImage(width,height,BufferedImage.TYPE_INT_RGB);
bi.setRGB(0,0,width,height,pixels,0,width);
FileOutputStream fos = new FileOutputStream(scalefilename);
JPEGImageEncoder jpeg = JPEGCodec.createJPEGEncoder(fos);
JPEGEncodeParam param = jpeg.getDefaultJPEGEncodeParam(bi);
param.setQuality(0.10000f, true);
jpeg.setJPEGEncodeParam(param);
jpeg.encode(bi);
fos.close();
repaint();
} catch (Exception ex){
System.out.println(ex.toString());
}
}
public void paint (Graphics g) {
if(bi!=null)
g.drawImage(bi, 35,40, this);
}
public static void main(String args[]) {
CompressedImage ci = new CompressedImage();
ci.makeImage("test1.jpg", "test1_result.jpg" );
}
}
C:\JavaExample\14>javac CompressedImage.java
C:\JavaExample\14>java CompressedImage
JPEGEncoderParamŬ·¡½ºÀÇ °´Ã¼¸¦ »ý¼ºÇÏ¿© setQuality()¸Þ¼µåÀÇ È£Ãâ·Î À̹ÌÁö ¾ÐÃà·üÀÇ º¯È¯. ¿©±â¼´Â 0.10000f°¡ ±× Á¤µµ¸¦ ³ªÅ¸³¿
jabookÀúÀÚ¸íÇÔ |
Á¦¸ñ:¼Ò¼³°°Àº¹Ì´ÏÄÚµå ÀÛ¼ºÀÚ:Àںϸâ¹ö ±è´ë¼º |