CanvasRenderingContext2D.fill()

The CanvasRenderingContext2D.fill() method of the Canvas 2D API fills the current or given path with the current fillStyle.

Syntax

void ctx.fill([fillRule]);
void ctx.fill(path [, fillRule]);

Parameters

fillRule

The algorithm by which to determine if a point is inside or outside the filling region. Possible values:

path

A Path2D path to fill.

Examples

Filling a rectangle

This example fills a rectangle with the fill() method.

HTML

<canvas id="canvas"></canvas>

JavaScript

const canvas = document.getElementById('canvas');
const ctx = canvas.getContext('2d');
ctx.rect(10, 10, 150, 100);
ctx.fill();

Result

Specifying a path and a fillRule

This example saves some intersecting lines to a Path2D object. The fill() method is then used to render the object to the canvas. A hole is left unfilled in the object's center by using the "evenodd" rule; by default (with the "nonzero" rule), the hole would also be filled.

HTML

<canvas id="canvas"></canvas>

JavaScript

const canvas = document.getElementById('canvas');
const ctx = canvas.getContext('2d');

// Create path
let region = new Path2D();
region.moveTo(30, 90);
region.lineTo(110, 20);
region.lineTo(240, 130);
region.lineTo(60, 130);
region.lineTo(190, 20);
region.lineTo(270, 90);
region.closePath();

// Fill path
ctx.fillStyle = 'green';
ctx.fill(region, 'evenodd');

Result

Specifications

Specification
HTML Standard (HTML)
# dom-context-2d-fill-dev

Browser compatibility

BCD tables only load in the browser

See also