選單
×
   ❮     
HTML CSS JAVASCRIPT SQL PYTHON JAVA PHP HOW TO W3.CSS C C++ C# BOOTSTRAP REACT MYSQL JQUERY EXCEL XML DJANGO NUMPY PANDAS NODEJS R TYPESCRIPT ANGULAR GIT POSTGRESQL MONGODB ASP AI GO KOTLIN SASS VUE DSA GEN AI SCIPY AWS CYBERSECURITY DATA SCIENCE
     ❯   

HTML Canvas 徑向漸變


createRadialGradient() 方法

createRadialGradient() 方法用於定義一個徑向/圓形漸變。

徑向漸變由兩個假想圓定義:一個起始圓和一個結束圓。漸變從起始圓開始,向結束圓移動。

createRadialGradient() 方法具有以下引數:

引數 描述
x0 必需。起始圓的 x 座標
y0 必需。起始圓的 y 座標
r0 必需。起始圓的半徑
x1 必需。結束圓的 x 座標
y1 必需。結束圓的 y 座標
r1 必需。結束圓的半徑

漸變物件需要兩個或更多顏色停止點。

addColorStop() 方法指定顏色停止點及其在漸變中的位置。位置可以在 0 和 1 之間。

要使用漸變,請將其分配給 fillStylestrokeStyle 屬性,然後繪製形狀(矩形、圓形、形狀或文字)。

示例

使用兩個顏色停止點建立徑向/圓形漸變;起始圓為淺藍色,結束圓為深藍色。起始圓的中心位於 (150,75) 位置,半徑為 15 畫素。結束圓的中心位於 (150,75) 位置,半徑為 150 畫素。然後,用漸變填充矩形。

您的瀏覽器不支援 HTML5 canvas 標籤。
<script>
const c = document.getElementById("myCanvas");
const ctx = c.getContext("2d");

// 建立漸變
const grad=ctx.createRadialGradient(150,75,15,150,75,150);
grad.addColorStop(0,"lightblue");
grad.addColorStop(1,"darkblue");

// 用漸變填充矩形
ctx.fillStyle = grad;
ctx.fillRect(10,10,280,130);
</script>
自己動手試一試 »


示例

在這裡,我們將結束圓的半徑設定為一個較小的數字 (100),可以看到徑向/圓形漸變會變小。

您的瀏覽器不支援 HTML5 canvas 標籤。
<script>
const c = document.getElementById("myCanvas");
const ctx = c.getContext("2d");

// 建立漸變
const grad=ctx.createRadialGradient(150,75,15,150,75,100);
grad.addColorStop(0,"lightblue");
grad.addColorStop(1,"darkblue");

// 用漸變填充矩形
ctx.fillStyle = grad;
ctx.fillRect(10,10,280,130);
</script>
自己動手試一試 »

示例

在這裡,我們移動結束圓的中心點以獲得新的外觀。

您的瀏覽器不支援 HTML5 canvas 標籤。
<script>
const c = document.getElementById("myCanvas");
const ctx = c.getContext("2d");

// 建立漸變
const grad=ctx.createRadialGradient(150,75,15,180,95,100);
grad.addColorStop(0,"lightblue");
grad.addColorStop(1,"darkblue");

// 用漸變填充矩形
ctx.fillStyle = grad;
ctx.fillRect(10,10,280,130);
</script>
自己動手試一試 »

示例

在這裡,我們向漸變新增一個額外的顏色停止點以獲得新的外觀。

您的瀏覽器不支援 HTML5 canvas 標籤。
<script>
const c = document.getElementById("myCanvas");
const ctx = c.getContext("2d");

// 建立漸變
const grad=ctx.createRadialGradient(150,75,15,150,75,150);
grad.addColorStop(0,"lightblue");
grad.addColorStop(0.3,"pink");
grad.addColorStop(1,"darkblue");

// 用漸變填充矩形
ctx.fillStyle = grad;
ctx.fillRect(10,10,280,130);
</script>
自己動手試一試 »

×

聯絡銷售

如果您想將 W3Schools 服務用於教育機構、團隊或企業,請傳送電子郵件給我們
sales@w3schools.com

報告錯誤

如果您想報告錯誤,或想提出建議,請傳送電子郵件給我們
help@w3schools.com

W3Schools 經過最佳化,旨在方便學習和培訓。示例可能經過簡化,以提高閱讀和學習體驗。教程、參考資料和示例會不斷審查,以避免錯誤,但我們無法保證所有內容的完全正確性。使用 W3Schools 即表示您已閱讀並接受我們的使用條款Cookie 和隱私政策

版權所有 1999-2024 Refsnes Data。保留所有權利。W3Schools 由 W3.CSS 提供支援