--- title: HTMLCanvasElement.getContext() slug: Web/API/HTMLCanvasElement/getContext tags: - API - Canevas - HTMLCanvasElement - Méthode - Reference translation_of: Web/API/HTMLCanvasElement/getContext ---
{{APIRef("Canvas API")}}

La méthode HTMLCanvasElement.getContext() retourne un contexte de dessin sur le canevas, ou {{jsxref("null")}} si l'identificateur de contexte n'est pas supporté.

Syntaxe

canvas.getContext(typeDeContexte, attributsDeContexte);

Paramètres

typeDeContexte
Est un {{domxref("DOMString")}} contenant l'identifcateur de contexte définissant le contexte de dessin associé au canevas. Les valeurs possibles sont :

Note : l'identificateur "experimental-webgl" est utilisé dans les nouvelles implémentations de WebGL. Ces implémentations n'ont pas encore obtenu la conformité à la suite de test, ou l'emploi des pilotes graphiques sur la plateforme n'est pas encore stable. Le Khronos Group certifie les implémentations WebGL sous certaines règles de conformité.

attributsDeContexte

Vous pouvez utiliser plusieurs attributs de contexte quand vous créez votre contexte de représentation, par exemple :

canvas.getContext('webgl',
                 { antialias: false,
                   depth: false });
attributs de contexte 2d : attributs de contexte WebGL :

Valeur retournée :

Un {{domxref("RenderingContext")}}, qui est soit un

Si le typeDeContexte ne correspond pas à un contexte de dessin possible, null est retourné.

Exemples

Étant donné l'élément {{HTMLElement("canvas")}} :

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

vous pouvez obtenir un contexte 2d du canevas grâce au code suivant :

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

Vous avez alors le contexte 2D de représentation pour un canevas, et vous pouvez dessiner à l'intérieur.

Spécifications

Spécification Statut Commentaire
{{SpecName('HTML WHATWG', "scripting.html#dom-canvas-getcontext", "HTMLCanvasElement.getContext")}} {{Spec2('HTML WHATWG')}} Pas de changement depuis l'instantané le plus récent, {{SpecName('HTML5 W3C')}}
{{SpecName('HTML5.1', "scripting-1.html#dom-canvas-getcontext", "HTMLCanvasElement.getContext")}} {{Spec2('HTML5.1')}}  
{{SpecName('HTML5 W3C', "scripting-1.html#dom-canvas-getcontext", "HTMLCanvasElement.getContext")}} {{Spec2('HTML5 W3C')}} Instantané du {{SpecName('HTML WHATWG')}} contenant la définition initiale.

Compatibilité navigateurs

{{CompatibilityTable}}

Fonctionnalité Chrome Edge Firefox (Gecko) Internet Explorer Opera Safari
Support de base (contexte 2d) {{CompatChrome(4)}} {{CompatVersionUnknown}} {{CompatGeckoDesktop("1.9.2")}} {{CompatIE(9)}} {{CompatOpera(9)}} {{CompatSafari(3.1)}}
Contexte webgl {{CompatChrome(9)}}[1]
{{CompatChrome(33)}}
{{CompatVersionUnknown}} {{CompatGeckoDesktop('1.9.2')}}[1]
{{CompatGeckoDesktop('24')}}
11.0[2] 9.0[3] 5.1[2]
Contexte webgl2 {{CompatChrome(56)}} {{CompatUnknown}} {{CompatGeckoDesktop('25')}}[4] {{CompatNo}} {{CompatNo}} {{CompatNo}}
Attribut de contexte alpha 2d 32 {{CompatUnknown}} {{CompatGeckoDesktop(30)}} {{CompatNo}} {{CompatVersionUnknown}} {{CompatNo}}

Attribut failIfMajorPerformanceCaveat

{{CompatVersionUnknown}} {{CompatUnknown}} {{CompatGeckoDesktop(41)}} {{CompatVersionUnknown}} {{CompatVersionUnknown}} {{CompatUnknown}}
Contexte bitmaprenderer {{CompatNo}} {{CompatUnknown}} {{CompatGeckoDesktop(46)}} {{CompatNo}} {{CompatNo}} {{CompatNo}}
Fonctionnalité Android Chrome pour Android Edge Firefox Mobile (Gecko) IE Mobile Opera Mobile Safari Mobile
Support de base (contexte 2d) {{CompatVersionUnknown}} {{CompatVersionUnknown}} {{CompatVersionUnknown}} {{CompatGeckoMobile("1.9.2")}} {{CompatVersionUnknown}} {{CompatVersionUnknown}} {{CompatVersionUnknown}}
Contexte webgl {{CompatUnknown}} {{CompatUnknown}} {{CompatVersionUnknown}} {{CompatVersionUnknown}}[2] {{CompatUnknown}} {{CompatUnknown}} {{CompatUnknown}}
Contexte webgl2 {{CompatNo}} {{CompatNo}} {{CompatUnknown}} {{CompatNo}} {{CompatNo}} {{CompatNo}} {{CompatNo}}
Attribut de contexte alpha 2d {{CompatNo}} {{CompatNo}} {{CompatUnknown}} {{CompatGeckoMobile(30)}} {{CompatNo}} {{CompatNo}} {{CompatNo}}
Attribut failIfMajorPerformanceCaveat {{CompatUnknown}} {{CompatUnknown}} {{CompatUnknown}} {{CompatGeckoMobile(41)}} {{CompatUnknown}} {{CompatUnknown}} {{CompatUnknown}}
Contexte bitmaprenderer {{CompatNo}} {{CompatNo}} {{CompatUnknown}} {{CompatGeckoMobile(46)}} {{CompatNo}} {{CompatNo}} {{CompatNo}}

[1] Chrome 9 et Gecko 1.9.2 l'implémentaient initialement comme -webgl expérimental. Depuis Chrome 33 et Gecko 24, ils l'implémentent comme webgl standard.

[2] Internet Explorer 11, WebKit 5.1 et Firefox Mobile l'implémentaient comme -webgl expérimental.

[3] Opera 9 l'implémentait comme -webgl expérimental via une préférence utilisateur, dans la version 15.0, la préférence utilisateur a été supprimée.

[4] Gecko 25 l'implémentait comme "-webgl2 expérimental" via la préférence utilisateur webgl.enable-prototype-webgl2. A partir de Gecko 42, la chaîne "webgl2" est utilisée via la même préférence, et "experimental-webgl2" n'est plus accepté.

Voir aussi