--- title: HTMLCanvasElement.getContext() slug: Web/API/HTMLCanvasElement/getContext translation_of: Web/API/HTMLCanvasElement/getContext ---
Metoda HTMLCanvasElement.getContext()
zwraca kontekst pola roboczego {{HTMLElement("canvas")}}, lub {{jsxref("null")}} jeśli identyfikator kontekstu nie jest wspierany.
var ctx = canvas.getContext(contextType); var ctx = canvas.getContext(contextType, contextAttributes);
contextType
"2d"
, tworzy obiekt {{domxref("CanvasRenderingContext2D")}} reprezentujący dwuwymiarowy kontekst renderowania."webgl"
(lub "experimental-webgl"
), tworzy obiekt {{domxref("WebGLRenderingContext")}} reprezentujący trójwymiarowy kontekst renderowania. Ten kontekst dostępny jest tylko w przeglądarkach w których zaimplementowana jest wersja 1 WebGL (OpenGL ES 2.0)."webgl2"
tworzy obiekt {{domxref("WebGL2RenderingContext")}} reprezentujący trójwymiarowy kontekst renderowania. Ten kontekst dostępny jest tylko w przeglądarkach w których zaimplementowana jest wersja 2 WebGL (OpenGL ES 3.0). {{experimental_inline}}"bitmaprenderer"
tworzy {{domxref("ImageBitmapRenderingContext")}}, który zapewnia możliwość zastąpenia treści {{HTMLElement("canvas")}} na podaną {{domxref("ImageBitmap")}}.Nota: Identyfikator "experimental-webgl
" jest używany przy nowych wdrożeniach WebGL. Wdrożenia te nie uzyskały zgodności z pakietem testowym lub sterowniki graficzne platformy nie są jeszcze stabilne. Grupa Khronos certyfikuje wdrożenia WebGL zgodnie z regułami zgodności.
contextAttributes
Można użyć kilku własności kontekstu przy tworzeniu kontekstu renderowania, dla przykładu:
const gl = canvas.getContext('webgl', { antialias: false, depth: false });
alpha
: Boolean wskazujacy czy canvas zawiera kanał alpha. Jeśli ustawione na false
, przeglądarka wie, że tło zawsze jest nieprzeźroczyste, co może przyspieszyć rysowanie przeźroczystych treści i obrazków. willReadFrequently
: Boolean wskazujący czy wiele operacji read-back
zostało zaplanowanych. Spowoduje wymuszenie użycia oprogramowania (zamiast przyśpieszenia sprzętowego) 2D canvas i może pomóc w oszczędności pamięci przy częstym wywoływaniu {{domxref("CanvasRenderingContext2D.getImageData", "getImageData()")}}. Opcja ta jest dostepna tylko jeśli flaga gfx.canvas.willReadFrequently.enable
jest ustawiona na true
(która, domyślnie, dotyczy tylko B2G/Firefox OS).storage
: String wskazujacy jaka pamięć jest używana (domyślnie jest to "stała" ).alpha
: Boolean wskazujacy czy canvas zawiera bufor alpha.depth
: Boolean wskazujący czy bufor rysunku posiada bufor głębi o wartości co przynajmniej 16 bitów.stencil
: Boolean wskazujący czy bufor rysunku posiada bufor matrycy o wartości przynajmniej 8 bitów. antialias
: Boolean wskazujący czy używany ma być anti-aliasing.
premultipliedAlpha
: Boolean wskazujący czy projektant strony założył, że bufor rysunku zawiera kolory ze wstepnie pomnożoną alfą.preserveDrawingBuffer
: Jeśli ustawiona na true
, bufory nie zostaną wyczyszczone i zachowają swoje wartości, dopóki nie zostaną wyczyszczone lub nadpisane przez autora.failIfMajorPerformanceCaveat
: Boolean wskazujący czy kontekst będzie tworzony, jeśli wydajność systemu jest niska.{{domxref("RenderingContext")}} jest też
"2d"
,"webgl"
i "experimental-webgl"
,"webgl2"
lub"bitmaprenderer"
.Jeśli contextType
nie może dopasować możliwych kontekstów rysowania, null
zostanie zwrócony.
Wykorzystując element {{HTMLElement("canvas")}}:
<canvas id="canvas" width="300" height="300"></canvas>
Kontekst 2d
uzyskać można za pomocą kodu:
var canvas = document.getElementById('canvas'); var ctx = canvas.getContext('2d'); console.log(ctx); // CanvasRenderingContext2D { ... }
Tworzy to kontekst renderowania 2D, po którym można rysować.
Specyfikacja | Status | Komentarz |
---|---|---|
{{SpecName('HTML WHATWG', "scripting.html#dom-canvas-getcontext", "HTMLCanvasElement.getContext")}} | {{Spec2('HTML WHATWG')}} | Brak zmian od ostatniego snapshota, {{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')}} | Snapshot {{SpecName('HTML WHATWG')}} zawiera początkową definicje. |
{{Compat("api.HTMLCanvasElement.getContext")}}