目录
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<canvas width="100px" height="100px" style="background-color: yellow;">
如果是不兼容的ie低版本,则会显示这一行字
</canvas>
</body>
</html>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<style>
canvas{
margin: 0 auto;
border: 2px solid blue;
display: block;
height: 500px;
width: 500px;
}
</style>
</head>
<body>
<canvas id="mycanvas" >
如果是不兼容的ie低版本,则会显示这一行字
</canvas>
<script>
// 使用原生js操作canvas
//获取canvas标签
var canvas = document.querySelector('#mycanvas')
//获取上下文对象
var ctx = canvas.getContext('2d')
//开启一条路径
ctx.beginPath()
//确定起始点
ctx.moveTo(50,50)
//到哪去,确定结束点
ctx.lineTo(300,300)
//进行上色
ctx.stroke()
//关闭路径
ctx.closePath()
</script>
</body>
</html>
常用方法和属性
画直线
给线条宽度和颜色
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<style>
canvas{
margin: 0 auto;
border: 2px solid blue;
display: block;
}
</style>
</head>
<body>
<canvas id="mycanvas" width="500px" height="500px">
如果是不兼容的ie低版本,则会显示这一行字
</canvas>
<script>
// 使用原生js操作canvas
//获取canvas标签
var canvas = document.querySelector('#mycanvas')
//获取上下文对象
var ctx = canvas.getContext('2d')
//开启一条路径
ctx.beginPath()
//确定起始点
ctx.moveTo(100,100)
//到哪去,确定结束点
ctx.lineTo(400,100)
// 设置颜色❤
ctx.strokeStyle = 'green'❤
//设置线宽❤
ctx.lineWidth = 5;❤
//进行上色,再上色之前设置颜色和线宽❤
ctx.stroke()
//关闭路径
ctx.closePath()
</script>
</body>
</html>
画四条线,用函数封装一下
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<style>
canvas{
margin: 0 auto;
border: 2px solid blue;
display: block;
}
</style>
</head>
<body>
<canvas id="mycanvas" width="500px" height="500px">
如果是不兼容的ie低版本,则会显示这一行字
</canvas>
<script>
// 使用原生js操作canvas
//获取canvas标签
var canvas = document.querySelector('#mycanvas')
//获取上下文对象
var ctx = canvas.getContext('2d')
drawLine(100,100,400,100,'red',4)
drawLine(400,100,400,400,'blue',4)
drawLine(400,400,100,400,'yellow',4)
drawLine(100,400,100,100,'pink',4)
function drawLine(x1,y1,x2,y2,color,width){
ctx.beginPath()
ctx.moveTo(x1,y1)
ctx.lineTo(x2,y2)
ctx.strokeStyle = color
ctx.lineWidth = width
ctx.stroke()
ctx.closePath()
}
</script>
</body>
</html>
直线连用
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<style>
canvas{
margin: 0 auto;
border: 2px solid blue;
display: block;
}
</style>
</head>
<body>
<canvas id="mycanvas" width="500px" height="500px">
如果是不兼容的ie低版本,则会显示这一行字
</canvas>
<script>
// 使用原生js操作canvas
//获取canvas标签
var canvas = document.querySelector('#mycanvas')
//获取上下文对象
var ctx = canvas.getContext('2d')
//开启一条路径
ctx.beginPath()
//确定起始点
ctx.moveTo(100,100)
//到哪去,确定结束点
ctx.lineTo(400,100)❤
ctx.lineTo(400,400)❤
ctx.lineTo(100,100)❤
// 设置颜色
ctx.strokeStyle = 'green'
//设置线宽
ctx.lineWidth = 5;
//进行上色,再上色之前设置颜色和线宽
ctx.stroke()
//关闭路径
ctx.closePath()
</script>
</body>
</html>
画虚线
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<style>
canvas{
margin: 0 auto;
border: 2px solid blue;
display: block;
}
</style>
</head>
<body>
<canvas id="mycanvas" width="500px" height="500px">
如果是不兼容的ie低版本,则会显示这一行字
</canvas>
<script>
// 使用原生js操作canvas
//获取canvas标签
var canvas = document.querySelector('#mycanvas')
//获取上下文对象
var ctx = canvas.getContext('2d')
drawLine(100,100,105,100,'red',4)❤
drawLine(110,100,115,100,'blue',4)❤
drawLine(120,100,125,100,'yellow',4)❤
drawLine(130,100,135,100,'pink',4)❤
//或者
//for(let i =0;i<20;i++){
// drawLine(100+10*i,100,105+10*i,100,'red',4)
// }
function drawLine(x1,y1,x2,y2,color,width){
ctx.beginPath()
ctx.moveTo(x1,y1)
ctx.lineTo(x2,y2)
ctx.strokeStyle = color
ctx.lineWidth = width
ctx.stroke()
ctx.closePath()
}
</script>
</body>
</html>