CanvasRenderingContext2D:fill() 方法

Baseline 已廣泛支援

此特性已相當成熟,可在許多裝置和瀏覽器版本上使用。自 ⁨2015 年 7 月⁩以來,各瀏覽器均已提供此特性。

Canvas 2D API 的 CanvasRenderingContext2D.fill() 方法使用當前的 fillStyle 來填充當前或給定的路徑。

語法

js
fill()
fill(path)
fill(fillRule)
fill(path, fillRule)

引數

fillRule

確定一個點在填充區域內部還是外部的演算法。可能的值

nonzero

非零環繞規則。預設規則。

evenodd

奇偶纏繞規則

路徑

要填充的 Path2D 路徑。

返回值

無(undefined)。

示例

填充矩形

此示例使用 fill() 方法填充一個矩形。

HTML

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

JavaScript

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

結果

指定路徑和 fillRule

此示例將一些交叉線儲存到 Path2D 物件。然後使用 fill() 方法將物件渲染到畫布上。透過使用 "evenodd" 規則,物件中心留有一個未填充的孔;預設情況下(使用 "nonzero" 規則),該孔也會被填充。

HTML

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

JavaScript

js
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");

結果

規範

規範
HTML
# dom-context-2d-fill-dev

瀏覽器相容性

另見