1. 在canvas标签中给出长宽(不带单位):<canvas></canvas>
或者在js中设置长宽:canvas.width = 600; canvas.height = 600;
注意:canvas是行内块元素,用CSS设置的width和height像素值是canvas在页面衬着出来的宽高,而用js设置或者在标签中直接给出的则是canvas的辨别率,二者有素质的区别。
canvas元素的使用与普通的html元素并不不异,它有一个默认尺寸300*150,在css中设置宽高只能转变canvas的显示宽高,而并没有转变画布绘制时的尺寸,所以要为canvas设置绘制的尺寸,,必需写在元素标签上或用JS设置。
2. 浏览器兼容时,不会显示canvas标签内的内容;不兼容时才会显示。
<canvas>您的浏览器不撑持canvas标签</canvas>
3. var canvas = document.getElementById("canvas"); // 获取canvas标签
var context = canvas.getContext("2d"); // 获取2d上下文环境
context.beginPath();//可以开始绘制
context.moveTo(100,100); //画笔移动到(100,100);
context.lineTo(150,200); //创建一条从(100,100)到(150,200)的路径
context.fillStyle = "#ccc"; //填充颜色为#ccc
context.strokeStyle = "#fff"; //进行描边
context.lineWidth = 5;
context.fill();//进行填充
context.stroke();//进行描边
context.closePath();//*当前路径 (基于状态)
关于closePath():当当前路径不是关闭路径时,使用closePath会自动将当前路径的首尾连接起来
context.fillRect(x,y,w,h);
context.clearRect(50, 30, 110, 35); //断根画布上的内容
(50,30)为矩形起点,110.35为矩形长宽
想绘制多条不关闭路径图形,在每次绘制新路径时使用beginPath即可
4. 绘制弧线
context.arc(x,y,r,startingAngle,endingAngle,anticlockwise = false);
参数分袂为:圆心坐标,半径,起始角度,结束角度,时钟标的目的(false为顺时针、true为逆时针)
三点钟标的目的为0pi,六点钟标的目的为0.5pi,九点钟为1.0pi,12点钟为1.5pi
例如:context.arc(300,300,100,0,Math.PI*1.5,false);
5. 绘制矩形
context.fillRect(x,y,w,h);
context.strokeRect(50, 30, 110, 35)
context.clearRect(50, 30, 110, 35); //断根画布上的内容
6. 绘制虚线
context.setLineDash([a,b]);//a为虚线线段长度,b为虚线线段间隔长度
7. 取得canvas元素相对付浏览器窗口的位置
element.getBoundingClientRect()要领返回元素的巨细及其相对付视口的位置
8. 绘制图片
cvs.drawImage(image.x,y,width,height);
context.drawImage(img,sx,sy,swidth,sheight,x,y,width,height);
image可以是元素或是image东西,但不能是路径
通报给 drawImage() 要领的图像必需是 Image 东西或 Canvas 元素