HTML5 Canvas

canvas 요소는 웹 페이지에서 그래픽을 그리기 위해 사용됩니다。

Canvas는 무엇인가요?

HTML5의 canvas 요소는 웹 페이지에서 이미지를 그리기 위해 JavaScript를 사용합니다。

화면은 사각형 영역으로, 각 픽셀을 제어할 수 있습니다。

canvas는 여러 가지 그리기 경로, 사각형, 원, 문자 및 이미지 추가 방법을 가지고 있습니다。

Canvas 요소를 생성합니다

HTML5 페이지에 canvas 요소를 추가합니다。

요소의 id, 너비 및 높이를 지정합니다:

<canvas id="myCanvas" width="200" height="100"></canvas>

JavaScript를 통해 그리기

canvas 요소 자체는 그리기 능력이 없습니다. 모든 그리기 작업은 JavaScript 내부에서 완료되어야 합니다:

<script type="text/javascript">
var c=document.getElementById("myCanvas");
var cxt=c.getContext("2d");
cxt.fillStyle="#FF0000";
cxt.fillRect(0,0,150,75);
</script>

JavaScript는 id를 사용하여 canvas 요소를 찾습니다:

var c=document.getElementById("myCanvas");

그런 다음, context 객체를 생성합니다:

var cxt=c.getContext("2d");

getContext("2d") 객체는 내장된 HTML5 객체로, 다양한 그리기 경로, 사각형, 원, 문자 및 이미지 추가 메서드를 가집니다.

아래 두 줄 코드는 빨간색 사각형을 그립니다:

cxt.fillStyle="#FF0000";
cxt.fillRect(0,0,150,75); 

fillStyle 메서드는 그를 빨간색으로 만들고, fillRect 메서드는 형상, 위치 및 크기를 정의합니다.

이해하다

上面的 fillRect 方法拥有参数 (0,0,150,75).

그 의미는 캔버스에 150x75의 사각형을 그려서 왼쪽 상단에서 시작(0,0)입니다.

아래 그림과 같이, 캔버스의 X와 Y 좌표는 캔버스에서 그리기의 위치를 정의합니다.

Canvas 인스턴스: 좌표 이해

사각형에 마우스를 올려다놓으면 좌표가 보입니다

更多 Canvas 예제

아래는 canvas 요소에 그리는 더 많은 예제입니다:

예제 - 선

시작점과 종료점을 지정하여 선을 그립니다:

Canvas 인스턴스: 선

JavaScript 코드:

<script type="text/javascript">
var c=document.getElementById("myCanvas");
var cxt=c.getContext("2d");
cxt.moveTo(10,10);
cxt.lineTo(150,50);
cxt.lineTo(10,50);
cxt.stroke();
</script>

canvas 요소:

<canvas id="myCanvas" width="200" height="100" style="border:1px solid #c3c3c3;">
您的浏览器不支持 canvas 元素。
</canvas>

직접 시도해 보세요

예제 - 원

크기, 색상 및 위치를 정의하여 원을 그립니다:

Canvas 인스턴스: 원

JavaScript 코드:

<script type="text/javascript">
var c=document.getElementById("myCanvas");
var cxt=c.getContext("2d");
cxt.fillStyle="#FF0000";
cxt.beginPath();
cxt.arc(70,18,15,0,Math.PI*2,true);
cxt.closePath();
cxt.fill();
</script>

canvas 요소:

<canvas id="myCanvas" width="200" height="100" style="border:1px solid #c3c3c3;">
您的浏览器不支持 canvas 元素。
</canvas>

직접 시도해 보세요

예제 - 그래디언트

사용자가 지정한 색상으로 그래디언트 배경을 그립니다:

Canvas 인스턴스: 그래디언트

JavaScript 코드:

<script type="text/javascript">
var c=document.getElementById("myCanvas");
var cxt=c.getContext("2d");
var grd=cxt.createLinearGradient(0,0,175,50);
grd.addColorStop(0,"#FF0000");
grd.addColorStop(1,"#00FF00");
cxt.fillStyle=grd;
cxt.fillRect(0,0,175,50);
</script>

canvas 요소:

<canvas id="myCanvas" width="200" height="100" style="border:1px solid #c3c3c3;">
您的浏览器不支持 canvas 元素。
</canvas>

직접 시도해 보세요

예제 - 이미지

이미지를 캔버스에 배치하십시오:

Canvas 인스턴스: 이미지

JavaScript 코드:

<script>
window.onload = function() {
    var canvas = document.getElementById("myCanvas");
    var ctx = canvas.getContext("2d");
    var img = document.getElementById("scream");
   ctx.drawImage(img, 10, 10);
};
</script>

canvas 요소:

<canvas id="myCanvas" width="244" height="182" style="border:1px solid #d3d3d3;">
您的浏览器不支持 HTML5 canvas 标签。
</canvas>

직접 시도해 보세요

HTML Canvas 강의

캔버스에 대한 더 많은 지식을 배우기 위해 우리의 사이트를 방문하세요 HTML Canvas 강의.

관련 페이지

참조 가이드:HTML 5 <canvas> 태그

참조 가이드:HTML DOM Canvas 객체