ÀÌ ¹ø¿¡´Â ÆÄÀÏÀÇ ¾ÐÃà·üÀ» º¯È¯½ÃŰ´Â ¿¹Á¦ÀÔ´Ï´Ù. ¾ÐÃà·üÀ» º¯È¯ ½ÃŰ¸é ±×¸²ÀÇ ÇØ»óµµ¿¡ ¿µÇâÀ» ¹ÌÃÄ ±×¸²ÀÌ ¼±¸íÇÏÁö ¸øÇÏ°Ô µË´Ï´Ù. ¿¹Á¦¸¦ ÅëÇØ º¸¸é ¾Æ½Ã°ÚÁÒ. ±×·³ ¿¹Á¦¸¦ º¸°Ú½À´Ï´Ù.
CompressedImage.java(jpgÆÄÀÏÀÇ ¾ÐÃà·ü º¯È¯ ¿¹Á¦) |
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 |
ÀÌ·¸°Ô °á°ú°¡ ³ª¿Ô½À´Ï´Ù. ÇÏÁö¸¸ º°·Î ´Þ¶óÁø °Í ¾ø´Â °Í °°Áö ¾Ê½À´Ï±î? ´ç¿¬ÇÕ´Ï´Ù. ÀÌ °ÍÀº ¿øº» ÆÄÀÏÀÔ´Ï´Ù.^^; º¯È¯ µÇ¾î ³ª¿Â ¡°test2_result.jsp¡±ÆÄÀÏÀº Æú´õ µð·ºÅ͸®¿¡ ÀÖ½À´Ï´Ù. ÇÑ ¹ø ½ÇÇà ½ÃÄѼ ¿øº» ÆÄÀϰú ºñ±³ÇØ º¸½Ê½Ã¿ä. ¼±¸íÇÏÁö ¸øÇÏ´Ù´Â °ÍÀ» ¾Ë ¼ö ÀÖ½À´Ï´Ù. º¯È¯Àº ¾Æ·¡ÀÇ ¼¼ ÁÙ·Î ÀÌ·ç¾î Áý´Ï´Ù.
n JPEGEncodeParam param = jpeg.getDefaultJPEGEncodeParam(bi);
n param.setQuality(0.10000f, true);
n jpeg.setJPEGEncodeParam(param);
JPEGEncodeParamŬ·¡½ºÀÇ param°´Ã¼¸¦ »ý¼ºÇÏ¿© setQuality()¸Þ¼µå¸¦ È£ÃâÇϰí ÀÖ½À´Ï´Ù. ÀÌ ¸Þ¼µå°¡ ImageÀÇ º¯È¯À» ½ÃŰ´Â ¿ªÇÒÀ» ÇÕ´Ï´Ù. ¸Å°³º¯¼ö·Î ¾²¿©Áø 0.10000f°¡ ±× Á¤µµ¸¦ ³ªÅ¸³» ÁÝ´Ï´Ù. º¸Åë 0.75 ÀÌ¸é °íǰÁú, 0.5 À̸é Ç¥ÁØÇ°Áú, 0.25À̸é ÀúǰÁúÀÇ °ªÀ¸·Î º¸¸é µË´Ï´Ù. °ªÀÇ ¹üÀ§´Â 0ºÎÅÍ 1±îÁöÀÇ °ªÀ̸ç 1À̸é ÃÖ°íǰÁúÀÇ Image°¡ ³ª¿À°Ô µË´Ï´Ù. À̰ÍÀ¸·Î Image Load¿¡ ´ëÇÏ¿© ¾Ë¾Æº¸¾Ò½À´Ï´Ù.
jabookÀúÀÚ¸íÇÔ |
Á¦¸ñ:¼Ò¼³°°ÀºÀÚ¹Ù3ºÎ ÀúÀÚ:ÃÖ¿µ°ü |