ÀÌ ¹ø¿¡´Â Image¸¦ Çڵ鸵ÇÏ´Â °Í¿¡ ´ëÇÏ¿© ¾Ë¾Æ º¸°Ú½À´Ï´Ù. Image¸¦ ·ÎµùÇÑ ÈÄ ±× Image¸¦ º¯È¯ÇÏ´Â ¿¹Á¦ÀÔ´Ï´Ù. ¿ø¸®´Â ºñ½ÁÇÕ´Ï´Ù. ¿ì¼± Image¸¦ ÀÐ¾î µé¿© ·ÎµùÇÑ ÈÄ ´Ù¸¥ Ŭ·¡½º¸¦ »ç¿ëÇÏ¿© º¯È¯À» ÁÖ´Â ¹æ¹ýÀÔ´Ï´Ù.
¾Æ·¡ÀÇ ¿¹Á¦´Â Å©±â¸¦ ÀÛ°Ô ¸¸µå´Â ¿¹Á¦ÀÔ´Ï´Ù. WindowsÀÇ ¹ÙÅÁÈ¸é ¾ÆÀÌÄÜÀÇ Å©±â Á¤µµ·Î ÀÛ°Ô ¸¸µé¼ö ÀÖ½À´Ï´Ù. ¶Ç ¹èÀ²À» Á¶Á¤ ÇÏ¸é ¶È °°Àº Å©±âÀÇ Image¸¦ ¸¸µé¾î º¹»ç¸¦ ÇÒ ¼ö ÀÖ½À´Ï´Ù. ¿¹Á¦¸¦ º¸°Ú½À´Ï´Ù.
SmallImageMake.java(jpgÆÄÀÏÀÇ Å©±â¸¦ º¯È¯ÇÏ´Â ¿¹Á¦) |
import java.io.*; import java.awt.*; import java.awt.image.*; import com.sun.image.codec.jpeg.*; class SmallImageMake extends Frame { private Image image=null; private Image scaleimage = null; private BufferedImage bi =null; public SmallImageMake() { this.setSize(100,100); this.show(); } public void makeImage(String filename) { try { image = Toolkit.getDefaultToolkit().getImage(filename); MediaTracker tracker = new MediaTracker(this); tracker.addImage(image,0); tracker.waitForAll(); int w = image.getWidth(null); int h = image.getHeight(null); int width =32; int height =32; scaleimage = image.getScaledInstance(width,height,Image.SCALE_DEFAULT); int [] pixels = new int[width * height]; PixelGrabber pg = new PixelGrabber(scaleimage,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("test2_result.jpg"); JPEGImageEncoder jpeg = JPEGCodec.createJPEGEncoder(fos); 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, 34, 34, this); } public static void main(String args[]) { SmallImageMake sim = new SmallImageMake(); sim.makeImage("test2.jpg"); } } |
C:\JavaExample\14>javac SmallImageMake.java C:\JavaExample\14>java SmallImageMake |
¸ÕÀú Image¸¦ ·ÎµùÇÑ ÈÄ ¸¸µé ImageÀÇ Å©±â¸¦ Á¤ÇÕ´Ï´Ù. ±× °ªµéÀ» ¸Å°³º¯¼ö·Î »ï¾Æ¼ getScaledInstance()¸Þ¼µå¸¦ È£ÃâÇÕ´Ï´Ù.
n int width = 32;
n int hegith = 32;
n scaleimage = image.getScaledInstance(width,hegith,Image.SCALE_DEFAULT);
getScaledInstance()¸Þ¼µå´Â ¸Å°³º¯¼öÀÇ Å©±â´ë·Î Á¶Á¤ÇÑ Image °´Ã¼¸¦ »ý¼ºÇÏ¿© ¹ÝȯÇÕ´Ï´Ù.
n int [] pixels = new int[width * height];
n PixelGrabber pg;
n pg = new PixelGrabber(scaleimage,0,0,width,height,pixels,0,width);
n pg.grabPixels();
À§ÀÇ ±¸¹®Àº Çȼ¿À» »Ì¾Æ³»´Â ÀÛ¾÷À» Çϰí ÀÖ´Â °÷ÀÔ´Ï´Ù. ps.grabPixels()¸Þ¼µå´Â Çȼ¿À» ´Ù »Ì¾Æ³¾ ¶§±îÁö ÇÁ·Î±×·¥À» ÁßÁö ½ÃŰ´Â ¾Õ¿¡¼ ¹è¿î MediaTracker¿Í °°Àº ±â´ÉÀ» ÇÏ´Â ¸Þ¼µå ÀÔ´Ï´Ù.
n bi = new BufferedImage(50, 85, BufferedImage.TYPE_INT_RGB);
n bi.setRGB(0,0,width,hegith,pixels,0,width);
BufferedImage·Î º¯È¯½ÃÄ×½À´Ï´Ù. JPEGÀÎÄÚµùÀ» Çϱâ À§ÇؼÀÔ´Ï´Ù.
n FileOutputStream fos = new FileOutputStream("test2_result.jpg");
n JPEGImageEncoder jpeg = JPEGCodec.createJPEGEncoder(fos);
n jpeg.encode(bi);
n fos.close();
n repaint();
JPEGÀÎÄÚµùÀ» ÇÏ´Â ÀÛ¾÷ÀÔ´Ï´Ù. ±×¸®°í ÁÖ¾îÁø ÆÄÀÏ À̸§À¸·Î ±×¸² ÆÄÀÏÀ» »õ·Î º¹»çÇÏ´Â °úÁ¤ÀÔ´Ï´Ù.
´ÙÀ½Àº jpgÆÄÀÏÀÇ ¾ÐÃà·üÀ» º¯È¯ ½ÃŰ´Â ¿¹Á¦ ÀÔ´Ï´Ù.
jabookÀúÀÚ¸íÇÔ |
Á¦¸ñ:¼Ò¼³°°ÀºÀÚ¹Ù3ºÎ ÀúÀÚ:ÃÖ¿µ°ü |