渐变
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>渐变</title>
</head>
<body>
<canvas id="canvas" width="600" height="800"></canvas>
<script>
var canvas = document.getElementById('canvas');
var ctx = canvas.getContext('2d');
function drawGradient() {
ctx.beginPath();
ctx.translate(50, 50);
var grd = ctx.createLinearGradient(0, 0, 200, 0);
grd.addColorStop(0.5, 'red');
grd.addColorStop(1, 'blue');
ctx.lineWidth = 8;
ctx.strokeStyle = grd;
ctx.fillStyle = grd;
ctx.arc(100, 100, 50, 0, 360 * Math.PI / 180, true);
ctx.fill();
}
drawGradient();
</script>
</body>
</html>
网格
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>网格</title>
</head>
<body>
<canvas id="canvas" width="850" height="750" style="border:1px solid #000"></canvas>
<script>
var canvas = document.getElementById('canvas');
if (canvas.getContext) {
var ctx = canvas.getContext('2d');
function drawLine(stepx, stepy) {
ctx.lineWidth = 0.5;
ctx.strokeStyle = 'green';
for (var i = stepx + 0.5; i < canvas.width; i += stepx) {
ctx.beginPath();
ctx.moveTo(i, 0);
ctx.lineTo(i, canvas.height);
ctx.stroke();
}
for (var i1 = stepy + 0.5; i1 < canvas.height; i1 += stepy) {
ctx.beginPath();
ctx.moveTo(0, i1);
ctx.lineTo(canvas.width, i1);
ctx.stroke();
}
}
drawLine(10, 10);
}
</script>
</body>
</html>
效果
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>效果</title>
</head>
<body>
<canvas id="canvas" width="600" height="800" style="border:1px solid red"></canvas>
<script>
var canvas = document.getElementById('canvas');
var ctx = canvas.getContext('2d');
ctx.save();
ctx.translate(50, 50);
ctx.fillStyle = 'red';
ctx.fillRect(0, 0, 150, 70);
ctx.restore();
ctx.save();
ctx.translate(250, 250);
ctx.scale(1.5, 0.5);
ctx.fillStyle = 'green';
ctx.fillRect(0, 0, 50, 70);
ctx.restore();
ctx.fillStyle = 'red';
ctx.fillRect(100, 200, 150, 70);
</script>
</body>
</html>
笑脸
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>网格</title>
</head>
<body>
<canvas id="canvas" width="850" height="750" style="border:1px solid #000"></canvas>
<script>
var canvas = document.getElementById('canvas');
if (canvas.getContext) {
var ctx = canvas.getContext('2d');
ctx.beginPath();
ctx.arc(75, 75, 50, 0, 360 * Math.PI / 180, true);
ctx.moveTo(110, 75);
ctx.arc(75, 75, 35, 0, 180 * Math.PI / 180, false);
ctx.moveTo(65, 65);
ctx.arc(60, 65, 5, 0, 360 * Math.PI / 180, true);
ctx.moveTo(95, 65);
ctx.arc(90, 65, 5, 0, 360 * Math.PI / 180, true);
ctx.stroke();
}
</script>
</body>
</html>