--- title: Canvas API slug: Web/HTML/Canvas tags: - API - Canvas - JavaScript - 개요 - 레퍼런스 translation_of: Web/API/Canvas_API ---
Canvas API는 JavaScript와 HTML {{HtmlElement("canvas")}} 엘리먼트를 통해 그래픽을 그리기위한 수단을 제공합니다. 무엇보다도 애니메이션, 게임 그래픽, 데이터 시각화, 사진 조작 및 실시간 비디오 처리를 위해 사용됩니다.
Canvas API는 주로 2D 그래픽에 중점을 두고 있습니다. WebGL API 또한 <canvas>
엘리먼트를 사용하며, 하드웨어 가속 2D 및 3D 그래픽을 그립니다.
canvas에 초록색 사각형을 그리는 간단한 예시입니다.
<canvas id="canvas"></canvas>
{{domxref("Document.getElementById()")}} 메소드는 HTML <canvas>
엘리먼트에 대한 참조를 얻습니다. 그 다음, {{domxref("HTMLCanvasElement.getContext()")}} 메소드는 엘리먼트의 컨텍스트(렌더링될 그리기의 대상)를 얻습니다.
실제 그리기는 {{domxref("CanvasRenderingContext2D")}} 인터페이스를 사용해 수행됩니다. {{domxref("CanvasRenderingContext2D.fillStyle", "fillStyle")}} 프로퍼티는 사각형을 초록색으로 만듭니다. {{domxref("CanvasRenderingContext2D.fillRect()", "fillRect()")}} 메소드는 좌측 상단 코너를 (10, 10) 위치에 놓으며, 너비를 150, 높이를 100으로 지정합니다.
const canvas = document.getElementById('canvas'); const ctx = canvas.getContext('2d'); ctx.fillStyle = 'green'; ctx.fillRect(10, 10, 150, 100);
{{ EmbedLiveSample('기본_예시', 700, 180) }}
노트: WebGLRenderingContext
에 관련된 인터페이스는 WebGL 하위에 참조되어있습니다.
{{domxref("CanvasCaptureMediaStream")}}은 관련된 인터페이스입니다.
Canvas API는 굉장히 강력하지만, 사용하는 것이 항상 간단하지 않습니다. 아래에 나열된 라이브러리들은 캔버스 기반 프로젝트를 더 빠르고 더 쉽게 생성할 수 있게 해줍니다.
노트: WebGL을 사용하는 2D 및 3D를 위한 WebGL API를 확인하세요.
명세 | 상태 | 코멘트 |
---|---|---|
{{SpecName('HTML WHATWG', '#2dcontext', 'the 2D rendering context')}} | {{Spec2('HTML WHATWG')}} |
Mozilla 애플리케이션은 Gecko 1.8(Firefox 1.5)을 시작으로 <canvas>
에 대한 지원을 받았습니다. OS X Dashboard 및 Safari를 위해 Apple이 소개한 것이 캔버스 엘리먼트의 기원입니다. Internet Explorer는 9버전부터 <canvas>
를 지원하며, 이전 버전의 IE에서는 Google의 Explorer Canvas 프로젝트의 스크립트를 추가하여 <canvas>
에 대한 지원을 효과적으로 추가할 수 있습니다. Google Chrome 및 Opera 9 또한 <canvas>
를 지원합니다.