27-1-³ª.¸ô¶óµµ µÈ´Ù

Á¤º¸ ÀºÆóÀÇ °³³äÀ» °¡Àå ½±°Ô ´Ü ÇѸ¶µð·Î Ç¥ÇöÇϸé "¸ô¶óµµ µÈ´Ù"´Â °ÍÀÌ´Ù. ºÎÇ°À» ¾²´Â »ç¿ëÀÚ°¡ ¾Ë¾Æ¾ß ÇÏ´Â °ÍÀº ºÎÇ°À» »ç¿ëÇÏ´Â ¹æ¹ý»ÓÀÌÁö ºÎÇ°ÀÇ ³»ºÎ µ¿ÀÛÀ̳ª »ó¼¼ ±¸Á¶°¡ ¾Æ´Ï´Ù. »ç¿ëÀÚ°¡ ±»ÀÌ ¾Ë ÇÊ¿ä°¡ ¾ø´Â ºÒÇÊ¿äÇÑ Á¤º¸´Â ¼û±èÀ¸·Î½á »ç¿ëÀÚ´Â ÃÖ¼ÒÇÑÀÇ Á¤º¸¸¸À¸·Î ºÎÇ°À» ½±°Ô »ç¿ëÇÒ ¼ö ÀÖ´Ù.

½Ç¼¼°èÀÇ ¹°°ÇÀÎ ÀÚµ¿Â÷¸¦ ¿¹·Î µé¾î º¸ÀÚ. ÀÚµ¿Â÷´Â ¿£Áø, ¹ÙÄû, ºê·¹ÀÌÅ©, ÇÚµé, ¹ßÀü±â, ³Ã°¢±â, ¹åµ¥¸®, ±â¸§Åë, ¹®Â¦ µî ¼ö¸¹Àº ºÎÇ°À¸·Î ±¸¼ºµÇ¾î Àִµ¥ »ç¿ëÀÚµéÀº ÀÌ ¸ðµç ºÎÇ°µéÀÌ Á¤È®ÇÏ°Ô ¹«¾ùÀ» ÇÏ´ÂÁö Àß ¸ð¸£¸ç ³»ºÎÀûÀÎ µ¿ÀÛ ¿ø¸®³ª ¹æ½Ä¿¡ ´ëÇؼ­´Â ´õ ¸ð¸¥´Ù. ½ÉÁö¾î´Â ±×·± ºÎÇ°ÀÌ ÀÖ´ÂÁö Á¸Àç ÀÚü¸¦ ¸ð¸£´Â °æ¿ìµµ ¸¹´Ù. »ç¿ëÀÚ°¡ ¾Ë°í ÀÖ´Â Á¤º¸¶õ ¾×¼¿À» ¹âÀ¸¸é ÀüÁøÇÏ°í ºê·¹ÀÌÅ©¸¦ ¹âÀ¸¸é ¸ØÃß°í ÇÚµéÀ» ºñƲ¸é ¹æÇâÀÌ ¹Ù²ï´Ù´Â °Í Á¤µµ¿¡ ºÒ°úÇÏ´Ù. ÀÌ Á¤µµ¸¸ ¾Ë¾Æµµ ¿îÀüÀ» ÇÒ ¼ö Àִµ¥ ÀÌ´Â ÀÚµ¿Â÷°¡ Á¤º¸ ÀºÆó¸¦ Àß ÇÏ°í Àֱ⠶§¹®ÀÌ´Ù.

À̹ø¿¡´Â Á» ´õ Á¼Àº ¹üÀ§¿¡¼­ ¿£ÁøÀ̶ó´Â ºÎÇ°À» º¸ÀÚ. ½Ãµ¿ÀÌ ¾î¶»°Ô °É¸®¸ç ¾î¶² ¹æ½ÄÀ¸·Î ¿¬·á¸¦ Å¿ö ȸÀü·ÂÀ» ¾ò´ÂÁö »ó¼¼ÇÏ°Ô ¾Æ´Â »ç¶÷Àº µå¹°´Ù. ÇÏÁö¸¸ ±×·¡µµ ¿îÀüÀ» ÇÒ ¼ö ÀÖÀ¸¸ç ½ÉÁö¾î ¿£ÁøÀÇ Á¸Àç ÀÚü¸¦ ¸ô¶óµµ »ó°ü¾ø´Ù. »ç¿ëÀÚ´Â ¿£Áø°ú °ü·ÃÇÏ¿© °ø°³µÈ Á¤º¸¸¦ °¡Áö°í Àִµ¥ ¹Ù·Î ¾×¼¿°ú ºê·¹ÀÌÅ©À̸ç ÀÌ µÎ°¡Áö¸¸ Àß Á¶ÀÛÇصµ ¼û°ÜÁø ¿£ÁøÀ» ¾ó¸¶µçÁö ÅëÁ¦ÇÒ ¼ö ÀÖ´Ù. ¿£ÁøÀÌ »ç¿ëÀÚ¿¡ ´ëÇØ Ãß»óÈ­µÇ¾î ÀÖÀ¸¸ç ¾×¼¿°ú ºê·¹ÀÌÅ©´Â »ç¿ëÀÚ¿¡ ´ëÇÑ ÀÎÅÍÆäÀ̽º°¡ µÇ´Â °ÍÀÌ´Ù.

¸¸¾à ÀÚµ¿Â÷ÀÇ ³»ºÎ ±¸Á¶³ª µ¿ÀÛ ¹æ½ÄÀ» ´Ù ¾Ë¾Æ¾ß ¿îÀüÀ» ÇÒ ¼ö ÀÖ´Ù¸é ¿îÀüÀº ³Ê¹« ³Ê¹« ¾î·Á¿î ±â¼úÀÌ µÉ °ÍÀÌ¸ç ¿îÀü ¸éÇãÁõÀ» µû±â À§ÇØ ¿îÀüÇаú¸¦ Á¹¾÷ÇØ¾ß ÇÒ °ÍÀÌ´Ù. ´ÙÇàÈ÷µµ Çö½ÇÀº ±×·¸Áö ¾Ê¾Æ ÀÚµ¿Â÷ÀÇ °ø°³µÈ Á¶ÀÛ¹ý(Àü¹® ¿ë¾î·Î ÀÎÅÍÆäÀ̽º¶ó°í ÇÑ´Ù) Á¤µµ¸¸ ÀÍÈ÷¸é ¸éÇãÁõÀ» µþ ¼ö Àִµ¥ ÀÌ°ÍÀÌ Á¤º¸ ÀºÆó¿¡ ÀÇÇÑ ÇýÅÃÀÌ´Ù. ÀÌ¿Ü¿¡ ¿ì¸®°¡ ÀÏ»ó »ýÈ°¿¡¼­ ´Ã»ó »ç¿ëÇÏ´Â TV, ºñµð¿À, ³ëÆ®ºÏ, ÀüÈ­±â µîÀÇ »ç¿ë¹ýµµ Áö±ØÈ÷ °£´ÜÇÏ´Ù. ¸®¸ðÄÜÀÇ ¹öÆ°À» ´©¸£´Â ÃÖ¼ÒÇÑÀÇ ÀÇ»çÇ¥Çö¸¸À¸·Î »ç¿ëÇÒ ¼ö ÀÖµµ·Ï Á¦Á¶»çµéÀÌ Á¤º¸ ÀºÆó, Ãß»óÈ­¸¦ Çؼ­ ÆǸÅÇϱ⠶§¹®ÀÌ´Ù.

ÇÁ·Î±×·¡¹ÖÀÇ °´Ã¼µéµµ ¾²±â ½¬¿î ºÎÇ°ÀÌ µÇ±â À§Çؼ­´Â ²À ÇÊ¿äÇÑ ±â´É¸¸ °ø°³ÇÏ°í »ç¿ëÀÚ°¡ ¸ô¶óµµ µÇ´Â ºÎºÐÀº ¼û°Ü¾ß ÇÑ´Ù. ½ÇÁ¦ Ŭ·¡½º¸¦ ¿¹·Î µé¾î º¸ÀÚ. JpegImage Ŭ·¡½º´Â Jpeg À̹ÌÁö ÆÄÀÏÀ» °ü¸®Çϴ Ŭ·¡½ºÀ̸ç À̹ÌÁö¸¦ °ü¸®ÇÏ°í Ãâ·ÂÇÒ ¼ö ÀÖ´Â ±â´ÉµéÀÌ Ä¸½¶È­µÇ¾î ÀÖ´Ù.

 

class JpegImage

{

private:

     BYTE *RawData;

     JPEGHEADER Header;

     void DeComp();

     void EnComp();

 

public:

     Jpeg();

     ~Jpeg();

     BOOL Load(char *FileName);

     BOOL Save(char *FileName);

     void Draw(int x, int y);

};

 

¼Õ½Ç ¾ÐÃàÀ» »ç¿ëÇÏ´Â Jpeg ÆÄÀÏÀÇ ³»ºÎ´Â ¹«Ã´ º¹ÀâÇؼ­ Á÷Á¢ Jpeg ÆÄÀϷκÎÅÍ À̹ÌÁö¸¦ ÀÐÀ¸·Á¸é ¾ÐÃà ÇØÁ¦ ¹æ¹ý, Çì´õÀÇ ±¸Á¶, ¹öÀüº° Â÷ÀÌ µî ¸¹Àº °ÍÀ» ¾Ë¾Æ¾ß ÇÏ°í ¾ÐÃàÀ» Ç®±â À§ÇØ ºñÆ®¸¦ Á÷Á¢ ´Ù·ç´Â ¾î·Æ°íµµ °ñÄ¡¾ÆÇ ÀÛ¾÷À» ÇØ¾ß ÇÑ´Ù. ±×·¯³ª »ç¿ëÀÚµéÀÌ ¿øÇÏ´Â °ÍÀº JpegÀÇ ±¸Á¶³ª ¾ÐÃà ¿ø¸®°¡ ¾Æ´Ï¶ó Jpeg ÆÄÀÏÀ» Ãâ·ÂÇÏ´Â °Í »ÓÀÌ´Ù. ÀÌ Å¬·¡½º¸¦ ¾²¸é ¸î ÁÙÀÇ ÄÚµå·Î °£´ÜÇÏ°Ô À̹ÌÁö ÆÄÀÏÀ» Àоî Ãâ·ÂÇÒ ¼ö ÀÖ´Ù.

 

JpegImage J;

J.Load("c:\\Image\\PrettyGirl.jpg");

J.Draw(10,10);

 

JpegImage °´Ã¼¸¦ Çϳª ¸¸µé°í Load ÇÔ¼ö·Î ¿øÇÏ´Â ÆÄÀÏÀ» Àоî Draw·Î È­¸é¿¡ Ãâ·ÂÇϱ⸸ ÇÏ¸é µÈ´Ù. °´Ã¼°¡ ³»ºÎ¿¡¼­ ¾ÐÃàÀ» ÇØÁ¦ÇÏ´Â ¾Ë°í¸®ÁòÀÌ ¾î¶»°Ô µ¿ÀÛÇÏ´ÂÁö, ÇØÁ¦µÈ ºñÆ®¸¦ ¾î¶»°Ô Á¶¸³Çؼ­ ´«¿¡ º¸ÀÌ´Â À̹ÌÁö¸¦ ¸¸µé¾î ³»´ÂÁö, È­¸é¿¡ Ãâ·ÂÇÏ´Â ¹æ¹ýÀº ¾î¶²Áö ÀÌ·± °Íµé¿¡ ´ëÇؼ­´Â ÀüÇô ¾Ë ÇÊ¿ä°¡ ¾ø´Ù. ±×·¡¼­ JpegImage Ŭ·¡½º´Â RawData, Header µîÀÇ ¸â¹ö º¯¼ö¸¦ ¼û°Ü ¹ÛÀ¸·Î °ø°³ÇÏÁö ¾ÊÀ¸¸ç ¾ÐÃàÀ» ÇØÁ¦ÇÏ´Â ¸â¹ö ÇÔ¼ö DeCompµµ ÀºÆóÇÑ´Ù.

»ç¿ëÀÚ°¡ ÀÌ Å¬·¡½º¸¦ ¾²±â À§ÇØ ¾Ë¾Æ¾ß ÇÏ´Â °ÍÀº ¿À·ÎÁö Load, Save, Drawµî °ø°³µÈ ¸â¹ö ÇÔ¼ö»ÓÀÌ´Ù. ÀÌ ÇÔ¼öµéÀÌ ¹Ù·Î ÀÎÅÍÆäÀ̽ºÀ̸ç ÃÖ¼ÒÇÑÀÇ ÀÎÅÍÆäÀ̽º¸¸ °ø°³ÇÏ´Â °ÍÀÌ Ãß»óÈ­ÀÇ Á¤ÀÇÀÌ´Ù. JpegImage Ŭ·¡½º°¡ ´õ ¸¹Àº ±â´É, ¿¹¸¦ µé¾î È®´ë, ¹ÝÀü, ´Ù¸¥ Æ÷¸ËÀ¸·Î º¯È¯ µîÀ» Á¦°øÇÏ´õ¶óµµ °ø°³µÈ °ü·Ã ¸â¹ö ÇÔ¼ö¸¦ È£ÃâÇÏ´Â ¹æ¹ý¸¸ ¾Ë¸é µÈ´Ù. ´ÙÀ½Àº ¾î¶² ÃÊ±Þ °³¹ßÀÚ°¡ ¸¸µç À¥ ºê¶ó¿ìÀú ÇÁ·Î±×·¥ÀÌ´Ù.

ÀÌ °³¹ßÀÚ´Â WebBrowser¶ó´Â ÀÌ¹Ì ¸¸µé¾îÁø °´Ã¼¸¦ Àç»ç¿ëÇß´Ù. ÀÌ °´Ã¼´Â ³×Æ®¿öÅ©¸¦ ÅëÇØ ÁöÁ¤ÇÑ URLÀÇ À¥ ÆäÀÌÁö¸¦ Àаí À̹ÌÁö¸¦ Ãâ·ÂÇÏ°í ¸¶¿ì½º ÀÔ·ÂÀ» ¹Þ¾Æ ¿¬°áµÈ ¸µÅ©·Î À̵¿ÇÏ´Â º¹ÀâÇÑ ±â´ÉÀ» °¡Áö°í ÀÖ´Ù. ³»ºÎÀûÀ¸·Î´Â HTML ¹®¼­¸¦ Çؼ®ÇÏ°í ij½Ã¸¦ °ü¸®ÇÏ¸ç º¸¾È Á¡°ËÀ» ÇÏ°í ½ºÅ©¸³Æ®¸¦ Çؼ®ÇÏ¿© ½ÇÇàÇÏ´Â ´õ º¹ÀâÇÑ Ã³¸®¸¦ ÇÏ°í ÀÖÀ» °ÍÀÌ´Ù. ÇÏÁö¸¸ °³¹ßÀÚ°¡ ÀÌ·± °Íµé±îÁö ½Å°æ¾µ ÇÊ¿ä¾øÀÌ À̵¿ÇÏ°í ½ÍÀº URL¸¸ ¾Ë·Á ÁÖ¸é ³ª¸ÓÁö´Â ³»ºÎ¿¡¼­ ¾Ë¾Æ¼­ ó¸®Çϵµ·Ï Ãß»óÈ­µÇ¾î ÀÖ´Ù. ¸¸¾à ÀÌ ÄÁÆ®·ÑÀÌ Á¤º¸ ÀºÆó¿Í Ãß»óÈ­¸¦ ÀûÀýÈ÷ ÇÏ°í ÀÖÁö ¾Ê´Ù¸é ÃÊ±Þ °³¹ßÀÚ°¡ ÀÌ·± °í¼º´É ÇÁ·Î±×·¥À» ÀÌÅä·Ï ½±°Ô ¸¸µé ¼ö´Â ¾øÀ» °ÍÀÌ´Ù.

ÀÌ ¿Ü¿¡µµ °´Ã¼¸¦ È°¿ëÇÏ¿© ¸¸µé¾îÁø ÇÁ·Î±×·¥µéÀ» ¸¹ÀÌ ±¸°æÇÒ ¼ö Àִµ¥ µ¿¿µ»ó Àç»ý ÇÁ·Î±×·¥À̳ª MP3 Ç÷¹À̾î, ±×·¡ÇÈ ºä¾î, ¾ÐÃà À¯Æ¿¸®Æ¼ µîÀÇ °í¼º´É ÇÁ·Î±×·¥µéµµ °³¹ßÀÚ°¡ ¸ðµç °ÍÀ» È¥ÀÚ ¸¸µç °ÍÀÌ ¾Æ´Ï¶ó ±âÁ¸ÀÇ ¹ßÇ¥µÈ °´Ã¼µéÀ» ÀçÈ°¿ëÇÏ¿© ¸¸µé¾îÁø °ÍÀÌ´Ù. µ¿¿µ»ó ºä¾î´Â ActiveMovie°°Àº ÁÁÀº ÄÁÆ®·ÑµéÀÌ ¸¹ÀÌ °ø°³µÇ¾î ÀÖ¾î µ¿¿µ»ó Àç»ý ÀÚü´Â ÄÁÆ®·ÑÀÌ Ã³¸®Çϸç ÇÁ·Î±×·¥Àº ÀÚ¸· 󸮳ª º¼·ý Á¶Á¤ µîÀÇ ÀÎÅÍÆäÀ̽º¸¸ °ü¸®ÇÏ¸é µÈ´Ù.

C++Àº Ŭ·¡½ºÀÇ Á¤º¸ ÀºÆó ±â´ÉÀ» Áö¿øÇϱâ À§ÇØ private, public, protected µîÀÇ ¾×¼¼½º ÁöÁ¤ÀÚ¸¦ Á¦°øÇÏ¸ç ¾×¼¼½º ÁöÁ¤ÀÚ·Î ¼û±æ ¸â¹ö¿Í °ø°³ÇÒ ¸â¹öÀÇ ºí·ÏÀ» ±¸¼ºÇϵµ·Ï ÇÑ´Ù. °ø°³µÈ ¸â¹ö´Â ¿ÜºÎ¿¡¼­ ÀÚÀ¯·Ó°Ô ÀÐÀ» ¼ö ÀÖÁö¸¸ ¼û°ÜÁø ¸â¹ö¸¦ ÂüÁ¶ÇÏ·Á°í ½ÃµµÇϸé ÄÄÆÄÀÏ °úÁ¤¿¡¼­ Á¢±ÙÇÒ ¼ö ¾ø´Ù´Â ¿¡·¯·Î 󸮵ȴÙ.