Search


Search something to see results

CanvasRenderingContext2D

The CanvasRenderingContext2D interface, part of the Canvas API, provides the 2D rendering context for the drawing surface of a element. It is used for drawing shapes, text, images, and other objects.

MDN Reference

interface CanvasRenderingContext2D {
    globalAlpha: number;
    globalCompositeOperation: GlobalCompositeOperation;
    drawImage(image: CanvasImageSource, dx: number, dy: number): void;
    drawImage(
        image: CanvasImageSource,
        dx: number,
        dy: number,
        dw: number,
        dh: number,
    ): void;
    drawImage(
        image: CanvasImageSource,
        sx: number,
        sy: number,
        sw: number,
        sh: number,
        dx: number,
        dy: number,
        dw: number,
        dh: number,
    ): void;
    beginPath(): void;
    clip(fillRule?: CanvasFillRule): void;
    clip(path: Path2D, fillRule?: CanvasFillRule): void;
    fill(fillRule?: CanvasFillRule): void;
    fill(path: Path2D, fillRule?: CanvasFillRule): void;
    isPointInPath(x: number, y: number, fillRule?: CanvasFillRule): boolean;
    isPointInPath(
        path: Path2D,
        x: number,
        y: number,
        fillRule?: CanvasFillRule,
    ): boolean;
    isPointInStroke(x: number, y: number): boolean;
    isPointInStroke(path: Path2D, x: number, y: number): boolean;
    stroke(): void;
    stroke(path: Path2D): void;
    fillStyle: string | CanvasGradient | CanvasPattern;
    strokeStyle: string | CanvasGradient | CanvasPattern;
    createConicGradient(
        startAngle: number,
        x: number,
        y: number,
    ): CanvasGradient;
    createLinearGradient(
        x0: number,
        y0: number,
        x1: number,
        y1: number,
    ): CanvasGradient;
    createPattern(
        image: CanvasImageSource,
        repetition: null | string,
    ): null | CanvasPattern;
    createRadialGradient(
        x0: number,
        y0: number,
        r0: number,
        x1: number,
        y1: number,
        r1: number,
    ): CanvasGradient;
    filter: string;
    createImageData(
        sw: number,
        sh: number,
        settings?: ImageDataSettings,
    ): ImageData;
    createImageData(imagedata: ImageData): ImageData;
    getImageData(
        sx: number,
        sy: number,
        sw: number,
        sh: number,
        settings?: ImageDataSettings,
    ): ImageData;
    putImageData(imagedata: ImageData, dx: number, dy: number): void;
    putImageData(
        imagedata: ImageData,
        dx: number,
        dy: number,
        dirtyX: number,
        dirtyY: number,
        dirtyWidth: number,
        dirtyHeight: number,
    ): void;
    imageSmoothingEnabled: boolean;
    imageSmoothingQuality: ImageSmoothingQuality;
    arc(
        x: number,
        y: number,
        radius: number,
        startAngle: number,
        endAngle: number,
        counterclockwise?: boolean,
    ): void;
    arcTo(x1: number, y1: number, x2: number, y2: number, radius: number): void;
    bezierCurveTo(
        cp1x: number,
        cp1y: number,
        cp2x: number,
        cp2y: number,
        x: number,
        y: number,
    ): void;
    closePath(): void;
    ellipse(
        x: number,
        y: number,
        radiusX: number,
        radiusY: number,
        rotation: number,
        startAngle: number,
        endAngle: number,
        counterclockwise?: boolean,
    ): void;
    lineTo(x: number, y: number): void;
    moveTo(x: number, y: number): void;
    quadraticCurveTo(cpx: number, cpy: number, x: number, y: number): void;
    rect(x: number, y: number, w: number, h: number): void;
    roundRect(
        x: number,
        y: number,
        w: number,
        h: number,
        radii?: number | DOMPointInit | (number | DOMPointInit)[],
    ): void;
    roundRect(
        x: number,
        y: number,
        w: number,
        h: number,
        radii?: number | DOMPointInit | Iterable<number | DOMPointInit, any, any>,
    ): void;
    lineCap: CanvasLineCap;
    lineDashOffset: number;
    lineJoin: CanvasLineJoin;
    lineWidth: number;
    miterLimit: number;
    getLineDash(): number[];
    setLineDash(segments: number[]): void;
    setLineDash(segments: Iterable<number>): void;
    clearRect(x: number, y: number, w: number, h: number): void;
    fillRect(x: number, y: number, w: number, h: number): void;
    strokeRect(x: number, y: number, w: number, h: number): void;
    canvas: HTMLCanvasElement;
    getContextAttributes(): CanvasRenderingContext2DSettings;
    shadowBlur: number;
    shadowColor: string;
    shadowOffsetX: number;
    shadowOffsetY: number;
    isContextLost(): boolean;
    reset(): void;
    restore(): void;
    save(): void;
    fillText(text: string, x: number, y: number, maxWidth?: number): void;
    measureText(text: string): TextMetrics;
    strokeText(text: string, x: number, y: number, maxWidth?: number): void;
    direction: CanvasDirection;
    font: string;
    fontKerning: CanvasFontKerning;
    fontStretch: CanvasFontStretch;
    fontVariantCaps: CanvasFontVariantCaps;
    letterSpacing: string;
    textAlign: CanvasTextAlign;
    textBaseline: CanvasTextBaseline;
    textRendering: CanvasTextRendering;
    wordSpacing: string;
    getTransform(): DOMMatrix;
    resetTransform(): void;
    rotate(angle: number): void;
    scale(x: number, y: number): void;
    setTransform(
        a: number,
        b: number,
        c: number,
        d: number,
        e: number,
        f: number,
    ): void;
    setTransform(transform?: DOMMatrix2DInit): void;
    transform(
        a: number,
        b: number,
        c: number,
        d: number,
        e: number,
        f: number,
    ): void;
    translate(x: number, y: number): void;
    drawFocusIfNeeded(element: Element): void;
    drawFocusIfNeeded(path: Path2D, element: Element): void;
}

Hierarchy (View Summary)

Index

Properties

Methods

<internal>.CanvasRenderingContext2D.drawImage<internal>.CanvasRenderingContext2D.beginPath<internal>.CanvasRenderingContext2D.clip<internal>.CanvasRenderingContext2D.fill<internal>.CanvasRenderingContext2D.isPointInPath<internal>.CanvasRenderingContext2D.isPointInStroke<internal>.CanvasRenderingContext2D.stroke<internal>.CanvasRenderingContext2D.createConicGradient<internal>.CanvasRenderingContext2D.createLinearGradient<internal>.CanvasRenderingContext2D.createPattern<internal>.CanvasRenderingContext2D.createRadialGradient<internal>.CanvasRenderingContext2D.createImageData<internal>.CanvasRenderingContext2D.getImageData<internal>.CanvasRenderingContext2D.putImageData<internal>.CanvasRenderingContext2D.arc<internal>.CanvasRenderingContext2D.arcTo<internal>.CanvasRenderingContext2D.bezierCurveTo<internal>.CanvasRenderingContext2D.closePath<internal>.CanvasRenderingContext2D.ellipse<internal>.CanvasRenderingContext2D.lineTo<internal>.CanvasRenderingContext2D.moveTo<internal>.CanvasRenderingContext2D.quadraticCurveTo<internal>.CanvasRenderingContext2D.rect<internal>.CanvasRenderingContext2D.roundRect<internal>.CanvasRenderingContext2D.getLineDash<internal>.CanvasRenderingContext2D.setLineDash<internal>.CanvasRenderingContext2D.clearRect<internal>.CanvasRenderingContext2D.fillRect<internal>.CanvasRenderingContext2D.strokeRect<internal>.CanvasRenderingContext2D.getContextAttributes<internal>.CanvasRenderingContext2D.isContextLost<internal>.CanvasRenderingContext2D.reset<internal>.CanvasRenderingContext2D.restore<internal>.CanvasRenderingContext2D.save<internal>.CanvasRenderingContext2D.fillText<internal>.CanvasRenderingContext2D.measureText<internal>.CanvasRenderingContext2D.strokeText<internal>.CanvasRenderingContext2D.getTransform<internal>.CanvasRenderingContext2D.resetTransform<internal>.CanvasRenderingContext2D.rotate<internal>.CanvasRenderingContext2D.scale<internal>.CanvasRenderingContext2D.setTransform<internal>.CanvasRenderingContext2D.transform<internal>.CanvasRenderingContext2D.translate<internal>.CanvasRenderingContext2D.drawFocusIfNeeded

Properties

globalAlpha: number
globalCompositeOperation: GlobalCompositeOperation
fillStyle: string | CanvasGradient | CanvasPattern
strokeStyle: string | CanvasGradient | CanvasPattern
filter: string
imageSmoothingEnabled: boolean
imageSmoothingQuality: ImageSmoothingQuality
lineCap: CanvasLineCap
lineDashOffset: number
lineJoin: CanvasLineJoin
lineWidth: number
miterLimit: number
shadowBlur: number
shadowColor: string
shadowOffsetX: number
shadowOffsetY: number
direction: CanvasDirection
font: string
fontKerning: CanvasFontKerning
fontStretch: CanvasFontStretch
fontVariantCaps: CanvasFontVariantCaps
letterSpacing: string
textAlign: CanvasTextAlign
textBaseline: CanvasTextBaseline
textRendering: CanvasTextRendering
wordSpacing: string

Methods

Parameters

Returns void

Parameters

Returns void

Parameters

  • image: CanvasImageSource
  • sx: number
  • sy: number
  • sw: number
  • sh: number
  • dx: number
  • dy: number
  • dw: number
  • dh: number

Returns void

Returns void

Parameters

Returns void

Parameters

Returns void

Parameters

Returns void

Parameters

Returns void

Parameters

Returns boolean

Parameters

Returns boolean

Parameters

  • x: number
  • y: number

Returns boolean

Parameters

  • path: Path2D
  • x: number
  • y: number

Returns boolean

Returns void

Parameters

Returns void

Parameters

  • startAngle: number
  • x: number
  • y: number

Returns CanvasGradient

Parameters

  • x0: number
  • y0: number
  • x1: number
  • y1: number

Returns CanvasGradient

Parameters

Returns null | CanvasPattern

Parameters

  • x0: number
  • y0: number
  • r0: number
  • x1: number
  • y1: number
  • r1: number

Returns CanvasGradient

Parameters

Returns ImageData

Parameters

Returns ImageData

Parameters

Returns ImageData

Parameters

Returns void

Parameters

  • imagedata: ImageData
  • dx: number
  • dy: number
  • dirtyX: number
  • dirtyY: number
  • dirtyWidth: number
  • dirtyHeight: number

Returns void

Parameters

  • x: number
  • y: number
  • radius: number
  • startAngle: number
  • endAngle: number
  • Optionalcounterclockwise: boolean

Returns void

Parameters

  • x1: number
  • y1: number
  • x2: number
  • y2: number
  • radius: number

Returns void

Parameters

  • cp1x: number
  • cp1y: number
  • cp2x: number
  • cp2y: number
  • x: number
  • y: number

Returns void

Returns void

Parameters

  • x: number
  • y: number
  • radiusX: number
  • radiusY: number
  • rotation: number
  • startAngle: number
  • endAngle: number
  • Optionalcounterclockwise: boolean

Returns void

Parameters

  • x: number
  • y: number

Returns void

Parameters

  • x: number
  • y: number

Returns void

Parameters

  • cpx: number
  • cpy: number
  • x: number
  • y: number

Returns void

Parameters

  • x: number
  • y: number
  • w: number
  • h: number

Returns void

Parameters

Returns void

Parameters

Returns void

Returns number[]

Parameters

  • segments: number[]

Returns void

Parameters

Returns void

Parameters

  • x: number
  • y: number
  • w: number
  • h: number

Returns void

Parameters

  • x: number
  • y: number
  • w: number
  • h: number

Returns void

Parameters

  • x: number
  • y: number
  • w: number
  • h: number

Returns void

Returns CanvasRenderingContext2DSettings

Returns boolean

Returns void

Returns void

Returns void

Parameters

  • text: string
  • x: number
  • y: number
  • OptionalmaxWidth: number

Returns void

Parameters

  • text: string

Returns TextMetrics

Parameters

  • text: string
  • x: number
  • y: number
  • OptionalmaxWidth: number

Returns void

Returns DOMMatrix

Returns void

Parameters

  • angle: number

Returns void

Parameters

  • x: number
  • y: number

Returns void

Parameters

  • a: number
  • b: number
  • c: number
  • d: number
  • e: number
  • f: number

Returns void

Parameters

Returns void

Parameters

  • a: number
  • b: number
  • c: number
  • d: number
  • e: number
  • f: number

Returns void

Parameters

  • x: number
  • y: number

Returns void

Parameters

Returns void

Parameters

Returns void