--- title: HTMLCanvasElement.getContext() slug: Web/API/HTMLCanvasElement/getContext tags: - API - Canvas - HTMLCanvasElement - 레퍼런스 - 메소드 translation_of: Web/API/HTMLCanvasElement/getContext ---
{{APIRef("Canvas API")}}

HTMLCanvasElement.getContext() 메소드는 캔버스의 드로잉 컨텍스트를 반환합니다. 컨텍스트 식별자가 지원되지 않을 경우 {{jsxref("null")}}을 반환합니다.

동일한 캔버스 엘리먼트에서 나중에 이 메소드를 호출하면 동일한 contextType 인자와 함께 메소드가 마지막으로 호출되었을 때 반환된 것과 같이 동일한 드로잉 컨텍스트 인스턴스를 반환합니다. 다른 드로잉 컨텍스트 객체를 얻으려면 다른 contextType을 전달하거나 다른 캔버스 엘리먼트에서 메소드를 호출해야 합니다.

구문

var ctx = canvas.getContext(contextType);
var ctx = canvas.getContext(contextType, contextAttributes);

파라미터

contextType
캔버스에 연관된 드로잉 컨텍스트를 정의하는 컨텍스트 식별자를 갖는 {{domxref("DOMString")}}입니다. 가능한 값은 다음과 같습니다.

노트: 식별자 "experimental-webgl"은 WebGL의 새로운 구현에서 사용됩니다. 이러한 구현은 테스트 스위트 적합성을 아직 만족하지 못하며, 플랫폼 상의 그래픽 드라이버도 아직 불안정합니다. Khronos Group은 특정 적합성 규칙에 따라 WebGL 구현을 인증합니다.

contextAttributes

렌더링 컨텍스트를 생성할 때 몇 가지 컨텍스트 속성을 사용할 수 있습니다. 예를 들면:

const gl = canvas.getContext('webgl', {
  antialias: false,
  depth: false
});
2d 컨텍스트 속성: WebGL 컨텍스트 속성:

반환 값

{{domxref("RenderingContext")}}는 다음 중 하나입니다.

contextType이 가능한 드로잉 컨텍스트와 일치하지 않으면, null이 반환됩니다.

예시

다음 {{HTMLElement("canvas")}} 엘리먼트를 고려해볼 때:

<canvas id="canvas" width="300" height="300"></canvas>

다음 코드를 사용해 캔버스의 2d 컨텍스트를 얻을 수 있습니다.

var canvas = document.getElementById('canvas');
var ctx = canvas.getContext('2d');
console.log(ctx); // CanvasRenderingContext2D { ... }

이제 캔버스에 대한 2D 렌더링 컨텍스트를 갖고 있으며 이 안에 그릴 수 있습니다.

명세

명세 상태 코멘트
{{SpecName('HTML WHATWG', "scripting.html#dom-canvas-getcontext", "HTMLCanvasElement.getContext")}} {{Spec2('HTML WHATWG')}} 최신 스냅샷 {{SpecName('HTML5 W3C')}} 이후에 변경사항 없음
{{SpecName('HTML5.1', "semantics-scripting.html#dom-htmlcanvaselement-getcontext", "HTMLCanvasElement.getContext")}} {{Spec2('HTML5.1')}}  
{{SpecName('HTML5 W3C', "scripting-1.html#dom-canvas-getcontext", "HTMLCanvasElement.getContext")}} {{Spec2('HTML5 W3C')}} 초기 정의를 포함하는 {{SpecName('HTML WHATWG')}}의 스냅샷.

브라우저 호환성

{{Compat("api.HTMLCanvasElement.getContext")}}

함께 보기