Uwaga:
Wartości x i y mogą być ujemne i odpowiednio większe niż width (szerokość) oraz height (wysokość) elementu canvas.
| Element | Opis |
|---|---|
| <canvas> </canvas> | Element canvas. Zawartością może być tekst alternatywny. Atrybuty width i height definiują wysokość i szerokość elementu. |
| <script> </script> | Element script. Zawartością jest kod definiujący zawartość elementu canvas. Wymaga metody getContext("2d") w deklaracji zmiennej. |
Uwaga:
Obraz jest w formacie PNG (bez tła).
Każdy kontekst utrzymuje stos stanów rysowania. Stany rysunku składają się z:
| Metoda lub własność | Opis |
|---|---|
| c.save() | Zapisuje bieżący stan. |
| c.restore() | Przywraca zapamętany stan. |
Uwagi:
Metoda save() zapisuje zdefiniowany przez właściwość fillStyle kolor. Metoda restore() przywraca zapisane ustawienia formatowania.
Wartość kolor definiujemy zgodnie z Rekomendacją CSS3 Color (zobacz Plansza interaktywna Kolor w CSS3).
| Metoda lub własność | Opis |
|---|---|
| c.lineWidth [ = value ] | Grubość linii (liczba). |
| c.lineCap [ = value ] | Typ zakończenia linii. Wartością może być: butt (prosty), round (okrągły), square (kwadratowy). |
| c.lineJoin [ = value ] | Styl połączenia linii. Wartością może być: bevel (kant), round (okrągły), miter (ukośny). |
| c.miterLimit [ = value ] | limit stylu miter (liczba) |
| c.setLineDash(segments) | styl lini (segmenty) definiowany za pomocą tablicy |
| segments = c.getLineDash() | styl lini (elementy tablicy) |
| c.lineDashOffset [ = value ] | przesunięcie stylu lini |
| Metoda lub własność | Opis |
|---|---|
| c.font [ = value ] | Właściwości fontu. Minimalnie rozmial i nazwa. Definiujemy jak reguła font CSS w atrybucie style (Plansza interaktywna Fonty w CSS). |
| c.textAlign [ = value ] | Wyrównanie tekstu w poziomie. Wartościami są: start (początek), end (koniec), lef (do lewej), right (do prawej), center (do środka). |
| c.textBaseline [ = value ] | Wyrównanie tekstu w pionie. Wartościami są: top (do góry), hanging (do góry), middle (do środka), alphabetic (linia pisma alfabetycznego), ideographic (linia pisma ideograficznego), bottom (do dołu) |
| Metoda lub własność | Opis |
|---|---|
| c.moveTo(x, y) | do punktu (x, y) |
| c.closePath() | zamknięcie ścieżki |
| c.lineTo(x, y) | linia do (x, y) |
| c.quadraticCurveTo(cpx, cpy, x, y) | krzywa kwadratowa |
| c.bezierCurveTo(cp1x, cp1y, cp2x, cp2y, x, y) | krzywa Béziera |
| c.arcTo(x1, y1, x2, y2, radius) | łuk |
| c.arc(x, y, radius, startAngle, endAngle [, counterclockwise ] ) | łuk |
| c.rect(x, y, w, h) | prostokąt |
| Metoda lub własność | Opis |
|---|---|
| c.scale(x, y) | skalowanie (poziomo, pionowo) |
| c.rotate(angle) | obrót (kąt w radianach) |
| c.translate(x, y) | translacja, przesunięcie |
| c.transform(a, b, c, d, e, f) | Macierz transformacji |
| c.setTransform(a, b, c, d, e, f) | Macierz transformacji |
Ten typ łącza umożliwia stosowanie obiektów wykorzystujących dowolny z poniższych interfejsów jako źródeł obrazów:
| Metoda lub własność | Opis |
|---|---|
| c.fillStyle [ = value ] | styl wypełnienia |
| c.strokeStyle [ = value ] | styl linii |
| gradient.addColorStop(offset, color) | dodaje kolor do gradientu |
| gradient = c.createLinearGradient(x0, y0, x1, y1) | tworzy gradient liniowy |
| gradient = c.createRadialGradient(x0, y0, r0, x1, y1, r1) | tworzy gradient radialny |
| pattern = c.createPattern(image, repetition) | tworzy wzorzec |
| Metoda lub własność | Opis |
|---|---|
| c.clearRect(x, y, w, h) | przezroczysty prostokąt (*) |
| c.fillRect(x, y, w, h) | wypełniony prostokąt (*) |
| c.strokeRect(x, y, w, h) | obramowanie prostokąta (*) |
| * x, y, w, h - liczby określające odpowiednio pozycję x, y oraz rozmiar w,h | |
| Metoda lub własność | Opis |
|---|---|
| c.fillText(text, x, y [, maxWidth ] ) | Tekst text w (x, y). Opcjonalnie maksymalna szerokość maxWidth. |
| c.strokeText(text, x, y [, maxWidth ] ) | Obrys tekstu text w (x, y). Opcjonalnie maksymalna szerokość maxWidth. |
| metrics = c.measureText(text) | Pomiar tekstu text. |
| metrics.width | Długość tekstu metrics |
| Metoda lub własność | Opis |
|---|---|
| c.beginPath() | początek ścieżki |
| c.fill() | wypełnienie ścieżki |
| c.stroke() | obrys ścieżki |
| c.drawFocusIfNeeded(element) | bd |
| c.clip() | katrowanie |
| c.isPointInPath(x,y) | zwraca true jeśli punkt (x,y) należy do ścieżki |
| Metoda lub własność | Opis |
|---|---|
| c.drawImage(image, dx, dy) | rysuje obraz* |
| c.drawImage(image, dx, dy, dw, dh) | rysuje skalowany obraz* |
| c.drawImage(image, sx, sy, sw, sh, dx, dy, dw, dh) | rysuje kadr obrazu* |
| * image (obraz); dx, dy (położenie); dw, dh (rozmiar); sx, sy, sw, sh (pozycja kadru) | |
| Metoda lub własność | Opis |
|---|---|
| c.addHitRegion(options) | bd |
| c.removeHitRegion(id) | bd |
| c.clearHitRegions() | bd |
| Metoda lub własność | Opis |
|---|---|
| imagedata = c.createImageData(sw, sh) | tworzy obiekt ImageData |
| imagedata = c.createImageData(imagedata) | zwraca obiekt ImageData |
| imagedata = c.getImageData(sx, sy, sw, sh) | wycinek canvasu |
| imagedata.width | szerokość obiektu ImageData |
| imagedata.height | wysokość obiektu ImageData |
| imagedata.data | tablica RGBa pikseli |
| c.putImageData(imagedata, dx, dy) | rysuje pixele z imagedata |
| Metoda lub własność | Opis |
|---|---|
| c.globalAlpha [ = value ] | Przezroczystość |
| c.globalCompositeOperation [ = value ] | Kompozycja* |
| * source-atop, source-in, source-out, source-over, destination-atop, destination-in, destination-out, destination-over, lighter, copy, xor, vendorName-operationName | |
| Metoda lub własność | Opis |
|---|---|
| c.shadowColor [ = value ] | kolor cienia (kolor) |
| c.shadowOffsetX [ = value ] | przesunięcie poziome (liczba) |
| c.shadowOffsetY [ = value ] | przesunięcie pionowe (liczba) |
| c.shadowBlur [ = value ] | rozmycie cienia (liczba) |
Uwagi:
Metoda setTimeout() wywołuje funkcje podaną jako pierwszy argument. Drugi argument oznacza liczbę milisekund opóźnienia.