ĵ¹ö½º¿¡ ±×·ÁÁø ±×¸²Àº ÀÌÁø µ¥ÀÌÅÍÀÌ´Ù. ÀÌÁø°ªÀº Å©±â´Â ÀÛÁö¸¸ ÀúÀåÀ̳ª
Àü´ÞÀÌ ¾î·Æ´Ù. ±×·¡¼ ¹®ÀÚ¿ ÇüÅ·ΠµðÄÚµùÇÏ¿© º¯È¯ÇÒ ÇÊ¿ä°¡ Àִµ¥ ´ÙÀ½ ¸Þ¼µå·Î ÀÌ º¯È¯À» ¼öÇàÇÑ´Ù. º¯È¯ ´ë»óÀº ĵ¹ö½º ÀüüÀÇ À̹ÌÁöÀ̹ǷΠÄÁÅؽºÆ®ÀÇ ¸Þ¼µå°¡ ¾Æ´Ï¶ó ĵ¹ö½ºÀÇ ¸Þ¼µåÀÌ´Ù.
toDataURL(type, para)
typeÀº ÀÎÄÚµù ¹æ¹ýÀ» ÁöÁ¤Çϴµ¥ »ý·«½Ã image/png°¡ Àû¿ëµÈ´Ù. image/jpegÀÎ °æ¿ì´Â µÎ¹ø°
Àμö·Î 0.0 ~ 1.0 »çÀÌÀÇ ¾ÐÃà Ç°ÁúÀ» ÁöÁ¤ÇÑ´Ù. ĵ¹ö½ºÀÇ
À̹ÌÁö´Â »çÁøÀÌ ¾Æ´Ï¶ó ±×¸²À̹ǷΠºñ¼Õ½Ç Æ÷¸ËÀÎ PNG¸¦ »ç¿ëÇÏ´Â °ÍÀÌ ÇÕ¸®ÀûÀÌ´Ù. À̹ÌÁö´Â Base64 ¾Ë°í¸®ÁòÀ¸·Î ÀÎÄÚµùµÇ¸ç ÇüÅ´ ´ÙÀ½°ú °°´Ù. µðÄÚµù ¹®ÀÚ¿¾È¿¡ À̹ÌÁö°¡ µé¾î ÀÖ´Ù.
data:MIMEŸÀÔ;base64, µðÄÚµù¹®ÀÚ¿
À̹ÌÁö¸¦ ¹®ÀÚ¿ ÇüÅ·Πº¯È¯ÇÏ¸é ¿©·¯ °¡Áö ¿ëµµ·Î È°¿ëÇÒ ¼ö ÀÖ´Ù. ¹®ÀÚ¿À̹ǷÎ
µ¥ÀÌÅͺ£À̽º¿¡ ÀúÀåÇÒ ¼öµµ ÀÖ°í URL ÇüÅÂÀ̹ǷΠ´Ù¸¥ â¿¡ ¿ ¼öµµ ÀÖ´Ù. °¡Àå °£ÆíÇÑ ¹æ¹ýÀº img ű×ÀÇ
src ¼Ó¼º¿¡ ÀÌ ¹®ÀÚ¿À» ´ëÀÔÇÏ¿© Ãâ·ÂÇÏ´Â °ÍÀÌ´Ù. ĵ¹ö½º¸¦ ¹®ÀÚ¿·Î º¯È¯ÇÑ ÈÄ ´Ù½Ã
À̹ÌÁö·Î Ãâ·ÂÇØ º¸ÀÚ.
dataurl.html
<!DOCTYPE html>
<head>
<meta
charset="utf-8">
<title>dataurl</title>
<style>
canvas
{border:5px solid magenta;}
</style>
</head>
<body>
<canvas
id="canvas" width="9" height="9">
ÀÌ
ºê¶ó¿ìÀú´Â ĵ¹ö½º¸¦ Áö¿øÇÏÁö ¾Ê½À´Ï´Ù.
</canvas>
<img
id="image"/>
<script>
var
canvas;
var
ctx;
window.onload
= function() {
canvas
= document.getElementById("canvas");
if
(canvas == null || canvas.getContext == null) return;
ctx
= canvas.getContext("2d");
draw();
}
function
draw() {
ctx.fillRect(2,2,5,5);
var
data = canvas.toDataURL();
alert(data);
var
image = document.getElementById("image");
image.src
= data;
}
</script>
</body>
</html>
9 * 9 Å©±âÀÇ ¾ÆÁÖ ÀÛÀº ĵ¹ö½º¿¡ »ç°¢Çü Çϳª¸¦ ±×·È´Ù. ĵ¹ö½º°¡ Å©¸é ÀÎÄÚµùÇÑ ¹®ÀÚ¿ÀÌ ¾î¸¶ ¾î¸¶ÇÏ°Ô ±æ¾îÁö¹Ç·Î ÃʼÒÇü ĵ¹ö½º¿¡ ±×·È´Ù. ÀÌ Äµ¹ö½ºÀÇ À̹ÌÁö¸¦ ¹®ÀÚ¿·Î ÀÎÄÚµùÇÏ¿© ´ëÈ»óÀÚ·Î Ãâ·ÂÇß´Ù.
ÀÌ ¹®ÀÚ¿ ¾È¿¡ »ç°¢Çü À̹ÌÁö°¡ µé¾î ÀÖ´Ù. °ú¿¬ ±×·±Áö À̹ÌÁö ¿¤¸®¸ÕÆ®ÀÇ src ¼Ó¼º¿¡ ´Ù½Ã ´ëÀÔÇÏ¿© ÀçÃâ·ÂÇß´Ù. È®ÀÎ ¹öÆ°À» ´©¸£¸é ĵ¹ö½º
¿·¿¡ Á¶±×¸¶ÇÑ À̹ÌÁö°¡ ³ªÅ¸³´Ù.
À̹ÌÁö ¿¤¸®¸ÕÆ® »Ó¸¸ ¾Æ´Ï¶ó CSSÀÇ ¹è°æ À̹ÌÁö, ¸ñ·ÏÀÇ ºæ¸´ µîµµ ÀÎÄÚµùµÈ ¹®ÀÚ¿·ÎºÎÅÍ À̹ÌÁö¸¦ ÀνÄÇÑ´Ù. À̹ÌÁö
ÆÄÀÏÀ» ÁغñÇÏÁö ¾Ê´õ¶óµµ ¿ÀÇÁ½ºÅ©¸° ĵ¹ö½º¿¡¼ ¹è°æ À̹ÌÁö³ª ºæ¸´ À̹ÌÁö¸¦ ¸¸µé¾î »ç¿ëÇÒ ¼öµµ ÀÖ´Ù.
window.open ¸Þ¼µå·Î ĵ¹ö½ºÀÇ ³»¿ëÀ» ´Ù¸¥ âÀ¸·Î ¿¾î È®ÀÎÇØ º¼ ¼öµµ ÀÖ´Ù.
canvastoimage.html
<!DOCTYPE html>
<head>
<meta
charset="utf-8">
<title>canvastoimage</title>
<style>
canvas
{border:5px solid magenta;}
</style>
</head>
<body>
<form>
<input
type="button" id="capture" value="Capture"/>
</form>
<canvas
id="canvas" width="400" height="200">
ÀÌ
ºê¶ó¿ìÀú´Â ĵ¹ö½º¸¦ Áö¿øÇÏÁö ¾Ê½À´Ï´Ù.
</canvas>
<script>
var
canvas;
var
ctx;
window.onload
= function() {
canvas
= document.getElementById("canvas");
if
(canvas == null || canvas.getContext == null) return;
ctx
= canvas.getContext("2d");
draw();
}
function
draw() {
var
brush = ctx.createLinearGradient(0, 0, 0, canvas.height);
brush.addColorStop(0,
"yellow");
brush.addColorStop(1,
"red");
ctx.fillStyle
= brush;
ctx.fillRect(0,
0, canvas.width, canvas.height);
ctx.beginPath();
ctx.arc(200,100,80,0,2*Math.PI,
true);
var
brush = ctx.createRadialGradient(200,100,0,200,100,80);
brush.addColorStop(0,
"white");
brush.addColorStop(1,
"gray");
ctx.fillStyle
= brush;
ctx.fill();
}
var
capture = document.getElementById("capture");
capture.addEventListener("click",
function(e) {
window.open(canvas.toDataURL(),
"Capture",
"width="
+ canvas.width +",height="+canvas.height);
});
</script>
</body>
</html>
±×·²µíÇÑ ±×·¡µð¾ðÆ® À̹ÌÁö¸¦ ±×·È´Ù. ĵ¹ö½º´Â À̹ÌÁö°¡ ¾Æ´Ï¹Ç·Î ÀÌ
ÀÚü·Î´Â ÆÄÀÏ·Î ÀúÀåÇÒ ¼ö ¾ø´Ù. »õ·Î¿î âÀ» ¿¾î ĵ¹ö½º¸¦ À̹ÌÁö·Î Ç¥½ÃÇÑ´Ù.
ÀÌ·¸°Ô µÇ¸é â¿¡ Ç¥½ÃµÈ À̹ÌÁö¸¦ ¸¶¿ì½º ¿À¸¥ÂÊ ¹öÆ°À» ´·¯ ´Ù¸¥ À̸§À» ÁÖ¾î ÆÄÀÏ ÇüÅ·ΠÀúÀåÇÒ ¼öµµ ÀÖ´Ù.