Menu
×
   ❮     
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 画布 径向渐变


createRadialGradient() 方法

使用 createRadialGradient() 方法定义径向/圆形渐变。

径向渐变由两个虚构的圆形定义:起始圆和结束圆。渐变从起始圆开始,向结束圆移动。

createRadialGradient() 方法具有以下参数

参数 描述
x0 必需。起始圆的 x 坐标
y0 必需。起始圆的 y 坐标
r0 必需。起始圆的半径
x1 必需。结束圆的 x 坐标
y1 必需。结束圆的 y 坐标
r1 必需。结束圆的半径

渐变对象需要两个或多个颜色停止。

addColorStop() 方法指定颜色停止及其在渐变中的位置。位置可以在 0 到 1 之间。

要使用渐变,请将其分配给 fillStyle strokeStyle 属性,然后绘制形状(矩形、圆形、形状或文本)。

示例

创建一个具有两个颜色停止的径向/圆形渐变;浅蓝色用于渐变的起始圆,深蓝色用于结束圆。起始圆的中心位于位置 (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>
自己试一试 »

×

Contact Sales

If you want to use W3Schools services as an educational institution, team or enterprise, send us an e-mail:
[email protected]

Report Error

If you want to report an error, or if you want to make a suggestion, send us an e-mail:
[email protected]

W3Schools is optimized for learning and training. Examples might be simplified to improve reading and learning. Tutorials, references, and examples are constantly reviewed to avoid errors, but we cannot warrant full correctness of all content. While using W3Schools, you agree to have read and accepted our terms of use, cookie and privacy policy.

Copyright 1999-2024 by Refsnes Data. All Rights Reserved. W3Schools is Powered by W3.CSS.