<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>线性渐变</title>
</head>
<body>
<canvas id="canvas" style="border: 1px solid #aaa;display: block;margin: 50px auto;">
你当前的浏览器不支持canvas,请更换浏览器再试。
</canvas>
<script>
window.onload = function(){
var canvas = document.getElementById("canvas");
canvas.width = 800;
canvas.height = 600;
var context = canvas.getContext("2d");
//var linearGrad = context.createLinearGradient(0, 0, 800, 0);//竖直渐变
//var linearGrad = context.createLinearGradient(0, 0, 0, 600);//水平渐变
var linearGrad = context.createLinearGradient(0, 0, 400, 300);//对角线渐变到(400,300)这个坐标
linearGrad.addColorStop(0.0, 'white');
linearGrad.addColorStop(0.25, 'yellow');
linearGrad.addColorStop(0.5, 'green');
linearGrad.addColorStop(0.75, 'blue');
linearGrad.addColorStop(1.0, 'black');
context.fillStyle = linearGrad;
context.fillRect(0, 0, 800,600);
}
</script>
</body>
</html>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>径向渐变</title>
</head>
<body>
<canvas id="canvas" style="border: 1px solid #aaa;display: block;margin: 50px auto;">
你当前的浏览器不支持canvas,请更换浏览器再试。
</canvas>
<script>
window.onload = function(){
var canvas = document.getElementById("canvas");
canvas.width = 800;
canvas.height = 600;
var context = canvas.getContext("2d");
//var linearGrad = context.createLinearGradient(0, 0, 800, 0);//竖直渐变
//var linearGrad = context.createLinearGradient(0, 0, 0, 600);//水平渐变
var radialGrad = context.createRadialGradient(400, 300, 0, 400, 300, 400);//对角线渐变到(400,300)这个坐标
radialGrad.addColorStop(0.0, 'white');
radialGrad.addColorStop(0.25, 'yellow');
radialGrad.addColorStop(0.5, 'green');
radialGrad.addColorStop(0.75, 'blue');
radialGrad.addColorStop(1.0, 'black');
context.fillStyle = radialGrad;
context.fillRect(0, 0, 800,600);
}
</script>
</body>
</html>
本文介绍如何使用HTML5的Canvas API实现线性和径向渐变效果。通过创建不同类型的渐变对象,并设置颜色停靠点,最终填充整个画布区域,展示从白色过渡到黑色的效果。适用于前端开发人员学习。
614

被折叠的 条评论
为什么被折叠?



