HTMLCanvasElement.getContext()
Baseline
Widely available
*
Cette fonctionnalité est bien établie et fonctionne sur de nombreux appareils et versions de navigateurs. Elle est disponible sur tous les navigateurs depuis juillet 2015.
* Certaines parties de cette fonctionnalité peuvent bénéficier de prise en charge variables.
La méthode HTMLCanvasElement.getContext() retourne un contexte de dessin sur le canevas, ou null si l'identificateur de contexte n'est pas supporté.
Syntaxe
canvas.getContext(typeDeContexte, attributsDeContexte);
Paramètres
- typeDeContexte
-
Est un
DOMStringcontenant l'identifcateur de contexte définissant le contexte de dessin associé au canevas. Les valeurs possibles sont :"2d", conduisant à la création d'un objetCanvasRenderingContext2Dreprésentant un contexte de représentation bi-dimensionnel."webgl"(ou"experimental-webgl") pour créer un objetWebGLRenderingContextreprésentant un contexte de représentation tri-dimensionnel. Ce contexte est seulement disponible sur les navigateurs implémentant la version 1 de WebGL (OpenGL ES 2.0).- "
webgl2" pour créer un objetWebGL2RenderingContextreprésentant un contexte de représentation tri-dimensionnel. Ce contexte est seulement disponible sur les navigateurs implémentant la version 2 de WebGL (OpenGL ES 3.0). Expérimental . "bitmaprenderer"pour créer unImageBitmapRenderingContextne fournissant que la fonctionnalité de remplacement du contenu du canevas par uneImageBitmapdonnée.
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 :
jscanvas.getContext("webgl", { antialias: false, depth: false });attributs de contexte 2d :
alpha: booléen indiquant que le canevas contient un canal alpha. Si positionné àfalse, le navigateur saura ainsi que l'arrière-plan est toujours opaque, ce qui peut alors accélérer le dessin de contenus et d'images transparents.-
Non standard
(Gecko seulement)
willReadFrequently: booléen indiquant si de nombreuses opérations de relecture sont prévues ou non. Cela forcera l'utilisation d'un canevas 2D logiciel (au lieu d'un canevas accéléré matériellement) et peut faire économiser de la mémoire lors d'appels fréquents àgetImageData(). Cette option est seulement disponible si l'indicateurgfx.canvas.willReadFrequently.enableest positionné àtrue(ce qui, par défaut, est seulement le cas pour B2G/Firefox OS). -
Non standard
(Blink seulement)
storage: chaîne indiquant quel stockage est utilisé (persistentpar défaut).
attributs de contexte WebGL :
alpha: booléen indiquant que le canevas contient un tampon alpha.depth: booléen indiquant que le tampon de dessin a un tampon de profondeur d'au moins 16 bits.stencil: booléen indiquant que le tampon de dessin a un tampon stencil d'au moins 8 bits.antialias: booléen indiquant si un anti-aliasing doit être effectué ou non.premultipliedAlpha: booléen indiquant que le composeur de page supposera que le tampon de dessin contient des couleurs avec alpha pré-multiplié.preserveDrawingBuffer: si la valeur esttrue, les tampons ne seront pas effacés et conserveront leurs valeurs jusqu'à ce qu'elles soient effacées ou réécrites par l'auteur.failIfMajorPerformanceCaveat: booléen indiquant qu'un contexte sera créé si la performance du système est faible.
Valeur retournée
Un RenderingContext, qui est soit un
CanvasRenderingContext2Dpour"2d",WebGLRenderingContextpour"webgl"et"experimental-webgl",WebGL2RenderingContextpour"webgl2"ouImageBitmapRenderingContextpour"bitmaprenderer".
Si le typeDeContexte ne correspond pas à un contexte de dessin possible, null est retourné.
Exemples
Étant donné l'élément <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
| Specification |
|---|
| HTML> # dom-canvas-getcontext-dev> |
Compatibilité des navigateurs
Chargement…
Voir aussi
- L'interface la définissant,
HTMLCanvasElement. OffscreenCanvas.getContext().- Contextes de représentation disponibles :
CanvasRenderingContext2D,WebGLRenderingContextetWebGL2RenderingContextetImageBitmapRenderingContext.