canvas认识

时间:2024-04-22 21:37:29

1使用canvas绘制一个矩形

<canvas id="canvas" width="640" height="360"></canvas>

  

<script>
// 获取context对象
var canvas = document.getElementById('canvas');
if(canvas.getContext) {
var context = canvas.getContext('2d');
// 设置颜色
context.fillStyle = 'rgb(255,0,0)';
// 从坐标(20,30)开始,画一个64x36大小的矩形
context.fillRect(20,30,64,36);
}
</script>

  

2划线

<script>
// 获取htmlcanvas标签
var c=document.getElementById('myCanvas');
// 返回一个用来绘制环境类型的环境
var ctx = c.getContext('2d');
//线宽
ctx.lineWidth = 10;
//设置画笔颜色为红色
ctx.strokeStyle = 'red';
//创建一个新的路径
ctx.beginPath();
//画笔光标位置移动到10,10
ctx.moveTo(10,10);
//从开始坐标移动到150,10处
ctx.lineTo(150,50);
//开始绘制好定义的路线
ctx.stroke();
</script>

  

<canvas id="myCanvas" width="200" height="100">
你的浏览器不支持HTML5
</canvas>

  

3、画矩形

<script>
// 获取htmlcanvas标签
var c=document.getElementById('myCanvas');
// 返回一个用来绘制环境类型的环境
var ctx = c.getContext('2d');
//线宽
ctx.lineWidth = 10;
//设置画笔颜色为红色
ctx.strokeStyle = 'red';
//创建一个新的路径
ctx.beginPath();
//绘制矩形的起点坐标、终点坐标、长、宽
ctx.strokeRect(10,10,70,40);
ctx.stroke();
</script>

  

4实心矩形

<script>
// 获取htmlcanvas标签
var c=document.getElementById('myCanvas');
// 返回一个用来绘制环境类型的环境
var ctx = c.getContext('2d');
//线宽
ctx.lineWidth = 10;
//设置画笔颜色为红色
ctx.strokeStyle = 'red';
//创建一个新的路径
ctx.beginPath();
//绘制矩形的起点坐标、终点坐标、长、宽
ctx.fillRect(10,10,70,40);
ctx.stroke();
</script>

  

5画圆

<script>
// 获取htmlcanvas标签
var c=document.getElementById('myCanvas');
// 返回一个用来绘制环境类型的环境
var ctx = c.getContext('2d');
//线宽
ctx.lineWidth = 10;
//设置画笔颜色为红色
ctx.strokeStyle = 'red';
//创建一个新的路径
ctx.beginPath();
//绘制矩形的起点坐标、终点坐标、长、宽
ctx.arc(20,20,10,0,360*Math.PI/180,true);
ctx.stroke();
</script>

  

6矩形的半圆

<script>
// 获取htmlcanvas标签
var c=document.getElementById('myCanvas');
// 返回一个用来绘制环境类型的环境
var ctx = c.getContext('2d');
//线宽
ctx.lineWidth = 1;
//设置画笔颜色为红色
ctx.strokeStyle = 'red';
//创建一个新的路径
ctx.beginPath();
//绘制矩形的起点坐标、终点坐标、长、宽
ctx.moveTo(20,20);
ctx.lineTo(70,20);
ctx.arcTo(120,20,120,70,50);
ctx.lineTo(120,120);
ctx.stroke();
</script>

  

7圆形矩形

<script>
// 获取htmlcanvas标签
var c=document.getElementById('myCanvas');
// 返回一个用来绘制环境类型的环境
var ctx = c.getContext('2d');
//线宽
ctx.lineWidth = 1;
//设置画笔颜色为红色
ctx.strokeStyle = 'red';
//创建一个新的路径
ctx.beginPath();
//绘制矩形的起点坐标、终点坐标、长、宽
ctx.moveTo(40,20);
ctx.lineTo(100,20);
ctx.arcTo(120,20,120,40,20);
ctx.lineTo(120,70);
ctx.arcTo(120,90,100,90,20);
ctx.lineTo(40,90);
ctx.arcTo(20,90,20,70,20);
ctx.lineTo(20,40);
ctx.arcTo(20,20,40,20,20);
ctx.stroke(); </script>

  

8、擦除canvas画板

<script>
// 获取htmlcanvas标签
var c=document.getElementById('myCanvas');
// 返回一个用来绘制环境类型的环境
var ctx = c.getContext('2d');
//线宽
ctx.lineWidth = 1;
//设置画笔颜色为红色
ctx.strokeStyle = 'red';
//创建一个新的路径
ctx.beginPath();
//绘制矩形的起点坐标、终点坐标、长、宽
ctx.fillRect(20,20,40,80);
ctx.clearRect(30,30,20,30);
ctx.stroke();
</script>

  

9.绘制复杂图形

<script>
// 获取htmlcanvas标签
var c=document.getElementById('myCanvas');
// 返回一个用来绘制环境类型的环境
var ctx = c.getContext('2d');
//线宽
ctx.lineWidth = 1;
//设置画笔颜色为红色
ctx.strokeStyle = 'red';
//创建一个新的路径
ctx.beginPath();
//绘制矩形的起点坐标、终点坐标、长、宽
ctx.moveTo(60,50);
ctx.quadraticCurveTo(40,20,120,20);
ctx.stroke();
</script>

  

10.clip()

<script>
// 获取htmlcanvas标签
var c=document.getElementById('myCanvas');
// 返回一个用来绘制环境类型的环境
var ctx = c.getContext('2d');
//线宽
ctx.lineWidth = 1;
//设置画笔颜色为红色
ctx.strokeStyle = 'red';
//创建一个新的路径
ctx.beginPath(); //绘制矩形的起点坐标、终点坐标、长、宽
ctx.arc(60,50,20,0,2*Math.PI,true);
ctx.clip();
ctx.beginPath();
ctx.fillStyle = 'lightblue';
ctx.fillRect(60,50,10,10);
ctx.stroke();
</script>

  

11文字

<script>
// 获取htmlcanvas标签
var c=document.getElementById('myCanvas');
// 返回一个用来绘制环境类型的环境
var ctx = c.getContext('2d');
//线宽
ctx.lineWidth = 1;
//设置画笔颜色为红色
ctx.strokeStyle = 'red';
//创建一个新的路径
ctx.beginPath();
//绘制矩形的起点坐标、终点坐标、长、宽
ctx.moveTo(40,20);
// ctx.fillText('林耀辉',130,130);
ctx.textBaseline = 'ideographic';
ctx.font = 'bold italic 30px Arial';
ctx.moveTo(0,110);
ctx.lineTo(250,110);
ctx.strokeText('林耀辉',130,130);
ctx.stroke(); </script>

  

12、图片

13、放大缩小

<script>
window.onload = function () { // 获取htmlcanvas标签
var c=document.getElementById('myCanvas');
// 返回一个用来绘制环境类型的环境
var ctx = c.getContext('2d');
//
ctx.beginPath();
ctx.strokeStyle = '#000000';
ctx.strokeRect(20,20,100,100); // 放大三倍
// ctx.scale(3,3);
// ctx.beginPath();
// ctx.strokeStyle = '#cccccc';
// ctx.strokeRect(20,20,100,100); // 缩小0.5倍
// ctx.scale(0.5,0.5);
// ctx.beginPath();
// ctx.strokeStyle = '#000000';
// ctx.strokeRect(20,20,100,100); ctx.scale(-1,-1);
ctx.beginPath();
ctx.strokeStyle = '#000000';
ctx.strokeRect(20,20,100,100);
}; </script>