·»Áî·ÎºÎÅÍ ¿µ»óÀ» ¾ò´Â Ä«¸Þ¶ó´Â ÀÌÁ¦ ½º¸¶Æ®Æù¿¡ ºüÁú ¼ö ¾ø´Â Çʼö ±â´ÉÀÌ¸ç ½ÇÁ¦·Îµµ Ä«¸Þ¶ó°¡ ¾ø´Â ÆùÀ» º¸±â Èûµé´Ù. »çÁøÀ» Âï´Â º»ÁúÀûÀÎ ¿ëµµ´Â ¹°·ÐÀÌ°í ÀÌÁ¦´Â ¿µ»ó ÅëȱîÁöµµ ±âº» ±â´ÉÀ¸·Î Á¤ÂøµÇ¾úÀ¸¸ç ¹ÙÄÚµå ½ºÄµÀ̳ª ¹®ÀÚ ÀÎ½Ä µîÀÇ ÃֽŠ±â¼ú¿¡µµ Ä«¸Þ¶ó°¡ µÎ·ç »ç¿ëµÈ´Ù. ƯÈ÷ ÃÖ±Ù¿¡ ȵηΠ¶°¿À¸£´Â Áõ° Çö½ÇÀº Ä«¸Þ¶ó·ÎºÎÅÍ ÀÔ¼öÇÑ ¿µ»ó¿¡ °¡»óÀÇ Á¤º¸¸¦ °¡¹ÌÇØ »óȲ¿¡ ¸Â´Â ÃÖÀûÀÇ Á¤º¸¸¦ Á¦°øÇÑ´Ù.
Ä«¸Þ¶óÀÇ ¹°¸®ÀûÀÎ ¼º´ÉÀº Àåºñ¸¶´Ù õÂ÷ ¸¸º°·Î ´Ù¸£´Ù. °¢ Á¦Á¶»çµéÀº Çϵå¿þ¾îÀÇ ¸ðµç ±â´ÉÀ» ¾Æ³¦¾øÀÌ ¹ßÈÖÇÏ°í Ÿ»ç Á¦Ç°°úÀÇ Â÷º°È¸¦ À§ÇØ °íÀ¯ÀÇ ±â´ÉÀ» È®ÀåÇؼ Àû¿ëÇÑ´Ù. Ä«¸Þ¶óÀÇ ¼º´ÉÀÌ °ð ÆùÀÇ ¼º´ÉÀ¸·Î ÀÎ½ÄµÇ¸ç ¼±ÅÃÀÇ Áß¿äÇÑ ±âÁØÀ¸·Î ÀÛ¿ëÇÑ´Ù. ±×·¡¼ Ä«¸Þ¶ó ¾ÛÀº Çϵå¿þ¾î¿¡ °ÇÏ°Ô ÀÇÁ¸ÀûÀ̸ç Á¦Á¶»ç°¡ Á¦°øÇÑ ±âº» Ä«¸Þ¶ó°¡ ÇØ´ç Àåºñ¿¡¼´Â °¡Àå ÁÁÀº ¼º´ÉÀ» ³¾ ¼ö¹Û¿¡ ¾ø´Ù.
¸ðµç Àåºñ¿¡ µÎ·ç »ç¿ëÇÒ ¼ö ÀÖ´Â ¾ÛÀ» Á¦ÀÛÇÏ·Á¸é °øÅëÀûÀÎ ±âº» ±â´É¸¸ »ç¿ëÇϰųª ƯÁ¤ ±â´ÉÀÇ Á¸Àç À¯¹«¸¦ È®ÀÎÇÑ ÈÄ Çϵå¿þ¾îÀÇ ´É·ÂÄ¡¸¦ ÃÖ´ëÇÑ È°¿ëÇØ¾ß ÇÑ´Ù. ¾Èµå·ÎÀ̵åÀÇ Ä«¸Þ¶ó ¼ºñ½º´Â º¹Àâµµ¿¡ ºñÇØ ±²ÀåÈ÷ ±ò²ûÇÏ°Ô Àß Á¤ºñµÇ¾î ÀÖÀ¸¸ç ½Å·Ú¼ºµµ ³ô¾Æ¼ ±âº» API¸¸ Àß ¼÷ÁöÇصµ ¿øÇÏ´Â Ç°ÁúÀÇ ¿µ»óÀ» ½±°Ô ¾òÀ» ¼ö ÀÖ´Ù. Ä«¸Þ¶ó ±â´ÉÀ» »ç¿ëÇÏ·Á¸é ¸Å´ÏÆ佺Ʈ¿¡ ´ÙÀ½ ¼±¾ð¹®À» ÀÛ¼ºÇÑ´Ù.
<uses-permission android:name="android.permission.CAMERA" />
<uses-feature android:name="android.hardware.camera" />
<uses-feature android:name="android.hardware.camera.autofocus" />
¹°¸®ÀûÀÎ Çϵå¿þ¾î¸¦ »ç¿ëÇÏ´Â °ÍÀ̹ǷΠī¸Þ¶ó¸¦ »ç¿ëÇÏ°Ú´Ù´Â Æ۹̼ÇÀÌ ÇÊ¿äÇÏ¸ç »ç¿ëÀÚ¿¡°Ô Çã°¡¸¦ ¹Þ¾Æ¾ß ÇÑ´Ù. ÆÛ¹Ì¼Ç ¿Ü¿¡µµ uses-feature ¿¤¸®¸ÕÆ®·Î Ä«¸Þ¶ó Çϵå¿þ¾î¿Í ¿ÀÅä Æ÷Ä¿½º ±â´ÉÀ» »ç¿ëÇÑ´Ù´Â °ÍÀ» ¾Ë·Á ÇØ´ç ±â´ÉÀÌ ¾ø´Â Àåºñ¿¡ ¾ÛÀÌ ¼³Ä¡µÇ´Â °ÍÀ» ¹æÁöÇÒ ÇÊ¿ä°¡ ÀÖ´Ù. Ä«¸Þ¶ó ±â´ÉÀº ¿î¿µÃ¼Á¦ÀÇ ¼ºñ½º ÇüÅ·ΠÁ¦°øµÇ¸ç ¼ºñ½º¿Í ¾Û »çÀ̸¦ ¿¬°áÇØ ÁÖ´Â °ÍÀÌ ¹Ù·Î Camera Ŭ·¡½ºÀÌ´Ù. º°µµÀÇ »ý¼ºÀÚ´Â ¾øÀ¸¹Ç·Î ´ÙÀ½ ¸Þ¼µå·Î »ý¼º ¹× Æı«ÇÑ´Ù.
static Camera open ()
void release ()
Á¤Àû ¸Þ¼µå·Î Ä«¸Þ¶ó °´Ã¼¸¦ »ý¼ºÇÏ°í ´Ù »ç¿ëÇÑ ÈÄ release ¸Þ¼µå·Î ÇØÁ¦ÇÑ´Ù. Ä«¸Þ¶ó´Â ÀÔ¼öµÈ ¿µ»óÀÇ ¹Ì¸® º¸±â¸¦ Ç¥½ÃÇϱâ À§ÇØ Ç¥¸é °´Ã¼¸¦ ¿ä±¸ÇϹǷΠ°´Ã¼ »ý¼º ÈÄ ¹Ì¸® º¸±â Ç¥¸éÀ» Á¦°øÇØ¾ß ÇÑ´Ù. ¹Ì¸®º¸±â Ç¥¸éÀº ·»Áî·ÎºÎÅÍ ¿µ»óÀ» °ø±Þ¹ÞÀ¸¹Ç·Î º°µµÀÇ ¹öÆÛ¸¦ °¡Áú ÇÊ¿ä´Â ¾øÀ¸¸ç ±×·¡¼ ŸÀÔÀ» SURFACE_TYPE_PUSH_BUFFERS ·Î ¼³Á¤ÇÑ´Ù. ´ÙÀ½ ¸Þ¼µå·Î ¹Ì¸® º¸±â Ç¥¸é°ú ¹æÇâÀ» ÁöÁ¤ÇÑ´Ù.
void setPreviewDisplay (SurfaceHolder holder)
void setDisplayOrientation (int degrees)
¹Ì¸®º¸±â´Â ±âº»ÀûÀ¸·Î °¡·Î ¹æÇâÀ¸·Î Ç¥½ÃµÇ´Âµ¥ ´ëºÎºÐÀÇ »çÁøÀÌ °¡·Î ¹æÇâÀ¸·Î ÃÔ¿µµÇ¸ç µ¿¿µ»óµµ ¼¼·Î·Î µÈ °ÍÀº ¾ø±â ¶§¹®ÀÌ´Ù. ±×·¡¼ Ä«¸Þ¶ó´Â ÀåºñÀÇ ¹æÇâ¿¡ »ó°ü¾øÀÌ Ç×»ó °¡·Î Àü¿ëÀ¸·Î ½ÇÇàµÈ´Ù. ÃÔ¿µ½Ã¿¡ Àåºñ¸¦ ¸¹ÀÌ ¿òÁ÷À̴µ¥ À̶§ ȸéÀÌ ÀüȯµÇ¸é ¿ÀÈ÷·Á ºÒÆíÇϹǷΠÀϹÝÀûÀ¸·Î Ä«¸Þ¶ó´Â ¹æÇâ ÀüȯÀ» ÇÏÁö ¾Ê´Â´Ù. ÇÏÁö¸¸ Ä«¸Þ¶ó¸¦ Ư¼öÇÑ ¿ëµµ·Î »ç¿ëÇÏ´Â ¾Û¿¡¼´Â ¼¼·Î·Î ÃÔ¿µÇØ¾ß ÇÏ´Â °æ¿ìµµ ÀÖ¾î 2.2 ¹öÀüºÎÅÍ´Â ¹Ì¸®º¸±âÀÇ ¹æÇâÀ» º¯°æÇÏ´Â ¸Þ¼µå°¡ Ãß°¡µÇ¾ú´Ù. 0, 90, 180, 270 ½ÄÀ¸·Î ¹Ì¸®º¸±âÀÇ °¢µµ¸¦ ÁöÁ¤ÇÑ´Ù.
Ç¥¸éÀ» ÁöÁ¤ÇÑ ÈÄ Ä«¸Þ¶óÀÇ µ¿ÀÛ ¹æ½ÄÀ̳ª ¿©·¯ °¡Áö ¿É¼ÇÀ» ÁöÁ¤ÇÏ´Â ÆĶó¹ÌÅ͸¦ Àü´ÞÇÑ´Ù. ÆĶó¹ÌÅÍ´Â CameraÀÇ ³»ºÎ Ŭ·¡½ºÀÎ Parameters Ŭ·¡½º·Î Ç¥ÇöµÇ¸ç ´ÙÀ½ ¸Þ¼µå·Î Á¶»ç ¹× º¯°æÇÑ´Ù. get ¸Þ¼µå·Î ÇöÀç ÆĶó¹ÌÅ͸¦ ¾ò°í ¿øÇÏ´Â °ªÀ» ¼öÁ¤ÇÑ ÈÄ set ¸Þ¼µå·Î ÆíÁýÇÑ ÆĶó¹ÌÅ͸¦ ´Ù½Ã Àü´ÞÇϸé ÀÌÈĺÎÅÍ Ä«¸Þ¶ó´Â ¼öÁ¤µÈ ÆĶó¹ÌÅÍ´ë·Î µ¿ÀÛÇÑ´Ù. ½ÇÇàÁß¿¡¶óµµ ÆĶó¹ÌÅÍ´Â ¾ðÁ¦µçÁö ¼öÁ¤ÇÒ ¼ö ÀÖ´Ù.
Camera.Parameters getParameters ()
void setParameters (Camera.Parameters params)
ÆĶó¹ÌÅÍ·Î Á¶Á¤ÇÒ ¼ö ÀÖ´Â °ªÀº ÇØ»óµµ, À̹ÌÁö Ç°Áú, ¹Ì¸®º¸±âÀÇ Å©±â, Àå¸é, È¿°ú, ÁÜ, Æ÷Ä¿½º, Ç÷¡½Ã, ÈÀÌÆ® ¹ë·±½º, ȸÀü ¸ðµå µîµî ¾ÆÁÖ ´Ù¾çÇÏ´Ù. ÀϹÝÀûÀÎ µðÁöÅÐ Ä«¸Þ¶ó°¡ Áö¿øÇÏ´Â ¿É¼ÇµéÀÌ ´ëºÎºÐ Áö¿øµÈ´Ù. ±×·¯³ª ¸ðµç ¿É¼ÇÀÌ Ç×»ó ´Ù Áö¿øµÇ´Â °ÍÀº ¾Æ´Ï¸ç Ä«¸Þ¶óÀÇ ¹°¸®ÀûÀÎ ´É·ÂÄ¡¸¦ ÃÊ°úÇÒ ¼ö´Â ¾ø´Ù. ¶Ç Á¦Á¶»çº°·Î ³ëÃ⠽ð£, ISO, ¼Õ¶³¸² º¸Á¤, GPS ÁÂÇ¥ ±â·Ï µîÀÇ °í±Þ ¿É¼ÇµéÀ» Áö¿øÇϱ⵵ ÇÏ¸ç ¾ó±¼ ÀνÄ, ¿ô´Â Ç¥Á¤ ÀÎ½Ä µî Ç¥ÁØ¿¡ ¾ø´Â Ä¿½ºÅÒ ±â´ÉÀ» Áö¿øÇÏ´Â ¸ðµ¨µµ ÀÖ´Ù.
µû¶ó¼ ÆĶó¹ÌÅ͸¦ Á¶Á¤ÇÒ ¶§´Â Ç×»ó ÀåºñÀÇ ´É·ÂÄ¡¸¦ ¸ÕÀú Á¶»çÇØ º¸°í »ç¿ëÇÒ ¼ö ÀÖ´Â ÆĶó¹ÌÅÍÀÎÁö¸¦ Á¡°ËÇÑ ÈÄ Àû¿ëÇØ¾ß ÇÑ´Ù. Ç÷¡½Ã°¡ ¾ø´Â Ä«¸Þ¶ó¿¡ Àû¸ñ °¨¼Ò ±â´ÉÀ» Àû¿ëÇѴٰųª 300¸¸ È¼Ò Ä«¸Þ¶ó¿¡ 1000¸¸ ȼҸ¦ ÁöÁ¤ÇÏ´Â °ÍÀº ¾Æ¹« Àǹ̰¡ ¾ø´Ù. Parameters Ŭ·¡½º´Â ´É·ÂÄ¡¸¦ Á¶»çÇÏ´Â ¸Þ¼µå¿Í ¿É¼ÇÀ» º¯°æÇÏ´Â ¸Þ¼µå°¡ °°ÀÌ Á¦°øµÈ´Ù. ´ÙÀ½Àº ¹Ì¸® º¸±â ¿µ¿ªÀÇ Å©±â ¸ñ·ÏÀ» Á¶»çÇÏ°í ¼³Á¤ÇÏ´Â ¸Þ¼µåÀÌ´Ù.
List<Camera.Size> Camera.Parameters.getSupportedPreviewSizes ()
void Camera.Parameters.setPreviewSize (int width, int height)
Ä«¸Þ¶ó°¡ Áö¿øÇÏ´Â ¹Ì¸® º¸±â Å©±âÀÇ ¸ñ·ÏÀ» ¸ÕÀú ±¸ÇÏ°í Ç¥ÇöÇÏ°íÀÚ ÇÏ´Â ¹Ì¸® º¸±â¿Í ºñ±³ÇÏ¿© Á¾È¾ºñ°¡ °¡Àå ±ÙÁ¢ÇÏ°í °¡±ÞÀûÀÌ¸é ºñ½ÁÇÑ Å©±â·Î ¹Ì¸® º¸±â¸¦ Ç¥½ÃÇØ¾ß ÇÑ´Ù. ´ÙÀ½Àº »çÁøÀÇ Çػ󵵸¦ Á¶»ç ¹× ÁöÁ¤Çϴµ¥ ¹æ½ÄÀº µ¿ÀÏÇÏ´Ù.
List<Camera.Size> getSupportedPictureSizes ()
void setPictureSize (int width, int height)
ÇØ»óµµ ¸ñ·ÏÀ¸·Î 1600*1200, 2560*1920 µîÀÇ »ç¿ë °¡´ÉÇÑ Å©±â°¡ Á¶»çµÈ´Ù. ÀÌ ¸ñ·ÏÀ» »ç¿ëÀÚ¿¡°Ô º¸¿©ÁÖ°í »ç¿ëÀÚ°¡ ¼±ÅÃÇÑ Çػ󵵸¦ ¼±ÅÃÇϸé ÀÌÈÄ »çÁøÀÌ ÀÌ Å©±â´ë·Î ÃÔ¿µµÈ´Ù. ÆĶó¹ÌÅÍ·Î ¿É¼ÇÀ» ¼³Á¤ÇßÀ¸¸é ´ÙÀ½ ¸Þ¼µå·Î ¹Ì¸® º¸±â¸¦ Ç¥½ÃÇÑ´Ù.
void startPreview ()
void stopPreview ()
startPreview¸¦ È£ÃâÇϸé ÁöÁ¤ÇÑ Ç¥¸é¿¡ Ä«¸Þ¶ó ·»Áî·ÎºÎÅÍ ÀÔ¼öµÈ ¿µ»óÀÌ ¹Ýº¹ÀûÀ¸·Î Ãâ·ÂµÈ´Ù. ¹Ì¸® º¸±âÀÇ ÇÁ·¹ÀÓ ºñÀ²À̳ª Æ÷¸Ëµµ ÆĶó¹ÌÅÍ·Î ÁöÁ¤ÇÒ ¼ö ÀÖ´Ù. ¹Ì¸® º¸±â±îÁö ³ª¿ÔÀ¸¸é ¾ðÁ¦µçÁö »çÁøÀ» ÃÔ¿µÇÒ ¼ö ÀÖÁö¸¸ Á» ´õ ÁúÁÁÀº À̹ÌÁö¸¦ ¾ò±â À§ÇØ ¿ÀÅä Æ÷Ä¿½Ì °úÁ¤À» °ÅÃÄ¾ß ÇÑ´Ù.
void autoFocus (Camera.AutoFocusCallback cb)
void AutoFocusCallback.onAutoFocus (boolean success, Camera camera)
void cancelAutoFocus ()
autoFocus ¸Þ¼µå´Â Ä«¸Þ¶ó¿Í ¿µ»ó°£ÀÇ °Å¸®¸¦ ÀÚµ¿ ÆǺ°ÇÏ¿© ÃÊÁ¡À» Á¶ÀýÇÑ´Ù. ·»ÁîÀÇ ¸ðÅ͸¦ µ¿ÀÛ½ÃÄÑ ¿òÁ÷¿©¾ß ÇϹǷΠ´Ù¼Ò ½Ã°£ÀÌ °É¸®¸ç ±×·¡¼ ÀÌ ¸Þ¼µå´Â ºñµ¿±âÀûÀ¸·Î µ¿ÀÛÇÑ´Ù. ¿ÀÅä Æ÷Ä¿½Ì ÄݹéÀ» µî·ÏÇØ ³õÀ¸¸é Æ÷Ä¿½Ì ¿Ï·á ÈÄ¿¡ ÄݹéÀÌ È£ÃâµÇ¸ç À̶§ Àμö·Î Æ÷Ä¿½Ì ¼º°ø ¿©ºÎ°¡ Àü´ÞµÈ´Ù. ´ë°³ÀÇ °æ¿ì ¼º°øÇÏ°ÚÁö¸¸ ³Ê¹« ±ÙÁ¢ÇÑ °Å¸®¿¡¼´Â ½ÇÆÐÇÒ ¼öµµ ÀÖ´Ù. Æ÷Ä¿½Ì Áß¿¡ »ç¿ëÀÚÀÇ ´Ù¸¥ ¿äûÀÌ µé¾î¿Ô´Ù¸é Áß°£¿¡ Ãë¼ÒÇÒ ¼öµµ ÀÖ´Ù.
¸¸¾à Àåºñ°¡ ¿ÀÅä Æ÷Ä¿½ÌÀ» Áö¿øÇÏÁö ¾ÊÀ¸¸é ÄݹéÀÌ Áï½Ã È£ÃâµÇ¸ç À̶§ Æ÷Ä¿½ÌÀº ¼º°øÇÑ °ÍÀ¸·Î °¡Á¤ÇÑ´Ù. µû¶ó¼ ¿ÀÅä Æ÷Ä¿½ÌÀº ±â´ÉÀÇ Á¦°ø ¿©ºÎ¸¦ Á¶»çÇÒ ÇÊ¿ä¾øÀÌ ¹«Á¶°Ç È£ÃâÇصµ »ó°ü¾ø´Ù. ´ë»ó¿¡ ´ëÇØ ÃÊÁ¡À» Á¤È®ÇÏ°Ô Àâ¾ÒÀ¸¸é ÀÌÁ¦ »çÁøÀ» ÂïÀ» Â÷·ÊÀÌ´Ù. À̶§´Â ´ÙÀ½ ¸Þ¼µå¸¦ È£ÃâÇÑ´Ù.
void takePicture (Camera.ShutterCallback shutter, Camera.PictureCallback raw, [Camera.PictureCallback postview, ] Camera.PictureCallback jpeg)
»çÁø ÇÑÀåÀ» ÃÔ¿µÇϴµ¥´Â ±²ÀåÈ÷ ¸¹Àº ÀýÂ÷¸¦ °ÅÃÄ¾ß Çϴµ¥´Ù ´ë¿ë·®ÀÇ µ¥ÀÌÅ͸¦ Á¶ÀÛÇØ¾ß ÇÑ´Ù. ÀÔ¼öµÈ ¿µ»óÀ» Çػ󵵿¡ ¸Â°Ô Ãà¼ÒÇÏ°í È¿°ú¸¦ ÀÔÈ÷°í Jpeg Æ÷¸ËÀ¸·Î º¯È¯ ¹× ¾ÐÃà±îÁö ÇØ¾ß ÇϹǷΠ»ó´çÇÑ ½Ã°£ÀÌ °É¸°´Ù. ±×·¡¼ takePicture ¸Þ¼µå´Â Ä«¸Þ¶ó ¼ºñ½º¿¡°Ô »çÁø ÃÔ¿µ ¸í·É¸¸ ³»¸° ÈÄ Áï½Ã ¸®ÅÏÇ쵂 °¢ ´Ü°è¸¶´Ù È£ÃâµÉ ÄÝ¹é ¸Þ¼µå¸¦ Àü´ÞÇØ ³õ´Â´Ù. ÇÊ¿äÄ¡ ¾ÊÀº ÄݹéÀº null·Î ÁöÁ¤ÇÏ¿© »ý·«ÇÒ ¼ö ÀÖ´Ù.
¼ÅÅÍ ÄݹéÀº ¼ÅÅ͸¦ ´ÝÀ» ¶§ È£ÃâµÇ´Âµ¥ º¸Åë ÀÌ ½ÃÁ¡¿¡¼ ÂûĬ ÇÏ´Â ¼ÅÅÍÀ½À» ³½´Ù. ÀÌ Äݹ鿡¼ ¾Æ¹« °Íµµ ÇÏÁö ¾ÊÀ¸¸é ¼Ò¸®°¡ ¾È³ª¾ß Á¤»óÀÌÁö¸¸ ¹«À½ ÃÔ¿µÀÌ ¹ýÀûÀ¸·Î ±ÝÁöµÇ¾î ÀÖ´Â °æ¿ì¿¡´Â °Á¦·Î ¼Ò¸®°¡ ³ª±âµµ ÇÑ´Ù. ¿ì¸® ³ª¶óÀÇ °æ¿ìµµ ±×·±µ¥ ½ÉÁö¾î Áøµ¿ ¸ðµåÀÎ »óÅ¿¡¼µµ ÃÔ¿µÀ½ÀÌ µé¸°´Ù. PictureCallback ÀÎÅÍÆäÀ̽º¿¡´Â ´ÙÀ½ ÄÝ¹é ¸Þ¼µå°¡ Á¤ÀǵǾî Àִµ¥ °¢ ´Ü°èÀÇ À̹ÌÁö¸¦ ¾òÀ» ¶§¸¶´Ù ÀÌ ¸Þ¼µå°¡ È£ÃâµÈ´Ù.
void onPictureTaken (byte[] data, Camera camera)
data Àμö´Â À̹ÌÁöÀÇ ·¡½ºÅÍ Á¤º¸ÀÌ´Ù. ·Î(raw) ÄݹéÀ¸·Î´Â ¾ÐÃàÇϱâ ÀüÀÇ ¿øº» À̹ÌÁö µ¥ÀÌÅÍ°¡ Àü´ÞµÇ´Âµ¥ ¿ë·®ÀÌ ´ë´ÜÈ÷ Å©´Ù. ¹ÙÄÚµå ¸®´õ±â³ª OCRó·³ ¼Õ½Ç¾ø´Â ¿µ»óÀÌ ÇÊ¿äÇÒ ¶§ ÀÌ ÄݹéÀ» ó¸®Ç쵂 ¸Þ¸ð¸®°¡ ÃæºÐÇÏÁö ¾ÊÀ» °æ¿ì´Â ¿øº» ¿µ»óÀÌ Àü´ÞµÇÁö ¾Ê´Â´Ù. Æ÷½ºÆ® ºä ÄݹéÀº ÃÔ¿µ ÈÄ ¾×Á¤À¸·Î º¸¿©ÁÙ À̹ÌÁö°¡ Å©±â Á¶Á¤ÀÌ ¿Ï·áµÈ »óÅ·ΠÀü´ÞµÈ´Ù.
Ä«¸Þ¶óÀÇ °æ¿ì °¡Àå Áß¿äÇÑ ÄݹéÀº À̹ÌÁö µ¥ÀÌÅ͸¦ ¾ÐÃàÇؼ Àü´ÞÇÏ´Â Jpeg ÄݹéÀÌ´Ù. ¹Ì¸® Á¤ÇÑ Æ÷¸ËÀ¸·Î ¾ÐÃàµÈ À̹ÌÁö°¡ Àü´ÞµÇ´Âµ¥ Åë»ó JPEG Æ÷¸ËÀ̸ç ÀÌ µ¥ÀÌÅ͸¦ ÆÄÀÏ·Î ÀúÀåÇϸé ÃÔ¿µµÈ »çÁø ÆÄÀÏÀÌ µÇ´Â °ÍÀÌ´Ù. À̹ÌÁö¸¦ ÀúÀåÇÒ ¶§ GPS ÁÂÇ¥³ª È¸é ¹æÇâ µîÀÇ »ó¼¼ Á¤º¸¸¦ Exif Çì´õ¿¡ ÀúÀåÇÒ ¼öµµ ÀÖ´Ù. ¶Ç »õ À̹ÌÁö°¡ Ãß°¡µÇ¾úÀ¸¹Ç·Î ¹Ìµð¾î DB¿¡°Ô ½ÅÈ£¸¦ º¸³»´Â 󸮵µ ÇÊ¿äÇÏ´Ù.
takePicture ¸Þ¼µå´Â ÃÔ¿µÀü¿¡ ¹Ì¸®º¸±â¸¦ ÀÚµ¿À¸·Î ÁßÁöÇϹǷΠstopPreview¸¦ È£ÃâÇÒ ÇÊ¿ä´Â ¾ø´Ù. ·»Áî·ÎºÎÅÍ ÃÔ¿µ ¿µ»óÀ» ÀоîµéÀÌ´Â µ¿¾È¿¡´Â ¹Ì¸®º¸±â°¡ °Á¦·Î ÁßÁöµÈ´Ù. ±×·¯³ª ÃÔ¿µÀÌ ³¡³ ÈÄ ¹Ì¸®º¸±â¸¦ ÀÚµ¿À¸·Î Àç½ÃÀÛÇÏÁö´Â ¾ÊÀ¸¹Ç·Î startPreview´Â Á÷Á¢ È£ÃâÇØ¾ß ÇÑ´Ù. ÀÌ Ã³¸®´Â º¸Åë Jpeg Äݹ鿡¼ ÆÄÀÏ ÀúÀå±îÁö ¿Ï·áÇÑ ÈÄ¿¡ ¼öÇàÇÑ´Ù. ¹Ì¸®º¸±â°¡ ´Ù½Ã ³ª¿À¸é ´ÙÀ½ ÃÔ¿µÀ» °è¼ÓÇÒ ¼ö ÀÖ´Ù.
¾Õ Ç׿¡¼ Camera Ŭ·¡½º¸¦ ÇÁ·Î±×·¡¹ÖÇÏ´Â ´ë·«ÀûÀÎ ÀýÂ÷¿¡ ´ëÇØ ¼Ò°³Çߴµ¥ Á» ±æ±â´Â ÇÏÁö¸¸ Áö±ØÈ÷ »ó½ÄÀûÀÌ°í ÀÛ¾÷ °úÁ¤ÀÌ Á÷¼±ÀûÀÌ¾î¼ ÀÌÇØÇϱâ´Â ½±´Ù. Ä«¸Þ¶ó ¿°í ¹Ì¸® º¸±â ÁöÁ¤ÇÑ ÈÄ ¿É¼Ç ¼³Á¤ÇÏ°í ÂïÀ¸¸é µÇ´Â °ÍÀÌ´Ù. ±×·¯³ª ¹Ì¸® º¸±â Ç¥¸éÀ» µû·Î ÁغñÇØ¾ß Çϴµ¥´Ù ¿ÀÅä Æ÷Ä¿½Ì°ú ÃÔ¿µ °úÁ¤ÀÌ ¸ðµÎ ºñµ¿±âÀûÀ¸·Î ¼öÇàµÇ¹Ç·Î ¾ðÁ¦ ¾î¶² ¸Þ¼µå¸¦ ¼ø¼¿¡ ¸Â°Ô È£ÃâÇØ¾ß ÇÏ´ÂÁö¸¦ ÆľÇÇÏ´Â °ÍÀÌ ´Ù¼Ò ¾î·Æ°í ÇÊ¿äÇÑ ÄݹéÀ» ¼±Á¤Çϱ⵵ ½±Áö ¾Ê´Ù.
·»Áî·ÎºÎÅÍ ¿ÜºÎÀÇ ¿µ»óÀ» ¹Þ¾Æ ÆÄÀÏ ÇüÅ·ΠÀúÀåÇϱâ±îÁöÀÇ °úÁ¤ÀÌ ´Ù¼Ò º¹ÀâÇÑ ÆíÀÌ´Ù. ÀÌ·± ½Ç½ÀÀ» ÇÒ ¶§´Â °í±Þ ±â´ÉÀº ÁË´Ù ¹«½ÃÇÏ°í °¡Àå ±âº»ÀûÀÎ ÃÔ¿µ±îÁö¸¸ ÇØ º¸´Â °£´ÜÇÑ ¿¹Á¦°¡ µµ¿òÀÌ µÈ´Ù. ´ÙÀ½ ¿¹Á¦·Î ÀÏ´Ü Ä«¸Þ¶ó ÇÁ·Î±×·¡¹ÖÀÇ ±âº»À» ÀÍÇô º¸ÀÚ. ªÁö¸¸ Æ÷Ä¿½Ì, ÃÔ¿µ, ÀúÀå Á¤µµÀÇ ±â´ÉÀ» Á¦°øÇÑ´Ù. ÀÌ Á¤µµ ±æÀÌÀÇ ¼Ò½º·Î Ä«¸Þ¶ó°¡ ±¸ÇöµÈ´Ù´Â °ÍÀÌ ³î¶ø´Ù.
mm_Camera |
public class mm_Camera extends Activity {
MyCameraSurface mSurface;
Button mShutter;
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.mm_camera);
mSurface = (MyCameraSurface)findViewById(R.id.preview);
// ¿ÀÅä Æ÷Ä¿½º ½ÃÀÛ
findViewById(R.id.focus).setOnClickListener(new Button.OnClickListener() {
public void onClick(View v) {
mShutter.setEnabled(false);
mSurface.mCamera.autoFocus(mAutoFocus);
}
});
// »çÁø ÃÔ¿µ
mShutter = (Button)findViewById(R.id.shutter);
mShutter.setOnClickListener(new Button.OnClickListener() {
public void onClick(View v) {
mSurface.mCamera.takePicture(null, null, mPicture);
}
});
}
// Æ÷Ä¿½Ì ¼º°øÇϸé ÃÔ¿µ Çã°¡
AutoFocusCallback mAutoFocus = new AutoFocusCallback() {
public void onAutoFocus(boolean success, Camera camera) {
mShutter.setEnabled(success);
}
};
// »çÁø ÀúÀå.
PictureCallback mPicture = new PictureCallback() {
public void onPictureTaken(byte[] data, Camera camera) {
String path = "/sdcard/cameratest.jpg";
File file = new File(path);
try {
FileOutputStream fos = new FileOutputStream(file);
fos.write(data);
fos.flush();
fos.close();
} catch (Exception e) {
Toast.makeText(mm_Camera.this, "ÆÄÀÏ ÀúÀå Áß ¿¡·¯ ¹ß»ý : " +
e.getMessage(), 0).show();
return;
}
Intent intent = new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE);
Uri uri = Uri.parse("file://" + path);
intent.setData(uri);
sendBroadcast(intent);
Toast.makeText(mm_Camera.this, "»çÁø ÀúÀå ¿Ï·á : " + path, 0).show();
mSurface.mCamera.startPreview();
}
};
}
// ¹Ì¸®º¸±â Ç¥¸é Ŭ·¡½º
class MyCameraSurface extends SurfaceView implements SurfaceHolder.Callback {
SurfaceHolder mHolder;
Camera mCamera;
public MyCameraSurface(Context context, AttributeSet attrs) {
super(context, attrs);
mHolder = getHolder();
mHolder.addCallback(this);
mHolder.setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS);
}
// Ç¥¸é »ý¼º½Ã Ä«¸Þ¶ó ¿ÀÇÂÇÏ°í ¹Ì¸®º¸±â ¼³Á¤
public void surfaceCreated(SurfaceHolder holder) {
mCamera = Camera.open();
try {
mCamera.setPreviewDisplay(mHolder);
} catch (IOException e) {
mCamera.release();
mCamera = null;
}
}
// Ç¥¸é Æı«½Ã Ä«¸Þ¶óµµ Æı«ÇÑ´Ù.
public void surfaceDestroyed(SurfaceHolder holder) {
if (mCamera != null) {
mCamera.stopPreview();
mCamera.release();
mCamera = null;
}
}
// Ç¥¸éÀÇ Å©±â°¡ °áÁ¤µÉ ¶§ ÃÖÀûÀÇ ¹Ì¸®º¸±â Å©±â¸¦ ±¸ÇØ ¼³Á¤ÇÑ´Ù.
public void surfaceChanged(SurfaceHolder holder, int format, int width, int height) {
Camera.Parameters params = mCamera.getParameters();
List<Size> arSize = params.getSupportedPreviewSizes();
if (arSize == null) {
params.setPreviewSize(width, height);
} else {
int diff = 10000;
Size opti = null;
for (Size s : arSize) {
if (Math.abs(s.height - height) < diff) {
diff = Math.abs(s.height - height);
opti = s;
}
}
params.setPreviewSize(opti.width, opti.height);
}
mCamera.setParameters(params);
mCamera.startPreview();
}
}
·¹À̾ƿô¿¡´Â Æ÷Ä¿½Ì°ú ÃÔ¿µÀ» À§ÇÑ ¹öÆ° µÎ°³¿Í ¹Ì¸® º¸±â Ç¥¸éÀÌ ¹èÄ¡µÇ¾î ÀÖ´Ù. ¹öÆ° ¿µ¿ª¿¡ 118dip ÆøÀ» ÇÒ´çÇÏ°í ¹Ì¸® º¸±â°¡ ³ª¸ÓÁö 262dip ÆøÀ» Â÷ÁöÇϴµ¥ ÀÌ´Â ÀϹÝÀûÀ¸·Î ¸¹ÀÌ ÃÔ¿µµÇ´Â ÇØ»óµµÀÇ 4:3 ºñÀ²À» ¿¡¹Ä·¹ÀÌÅÍ È¯°æ¿¡ ¸ÂÃá °ÍÀÌ´Ù. ¿ÍÀ̵å Çػ󵵸¦ Áö¿øÇÏ´Â Àåºñ´Â »ç¿ëÀÚ°¡ ¼±ÅÃÇÑ ÇØ»óµµÀÇ Á¾È¾ºñ¿Í ÀåºñÀÇ ½ÇÁ¦ Çػ󵵿¡ ¸Â°Ô ¹Ì¸® º¸±âÀÇ Å©±â¸¦ µ¿ÀûÀ¸·Î Á¶Á¤ÇØ¾ß ÇÑ´Ù.
¾×ƼºñƼ´Â °¡·Î Àü¿ëÀ¸·Î ¼³Á¤ÇÏ¿© ¹æÇâ ÀüȯÀ» ±ÝÁöÇß´Ù. ¼¼·Î ÃÔ¿µµµ °¡´ÉÇϱâ´Â ÇÏÁö¸¸ ¾ÆÁ÷ 2.2 ÀÌ»óÀÇ Àåºñ°¡ ÀϹÝȵÇÁö ¾Ê¾Æ ȣȯ¼º È®º¸¸¦ À§ÇØ ¹æÇâÀ» °íÁ¤ÇÏ´Â °ÍÀÌ ÁÁ´Ù. »ç½Ç Ä«¸Þ¶ó´Â ÃÔ¿µÁß¿¡ ¹æÇâÀÌ ÇԺηΠÀüȯµÇ¸é ¿ÀÈ÷·Á ºÒÆíÇϹǷΠ°¡·Îµç, ¼¼·Îµç ¹æÇâÀ» °íÁ¤ÇÏ´Â °ÍÀÌ Çö½ÇÀûÀ¸·Î ÇÕ´çÇÏ´Ù. ´ÙÀ½Àº ¿¡¹Ä·¹ÀÌÅÍ¿¡¼ ½ÇÇàÇÑ ¸ð½ÀÀÌ´Ù.
¿¡¹Ä·¹ÀÌÅÍ´Â ·»Áî°¡ ¾øÀ¸¹Ç·Î ½ÇÁ¦ ¹Ì¸® º¸±â ¿µ»óÀÌ ³ªÅ¸³ªÁö ¾Ê´Â´Ù. ´ë½Å üũ ¹«´ÌÀ§¸¦ ¿òÁ÷ÀÌ´Â »ç°¢ÇüÀ» ¹Ýº¹ÀûÀ¸·Î º¸¿©ÁÜÀ¸·Î½á ¹Ì¸®º¸±â¸¦ Èä³»³½´Ù. ¿¡¹Ä·¹ÀÌÅÍ´ä°Ô ¹Ì¸®º¸±â ¿µ»ó±îÁöµµ ±×·²µíÇÏ°Ô Èä³»¸¦ ³» ÁÖ´Â °ÍÀÌ´Ù. ÀÌ ¾Ö´Ï¸ÞÀ̼ÇÀÌ ½ÇÀåºñ¿¡¼´Â ·»Áî·ÎºÎÅÍ ÀÔ¼öµÈ ¿µ»óÀ¸·Î ´ëüµÈ´Ù. ·»Áî°¡ ¾øÀ¸¹Ç·Î ¿ÀÅä Æ÷Ä¿½Ìµµ Áö¿øµÇÁö ¾ÊÁö¸¸ Ç×»ó ¼º°øÇÏ´Â °ÍÀ¸·Î °¡Á¤ÇϹǷΠ»çÁø ÃÔ¿µÀº °¡´ÉÇÏ´Ù.
¿¡¹Ä·¹ÀÌÅÍ¿¡¼ ÃÔ¿µÀ» ÇÏ¸é ´õ¹Ì À̹ÌÁö Çϳª°¡ »ý¼ºµÇ´Âµ¥ ÀÌ ¿ª½Ã °¡Â¥ À̹ÌÁöÀÌ´Ù. »çÁøÀÌ Á¦´ë·Î ÃÔ¿µµÇ´ÂÁö È®ÀÎÇØ º¸·Á¸é ·»Á °¡Áø ½ÇÀåºñ°¡ ÇÊ¿äÇÏ´Ù. ´ÙÀ½Àº ½ÇÀåºñ¿¡¼ ÀÌ ¿¹Á¦¸¦ ½ÇÇàÇÑ ¸ð½ÀÀÌ´Ù. ¹Ì¸® º¸±â°¡ ³ªÅ¸³ª ¿òÁ÷À̸ç Focus ¹öÆ°À» ´©¸£¸é ÃÊÁ¡À» Àâ°í Shutter ¹öÆ°À» ´©¸£¸é ½ÇÁ¦ ÃÔ¿µµµ Àß µÈ´Ù. UI°¡ ±Ø´ÜÀûÀ¸·Î Ã̽º·´±â´Â ÇÏÁö¸¸ ÃÔ¿µÀº ÈǸ¢ÇÏ°Ô Àß ¼öÇàµÈ´Ù.
¼Ò½º¸¦ ºÐ¼®ÇØ º¸ÀÚ. ¹Ì¸® º¸±â´Â Ä«¸Þ¶óÀÇ Çʼö ¿ä¼ÒÀ̹ǷΠ¾Æ·¡ÂÊ¿¡ ¹Ì¸® º¸±â¸¦ À§ÇÑ Ç¥¸éÀÎ MyCameraSurface Ŭ·¡½º¸¦ Á¤ÀÇÇß´Ù. »ý¼ºÀÚ¿¡¼ ÄݹéÀ» ½º½º·Î ó¸®ÇÔÀ» ¸í½ÃÇßÀ¸¸ç ¹öÆÛ Å¸ÀÔÀ» ¼³Á¤ÇÑ´Ù. Ç¥¸é°ú Ä«¸Þ¶ó´Â »ý¸í ÁֱⰡ ÀÏÄ¡Çϸç Ç¥¸éÀÌ ¸ÕÀú ÁغñµÇ¾î¾ß Ä«¸Þ¶ó°¡ µ¿ÀÛÇÒ ¼ö ÀÖ´Ù. ±×·¡¼ Ä«¸Þ¶óÀÇ ÃʱâÈ¿Í ÇØÁ¦ ÄÚµå´Â Ç¥¸éÀÇ ÄÝ¹é ¸Þ¼µå¿¡ ÀÛ¼ºµÈ´Ù. Ç¥¸éÀÌ »ý¼ºµÉ ¶§ Ä«¸Þ¶ó¸¦ »ý¼ºÇÏ°í ÀÚ½ÅÀ» ¹Ì¸® º¸±â ¿µ¿ªÀ¸·Î Á¦°øÇÑ´Ù.
Ç¥¸éÀÌ º¯°æµÉ ¶§, Áï Ç¥¸éÀÇ Å©±â°¡ óÀ½ °áÁ¤µÉ ¶§ ¹Ì¸® º¸±âÀÇ Å©±â¸¦ °áÁ¤Çϴµ¥ ÀÌ ÄÚµå´Â ´Ù¼Ò º¹ÀâÇÏ´Ù. Àåºñ°¡ Áö¿øÇÏ´Â ¹Ì¸® º¸±â ¿µ¿ªÀÇ ¸ñ·ÏÀ» ÆĶó¹ÌÅÍ¿¡¼ ±¸ÇÏ°í ±× Áß Ç¥¸éÀÇ ½ÇÁ¦ Å©±â¿Í °¡Àå ±ÙÁ¢ÇÑ Å©±â¸¦ ¼±ÅÃÇÑ´Ù. ¸¸¾à Áö¿ø ¸ñ·ÏÀ» ±¸ÇÒ ¼ö ¾øÀ¸¸é ¾î¿ ¼ö ¾øÀÌ Ç¥¸éÀÇ Å©±â¸¦ ±×´ë·Î Àü´ÞÇÑ´Ù. Å©±â¸¦ Á¤ÇÑ ÈÄ startPreview¸¦ È£ÃâÇϸé Ç¥¸é¿¡ ¹Ì¸® º¸±â°¡ Ãâ·ÂµÈ´Ù. Ç¥¸éÀÌ Æı«µÉ ¶§´Â ¹Ì¸® º¸±â¸¦ ³¡³»°í Ä«¸Þ¶óµµ ÇØÁ¦ÇÑ´Ù.
Ç¥¸éÀÇ Äݹ鸸 Á¦´ë·Î ó¸®Çصµ ¹Ì¸® º¸±â±îÁö´Â Àß ³ª¿À¸ç ÀÌ »óÅ¿¡¼ ¹Ù·Î ÃÔ¿µÇÒ ¼ö ÀÖ´Ù. Focus ¹öÆ°À» ´©¸£¸é ¼ÅÅÍ ¹öÆ°À» Àá½Ã »ç¿ë ±ÝÁö½ÃÅ°°í autoFocus ¸Þ¼µå¸¦ È£ÃâÇÏ¿© ÃÊÁ¡À» Àâ´Â´Ù. Æ÷Ä¿½º Äݹ鿡¼ Æ÷Ä¿½ÌÀÌ ¼º°øÇÏ¸é ¼ÅÅÍ ¹öÆ°À» Çã°¡ÇÑ´Ù. Æ÷Ä¿½Ì°ú ÃÔ¿µ µÎ °úÁ¤À» ¸íÈ®ÇÏ°Ô º¸À̱â À§ÇØ ÀǵµÀûÀ¸·Î ¹öÆ°À» µû·Î µÎ¾ú´Âµ¥ ¹öÆ° Çϳª·Î µÎ ÀÛ¾÷À» ¼øÂ÷ ó¸®ÇÒ ¼öµµ ÀÖ´Ù. ´Ù¸¸ Áß°£¿¡ ¹öÆ°À» ³õÀ¸¸é Ãë¼ÒÇÏ´Â °úÁ¤ÀÌ Á» º¹ÀâÇØÁø´Ù.
ÃÔ¿µ ¹öÆ°À» ´©¸£¸é takePicture ¸Þ¼µå·Î ÃÔ¿µÀ» ÇÑ´Ù. Ä«¸Þ¶ó´Â °á±¹ »çÁøÀ» ¾ò´Â °ÍÀÌ ±Ã±ØÀÇ ¸ñÀûÀ̹ǷΠ´Ù¸¥ ÄݹéÀº ¹«½ÃÇÏ°í Jpeg Äݹ鸸 ó¸®Çß´Ù. ÆÄÀÏ¿¡ ·¡½ºÅÍ µ¥ÀÌÅ͸¦ ÀúÀåÇÏ°í »õ·Î ÃÔ¿µµÈ À̹ÌÁö¸¦ DB¿¡ Ãß°¡Çϱâ À§ÇØ SCAN_FILE ¹æ¼ÛÀ» º¸³½´Ù. Á» ´õ ½Å¼ÓÇÏ°Ô »ðÀÔÇÏ·Á¸é ¹æ¼ÛÀ» ÇÏ´Â ´ë½Å ¹Ìµð¾î DB¿¡ Á÷Á¢ ·¹Äڵ带 »ðÀÔÇÏ´Â ¹æ¹ýµµ °¡´ÉÇÏ´Ù. ÃÔ¿µ ÈÄ °¶·¯¸®¸¦ ¿¾î º¸¸é »õ·Î ÂïÀº »çÁøÀÌ º¸ÀÏ °ÍÀÌ´Ù.
ÀÌ ¿¹Á¦´Â ºñ·Ï ªÁö¸¸ Ä«¸Þ¶ó Á¦ÀÛÀÇ ±âº» »À´ë¸¦ Àß º¸¿©ÁØ´Ù. µðÀÚÀÎÀ» Á» ´õ ½Ó¹ÚÇÏ°Ô Àå½ÄÇÏ°í ÇØ»óµµ º¯°æÀ̳ª ŸÀÌ¸Ó Á¤µµÀÇ ±â´É¸¸ ³Ö¾îµµ ½Ç¿ë¼ºÀÌ ÈξÀ ´õ °³¼±µÉ °ÍÀÌ´Ù. mm_SHCamera ¿¹Á¦´Â ±âº» ±â´É¿¡ ¾à°£ÀÇ Ãß°¡ ±â´ÉÀ» ´õÇØ ½Ç¿ëÀûÀ¸·Îµµ ¾µ¸¸ÇÏ°Ô ¸¸µé¾î º» °ÍÀÌµÇ ÀÌ Á¤µµ µÇ¸é ¿¹Á¦·Î¼ÀÇ °¡Ä¡´Â ¶³¾îÁö¹Ç·Î ¼Ò½º ºÐ¼®Àº »ý·«Çϱâ·Î ÇÑ´Ù. ¿ø°í ÁýÇÊ¿¡ ½Ã´Þ¸®´Ù º¸´Ï ¿äÁòÀº ´ÙÀ½ °£½ÄÀ» Á¾Á¾ ¸Ô¾î¾ß ÇÑ´Ù.
¾Õ ¿¹Á¦¿Í´Â ´Ù¼Ò ´Þ¶óÁ³´Âµ¥ ÁÖ·Î ¿À¸¥¼ÕÀ¸·Î ÃÔ¿µÀ» ÇϹǷΠ¹öÆ°µéÀ» ¿À¸¥ÂÊÀ¸·Î ¿Å°åÀ¸¸ç ¸î °¡Áö ±â´ÉÀ» ´õ ³Ö¾ú´Ù. ÃÔ¿µ ¹öÆ°À» ´©¸£¸é Æ÷Ä¿½º Àâ°í ¹Ù·Î ÃÔ¿µÀ» Çϴµ¥ ȸé ÅÍÄ¡ ½ÃÁ¡°ú ÃÔ¿µ ½ÃÁ¡À» ºÐ¸®ÇÏ¿© ¶³¸²À» ¹æÁöÇÏÀÚ´Â ÀǵµÀÌ´Ù. °£´ÜÇÑ ¾ÆÀ̵ð¾îÁö¸¸ ÅÍÄ¡Æù¿¡¼´Â ÈÁú Çâ»ó¿¡ ²Ï µµ¿òÀÌ µÈ´Ù. ÇØ»óµµ ¼±Åà ±â´É°ú Á¢»ç ¸ðµå Á¤µµ¸¦ Ãß°¡Çß°í ÃÖÈÄ·Î ÂïÀº »çÁøÀÌ Á¦´ë·Î ÂïÇû´ÂÁö È®ÀÎÇÏ´Â ¸®ºä ±â´Éµµ Á¦°øÇÑ´Ù.
ÀÌ¿Ü¿¡µµ ¾ÆÁÖ ¸¹Àº ±â´ÉµéÀ» ´õ ³ÖÀ» ¼ö ÀÖÁö¸¸ ±×´ÙÁö ½Ç¿ë¼ºÀº ¾ø¾î º¸ÀδÙ. Àå¸é ¸ðµå´Ï ¹ÝÀü, ¼¼ÇÇ¾Æ °°Àº È¿°úµéÀº ÂïÀº ÈÄ¿¡ Àû¿ëÇÏ´Â °ÍÀÌ ´õ Ç°ÁúÀÌ ÁÁ°í µðÁöÅÐ ÁÜÀº ÀÖÀ¸³ª ¸¶³ªÇÑ ±â´ÉÀÌ´Ù. °¡Àå ºó¹øÇÏ°Ô »ç¿ëÇÏ´Â ±â´ÉÀÌ ½Ì±Û ¼¦À̹ǷΠÀÌ ±â´É¿¡¸¸ ÁýÁßÇؼ °£´ÜÇÏ°Ô ¸¸µé¾î º» °ÍÀÌ¸ç °³ÀÎÀûÀ¸·Î À¯¿ëÇÏ°Ô Àß ¾²°í ÀÖ´Ù. ¿©·¯ºÐµéµµ ÀڽŸ¸ÀÇ Ä«¸Þ¶ó¸¦ ¸¸µé¾î »ç¿ëÇØ º¸±â ¹Ù¶õ´Ù.