4.Ä«¸Þ¶ó

1.Camera

·»Áî·ÎºÎÅÍ ¿µ»óÀ» ¾ò´Â Ä«¸Þ¶ó´Â ÀÌÁ¦ ½º¸¶Æ®Æù¿¡ ºüÁú ¼ö ¾ø´Â Çʼö ±â´ÉÀÌ¸ç ½ÇÁ¦·Îµµ Ä«¸Þ¶ó°¡ ¾ø´Â ÆùÀ» º¸±â Èûµé´Ù. »çÁøÀ» Âï´Â º»ÁúÀûÀÎ ¿ëµµ´Â ¹°·ÐÀÌ°í ÀÌÁ¦´Â ¿µ»ó ÅëÈ­±îÁöµµ ±âº» ±â´ÉÀ¸·Î Á¤ÂøµÇ¾úÀ¸¸ç ¹ÙÄÚµå ½ºÄµÀ̳ª ¹®ÀÚ ÀÎ½Ä µîÀÇ ÃֽŠ±â¼ú¿¡µµ Ä«¸Þ¶ó°¡ µÎ·ç »ç¿ëµÈ´Ù. ƯÈ÷ ÃÖ±Ù¿¡ È­µÎ·Î ¶°¿À¸£´Â Áõ°­ Çö½ÇÀº Ä«¸Þ¶ó·ÎºÎÅÍ ÀÔ¼öÇÑ ¿µ»ó¿¡ °¡»óÀÇ Á¤º¸¸¦ °¡¹ÌÇØ »óȲ¿¡ ¸Â´Â ÃÖÀûÀÇ Á¤º¸¸¦ Á¦°øÇÑ´Ù.

Ä«¸Þ¶óÀÇ ¹°¸®ÀûÀÎ ¼º´ÉÀº Àåºñ¸¶´Ù õÂ÷ ¸¸º°·Î ´Ù¸£´Ù. °¢ Á¦Á¶»çµéÀº Çϵå¿þ¾îÀÇ ¸ðµç ±â´ÉÀ» ¾Æ³¦¾øÀÌ ¹ßÈÖÇÏ°í Ÿ»ç Á¦Ç°°úÀÇ Â÷º°È­¸¦ À§ÇØ °íÀ¯ÀÇ ±â´ÉÀ» È®ÀåÇؼ­ Àû¿ëÇÑ´Ù. Ä«¸Þ¶óÀÇ ¼º´ÉÀÌ °ð ÆùÀÇ ¼º´ÉÀ¸·Î ÀÎ½ÄµÇ¸ç ¼±ÅÃÀÇ Áß¿äÇÑ ±âÁØÀ¸·Î ÀÛ¿ëÇÑ´Ù. ±×·¡¼­ Ä«¸Þ¶ó ¾ÛÀº Çϵå¿þ¾î¿¡ °­ÇÏ°Ô ÀÇÁ¸ÀûÀ̸ç Á¦Á¶»ç°¡ Á¦°øÇÑ ±âº» Ä«¸Þ¶ó°¡ ÇØ´ç Àåºñ¿¡¼­´Â °¡Àå ÁÁÀº ¼º´ÉÀ» ³¾ ¼ö¹Û¿¡ ¾ø´Ù.

¸ðµç Àåºñ¿¡ µÎ·ç »ç¿ëÇÒ ¼ö ÀÖ´Â ¾ÛÀ» Á¦ÀÛÇÏ·Á¸é °øÅëÀûÀÎ ±âº» ±â´É¸¸ »ç¿ëÇϰųª ƯÁ¤ ±â´ÉÀÇ Á¸Àç À¯¹«¸¦ È®ÀÎÇÑ ÈÄ Çϵå¿þ¾îÀÇ ´É·ÂÄ¡¸¦ ÃÖ´ëÇÑ È°¿ëÇØ¾ß ÇÑ´Ù. ¾Èµå·ÎÀ̵åÀÇ Ä«¸Þ¶ó ¼­ºñ½º´Â º¹Àâµµ¿¡ ºñÇØ ±²ÀåÈ÷ ±ò²ûÇÏ°Ô Àß Á¤ºñµÇ¾î ÀÖÀ¸¸ç ½Å·Ú¼ºµµ ³ô¾Æ¼­ ±âº» 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 Äݹ鿡¼­ ÆÄÀÏ ÀúÀå±îÁö ¿Ï·áÇÑ ÈÄ¿¡ ¼öÇàÇÑ´Ù. ¹Ì¸®º¸±â°¡ ´Ù½Ã ³ª¿À¸é ´ÙÀ½ ÃÔ¿µÀ» °è¼ÓÇÒ ¼ö ÀÖ´Ù.

2.°£´ÜÇÑ Ä«¸Þ¶ó

¾Õ Ç׿¡¼­ 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 ¿¹Á¦´Â ±âº» ±â´É¿¡ ¾à°£ÀÇ Ãß°¡ ±â´ÉÀ» ´õÇØ ½Ç¿ëÀûÀ¸·Îµµ ¾µ¸¸ÇÏ°Ô ¸¸µé¾î º» °ÍÀÌµÇ ÀÌ Á¤µµ µÇ¸é ¿¹Á¦·Î¼­ÀÇ °¡Ä¡´Â ¶³¾îÁö¹Ç·Î ¼Ò½º ºÐ¼®Àº »ý·«Çϱâ·Î ÇÑ´Ù. ¿ø°í ÁýÇÊ¿¡ ½Ã´Þ¸®´Ù º¸´Ï ¿äÁòÀº ´ÙÀ½ °£½ÄÀ» Á¾Á¾ ¸Ô¾î¾ß ÇÑ´Ù.

¾Õ ¿¹Á¦¿Í´Â ´Ù¼Ò ´Þ¶óÁ³´Âµ¥ ÁÖ·Î ¿À¸¥¼ÕÀ¸·Î ÃÔ¿µÀ» ÇϹǷΠ¹öÆ°µéÀ» ¿À¸¥ÂÊÀ¸·Î ¿Å°åÀ¸¸ç ¸î °¡Áö ±â´ÉÀ» ´õ ³Ö¾ú´Ù. ÃÔ¿µ ¹öÆ°À» ´©¸£¸é Æ÷Ä¿½º Àâ°í ¹Ù·Î ÃÔ¿µÀ» Çϴµ¥ È­¸é ÅÍÄ¡ ½ÃÁ¡°ú ÃÔ¿µ ½ÃÁ¡À» ºÐ¸®ÇÏ¿© ¶³¸²À» ¹æÁöÇÏÀÚ´Â ÀǵµÀÌ´Ù. °£´ÜÇÑ ¾ÆÀ̵ð¾îÁö¸¸ ÅÍÄ¡Æù¿¡¼­´Â È­Áú Çâ»ó¿¡ ²Ï µµ¿òÀÌ µÈ´Ù. ÇØ»óµµ ¼±Åà ±â´É°ú Á¢»ç ¸ðµå Á¤µµ¸¦ Ãß°¡Çß°í ÃÖÈÄ·Î ÂïÀº »çÁøÀÌ Á¦´ë·Î ÂïÇû´ÂÁö È®ÀÎÇÏ´Â ¸®ºä ±â´Éµµ Á¦°øÇÑ´Ù.

ÀÌ¿Ü¿¡µµ ¾ÆÁÖ ¸¹Àº ±â´ÉµéÀ» ´õ ³ÖÀ» ¼ö ÀÖÁö¸¸ ±×´ÙÁö ½Ç¿ë¼ºÀº ¾ø¾î º¸ÀδÙ. Àå¸é ¸ðµå´Ï ¹ÝÀü, ¼¼ÇÇ¾Æ °°Àº È¿°úµéÀº ÂïÀº ÈÄ¿¡ Àû¿ëÇÏ´Â °ÍÀÌ ´õ Ç°ÁúÀÌ ÁÁ°í µðÁöÅÐ ÁÜÀº ÀÖÀ¸³ª ¸¶³ªÇÑ ±â´ÉÀÌ´Ù. °¡Àå ºó¹øÇÏ°Ô »ç¿ëÇÏ´Â ±â´ÉÀÌ ½Ì±Û ¼¦À̹ǷΠÀÌ ±â´É¿¡¸¸ ÁýÁßÇؼ­ °£´ÜÇÏ°Ô ¸¸µé¾î º» °ÍÀÌ¸ç °³ÀÎÀûÀ¸·Î À¯¿ëÇÏ°Ô Àß ¾²°í ÀÖ´Ù. ¿©·¯ºÐµéµµ ÀڽŸ¸ÀÇ Ä«¸Þ¶ó¸¦ ¸¸µé¾î »ç¿ëÇØ º¸±â ¹Ù¶õ´Ù.