1-2-2.Á÷¼±

ĵ¹ö½º¿¡ Á÷Á¢ÀûÀ¸·Î ±×¸± ¼ö ÀÖ´Â µµÇüÀº »ç°¢Çü»ÓÀÌ´Ù. ³ª¸ÓÁö µµÇüÀº Á÷Á¢ Ãâ·ÂÇÏÁö ¾Ê°í Æнº¿¡ ÁÂÇ¥ Á¤º¸¸¦ ¸ð¾Æ µÎ¾ú´Ù°¡ ÇѲ¨¹ø¿¡ ±×·Á¾ß ÇÑ´Ù. Æнº´Â µµÇüÀÇ ÁÂÇ¥ Á¤º¸¸¸À» °¡Áö´Â °´Ã¼ÀÌ¸ç ¿©·¯ °³ÀÇ Á÷¼±, °î¼±Àº ¹°·ÐÀÌ°í ºÐ¸®µÈ µµÇüµµ ÇϳªÀÇ Æнº·Î Æ÷ÇÔÇÒ ¼ö ÀÖ´Ù.

µµÇüÀ» °³º°ÀûÀ¸·Î Ãâ·ÂÇÏ´Â °Í¿¡ ºñÇØ Æнº¿¡ ¸ð¾Ò´Ù°¡ Çѹø¿¡ Ãâ·ÂÇÏ¸é ±×¸®±â ¼Óµµ°¡ ºü¸£´Ù´Â ÀÌÁ¡ÀÌ ÀÖ°í ¿¬°áµÈ ¼±ÀÌ ¸Å²ô·´°Ô ±×·ÁÁø´Ù. Æнº¸¦ ½ÃÀÛÇÒ ¶§´Â ´ÙÀ½ ¸Þ¼­µå¸¦ È£ÃâÇÑ´Ù.

 

beginPath();

 

beginPath ¸Þ¼­µå´Â ±âÁ¸ÀÇ Æнº¸¦ Á¦°ÅÇÏ°í ¿ÏÀüÈ÷ ºñ¾î ÀÖ´Â »õ·Î¿î Æнº¸¦ ÁغñÇÑ´Ù. ÀÌÈÄ ÆнºÀÇ µµÇüÀ» Ãß°¡ÇÏ´Â ¸Þ¼­µå¸¦ È£ÃâÇÏ¿© µµÇüÀÇ ÁÂÇ¥ Á¤º¸¸¦ Æнº¿¡ ¼öÁýÇÑ´Ù. Æнº¿¡ µµÇüÀ» Ãß°¡ÇÑ´Ù°í Çؼ­ È­¸é¿¡ ¹Ù·Î ±×·ÁÁö´Â °ÍÀº ¾Æ´Ï´Ù. Æнº ³»ºÎ¿¡ µµÇüÀÇ Á¤º¸¸¸ ÀúÀåÇÒ »ÓÀÌ´Ù. ±×¸± µµÇüÀ» ¸ðµÎ Á¤ÀÇÇßÀ¸¸é ´ÙÀ½ µÎ ¸Þ¼­µå¸¦ È£ÃâÇÏ¿© Æнº¸¦ ±×¸°´Ù.

 

stroke()

fill();

 

stroke ¸Þ¼­µå´Â ÆнºÀÇ ¿Ü°û¼±¸¸ ±×¸®°í fill ¸Þ¼­µå´Â ÆнºÀÇ ¾ÈÂÊÀ» ä¿ìµÇ Æнº°¡ ´ÝÈ÷Áö ¾Ê¾ÒÀ¸¸é ´ÝÀº ÈÄ Ã¤¿î´Ù. Æнº¸¦ °­Á¦·Î ´ÝÀ¸·Á¸é ´ÙÀ½ ¸Þ¼­µå¸¦ È£ÃâÇÑ´Ù.

 

closePath();

 

Æнº·Î µµÇüÀ» Ãâ·ÂÇÏ´Â ÀϹÝÀûÀÎ ÀýÂ÷´Â ´ÙÀ½°ú °°´Ù.

 

beginPath();

// ¿©±â¼­ ¿øÇÏ´Â µµÇüÀ» ±×¸°´Ù.

stroke() ¶Ç´Â fill();

 

beginPath ~ stroke »çÀÌ¿¡ µµÇü Ãâ·Â¹®À» ³Ö´Â´Ù. °³¼ö¿¡ »ó°ü¾øÀÌ ¾ó¸¶µçÁö ¸¹Àº µµÇüÀ» Ãß°¡ÇÒ ¼ö ÀÖ´Ù. µµÇüÀº Æнº¿¡ ÀÏ´Ü Ãß°¡µÇ¾î ÁÂÇ¥ Á¤º¸¸¸ ±â·ÏµÇ¸ç stroke³ª fill¿¡ ÀÇÇØ ÇѲ¨¹ø¿¡ ±×·ÁÁø´Ù. Á÷¼±À» ±×À» ¶§´Â ´ÙÀ½ µÎ ¸Þ¼­µå¸¦ »ç¿ëÇÑ´Ù.

 

moveTo(x, y)

lineTo(x, y)

 

moveTo´Â ÇöÀç ÁÂÇ¥¸¸ À̵¿ÇÏ¸ç ¼±À» ±ßÁö´Â ¾Ê´Â´Ù. ¼±ÀÇ ½ÃÀÛ ÁÂÇ¥¸¸ ÁöÁ¤ÇÒ »ÓÀÌ´Ù. lineTo´Â ÇöÀç ÁÂÇ¥¿¡¼­ Àμö·Î Àü´Þ¹ÞÀº ÁÂÇ¥±îÁö ¼±À» ±ß´Â´Ù. ¼±À» ±×Àº ÈÄ ÇöÀç ÁÂÇ¥¸¦ ³¡À¸·Î À̵¿½ÃÅ°¹Ç·Î lineTo¸¦ °è¼ÓÇؼ­ È£ÃâÇÏ¸é ¼±À» À̾ ±×¸± ¼ö ÀÖ´Ù. ´ÙÀ½ ¿¹Á¦´Â Æнº¿Í moveTo, lineTo·Î Á÷¼± Çϳª¸¦ ±×¸°´Ù. Æнº¸¦ ÀÌ¿ëÇØ ¹º°¡¸¦ ±×¸®´Â °¡Àå °£´ÜÇÑ ÄÚµåÀÌ´Ù.

 

drawline.html

function draw() {

     ctx.beginPath();

     ctx.moveTo(10, 10);

     ctx.lineTo(300, 150);

     ctx.stroke();

}

 

beginPath·Î Æнº¸¦ ¿­¾ú´Ù. ÀÌÈÄ Æнº¿¡ µµÇüÀ» Ãß°¡ÇÏ´Â ¸Þ¼­µå¸¦ È£ÃâÇÑ´Ù. moveTo·Î ½ÃÀÛÁ¡À» (10, 10)À¸·Î ¿Å±â°í lineTo·Î (300, 150)±îÁö ¼±À» ±ß´Â´Ù. ¾ÆÁ÷±îÁö ¼±ÀÌ È­¸é¿¡ Ãâ·ÂµÈ °ÍÀº ¾Æ´Ï¸ç Æнº¿¡ ¼±À» ±¸¼ºÇÏ´Â ÁÂÇ¥¸¸ ±â·ÏÇÑ °ÍÀÌ´Ù. ÀÌ·¸°Ô Á¤ÀÇµÈ Á÷¼±Àº stroke ¸Þ¼­µå¿¡ ÀÇÇØ È­¸éÀ¸·Î Ãâ·ÂµÈ´Ù.

Æнº¿¡ µµÇü Á¤º¸¸¦ Ãß°¡ÇÏ´Â ¸Þ¼­µå´Â ½ÇÁ¦ Ãâ·ÂÀ» ÇÏ´Â °ÍÀº ¾Æ´ÏÁö¸¸ °á±¹¿¡´Â È­¸é¿¡ ±×·ÁÁø´Ù. Ãâ·ÂÇÏÁö ¾ÊÀ» µµÇüÀ» Æнº¿¡ Ãß°¡ÇÏÁö´Â ¾ÊÀ» °ÍÀÌ´Ù. ±×·¡¼­ lineTo°¡ ¼±À» ±ß´Â´Ù°í »ý°¢Çصµ ¹«¹æÇÏ´Ù. ÀÌÈÄ Æнº¿¡ µµÇüÀ» Ãß°¡ÇÏ´Â ¸Þ¼­µå¸¦ ¼³¸íÇÒ ¶§´Â ±×³É "±×¸°´Ù"¶ó´Â Ç¥ÇöÀ» ¾µ °ÍÀÌ´Ù.

Á÷¼±À̶ó´Â °£´ÜÇÑ µµÇü Çϳª¸¦ ±×¸®´Âµ¥ Äڵ尡 ¹«·Á 4ÁÙÀ̳ª ÇÊ¿äÇÏ´Ù. Æнº ¿­°í ½ÃÀÛÁ¡, ³¡Á¡ µû·Î ÁöÁ¤ÇÏ°í ÃÖÁ¾ÀûÀ¸·Î Æнº¸¦ ±×·Á¾ß ÇÏ´Ï ³Ê¹« ¹ø°Å·Ó´Ù´Â »ý°¢ÀÌ µé °ÍÀÌ´Ù. ±×·¯³ª ¸Å¹ø Á÷¼±À» ±×¸± ¶§¸¶´Ù ÀÌ °úÁ¤À» ¹Ýº¹ÇÒ ÇÊ¿ä´Â ¾ø´Ù. ÀÌ·² ¶§ ¾²¶ó°í ÀÖ´Â ÀåÄ¡°¡ ¹Ù·Î ÇÔ¼öÀÌ´Ù. ÇÔ¼ö Çϳª Á¤ÀÇÇØ ³õÀ¸¸é ÇÊ¿äÇÒ ¶§ ¾ðÁ¦µçÁö È£ÃâÇؼ­ ÇÑÁÙ·Î Á÷¼±À» ±×À» ¼ö ÀÖ´Ù.

 

drawline2.html

function drawLine(sx, sy, ex, ey)

{

     ctx.beginPath();

     ctx.moveTo(sx, sy);

     ctx.lineTo(ex, ey);

     ctx.stroke();

}

        

function draw() {

     drawLine(10, 10, 300, 150);

}

 

drawLine ÇÔ¼ö´Â µÎ Á¡ÀÇ ÁÂÇ¥¸¦ ¹Þ¾Æ ¼±À» ±ß´Â´Ù. ÀÌ ÇÔ¼ö·Î ÃÖ¼ÒÇÑÀÇ Á÷¼± Á¤º¸¸¸ Àü´ÞÇϸé Á÷¼±À» Æí¸®ÇÏ°Ô ±×À» ¼ö ÀÖ´Ù. ĵ¹ö½º´Â HTML ó·³ Å±׸¦ ¹èÄ¡Çؼ­ µµÇüÀ» ±×¸®´Â °ÍÀÌ ¾Æ´Ï¶ó ÄÚµå·Î Á¦¾îÇϹǷΠ¹Ýº¹, ºÐ±â, Á¶°Ç, ¹è¿­ 󸮰¡ °¡´ÉÇÏ´Ù. ÇÁ·Î±×·¡¹Ö ÀåÄ¡¸¦ ¾ó¸¶µçÁö È°¿ëÇÒ ¼ö Àֱ⠶§¹®¿¡ ĵ¹ö½º°¡ À¯¿¬ÇÏ°í °­·ÂÇÑ °ÍÀÌ´Ù.

ÀÌ·± ·¡ÆÛ ÇÔ¼ö¸¦ ¸¸µé¾î »ç¿ëÇÏ´Â °ÍÀº ¾ÆÁÖ »ó½ÄÀûÀÌ´Ù. ±×·¯³ª ÀÏ¹Ý ÇÔ¼ö¿©¼­ ÄÁÅؽºÆ®ÀÇ ¸â¹ö°¡ ¾Æ´Ï¸ç ctx°¡ Àü¿ªÀÌ ¾Æ´Ï¶ó¸é Àμö·Î Àü´Þ¹Þ¾Æ¾ß ÇÑ´Ù´Â ¸é¿¡¼­ strokeRect °°Àº ¸Þ¼­µå¿Í´Â ´Ù¸£´Ù. ¸Þ¼­µåó·³ »ç¿ëÇÏ·Á¸é ÇÁ·ÎÅäŸÀÔ¿¡ ¸Þ¼­µå¸¦ Ãß°¡ÇØ¾ß ÇÑ´Ù. Äڵ带 ´ÙÀ½°ú °°ÀÌ ¼öÁ¤ÇØ º¸ÀÚ.

 

drawline3.html

CanvasRenderingContext2D.prototype.drawLine = function(sx, sy, ex, ey)

{

     this.beginPath();

     this.moveTo(sx, sy);

     this.lineTo(ex, ey);

     this.stroke();

}

        

function draw() {

     ctx.drawLine(10, 10, 300, 150);

}

 

ÀÌ·¸°Ô Çϸé ÄÁÅؽºÆ®¿¡ ¸Þ¼­µå°¡ Ãß°¡µÇ¾î ±âÁ¸ÀÇ ¸Þ¼­µå¿Í µ¿ÀÏÇÑ ¹æ¹ý´ë·Î »ç¿ëÇÒ ¼ö ÀÖ´Ù. ¸¶Ä¡ drawLineÀ̶ó´Â ¸Þ¼­µå°¡ ¿ø·¡ ÄÁÅؽºÆ®¿¡ ÀÖ¾ú´ø ÇÔ¼öó·³ È£ÃâÇÒ ¼ö ÀÖ´Ù.

ĵ¹ö½º´Â ¿øÀÚÀûÀ¸·Î ²À ÇÊ¿äÇÑ ¸Þ¼­µå¸¸ Á¦°øÇϸç ÆíÀÇ ¸Þ¼­µå°¡ º°·Î ¾ø´Ù. ÇÊ¿äÇÏ´Ù¸é ÀÌ ¹æ½ÄÀ¸·Î ÄÁÅؽºÆ®¸¦ È®ÀåÇÏ¸é µÈ´Ù. ÀÚ¹Ù½ºÅ©¸³Æ®ÀÇ È®Àå ±â´ÉÀ» ÀûÀýÈ÷ »ç¿ëÇÑ ¿¹ÀÌ¸ç ´õ ÇÊ¿äÇÑ ¸Þ¼­µå¸¦ ¾ó¸¶µçÁö Ãß°¡ÇÒ ¼ö ÀÖ´Ù. Àß Á¤ÀÇµÈ ÇÔ¼ö ÁýÇÕÀ» º°µµÀÇ js ÆÄÀÏ·Î ¹­¾î µÎ¸é ÄÚµå ¼±µÎ¿¡¼­ ½ºÅ©¸³Æ®¸¦ ºÒ·¯ µé¿© ÀÚÀ¯·Ó°Ô »ç¿ëÇÒ ¼ö ÀÖ´Ù. ¸¶Ä¡ jQuery ó·³ ¸»ÀÌ´Ù.