HTML5学习——canvas的使用

2018年9月7日 334点热度 0人点赞 0条评论

1.基本用法

要使用<canvas>元素,必须先设置其width和height属性,指定可以绘图区域大小。

<canvas id="drawing" width="200" height="200">
如果浏览器不支持canvas,则会显示这里的信息
</canvas>

要在这块画布(canvas)上绘图,需要取得绘图上下文。而绘图上下文对象的引用,需要调用getContext()方法并传入上下文名字。传入“2d”,就可以取得2d上下文对象。

var drawing = document.getElementById("drawing");
var context = drawing.getContext("2d");

2.2d上下文
填充和描边
两个属性:
fillStyle:填充;就是用指定的样式填充图像。
strokeStyle:描边;就是只在图形边缘画线。
绘制矩形
矩形是唯一一种可以直接在2d上下文中绘制的形状。
fillRect():与上文的填充属性fillStyle连用,是“涂”。
strokeRect() : 与上文的描边属性strokeStyle连用,是“画”。
clearRect():清除画布上的矩形区域。
这三个方法都能接受4个参数:矩形的x坐标,矩形的y坐标,矩形的宽度,矩形的高度。

var drawing = document.getElementById("drawing");

//确定浏览器支持<canvas>元素if(drawing.getContext) {
  //取得2d上下文对象引用
  var context = drawing.getContext("2d");

  //填充个红矩形
  context.fillStyle = "red";
  context.fillRect(0,0,100,100);

  //描边个绿矩形
  context.strokeStyle= "green";
  context.strokeRect(30,30,100,100);

  //在两个矩形重叠的地方清除一个小矩形
  context.clearRect(20,20,50,50)
}

效果:

图片图片图片

绘制路径
①首先要调用下beginPath()方法,表示要开始绘制新路径了。
②然后有以下方法来实际的绘制路径:
   arc(x坐标,y坐标,弧形半径、起始角度(弧度),结束角度(弧度),布尔值(表示是否按逆时针方向计算) )
  moveTo(x,y);将绘图游标移动到(x,y)坐标上,不画线。这里的绘图游标可以理解为就是画笔,我移动下画笔,换个位置画画。
  lineTo(x,y);从上一点开始绘制一条直线,到(x,y)为止。
  等等。。(完整的方法可以去查)
下面用这几个方法画个时钟:

var drawing = document.getElementById("drawing");

//确定浏览器支持<canvas>元素if(drawing.getContext) {
  //取得2d上下文对象引用
  var context = drawing.getContext("2d");
  //开始路径
  context.beginPath();
  //绘制外圆
  context.arc(100,100,99,0,2*Math.PI,false);
  //绘制内圆
  context.moveTo(194,100);
  context.arc(100,100,94,0,2*Math.PI,false);
  //绘制分钟
  context.moveTo(100,100);
  context.lineTo(100,15);
  //绘制时钟
  context.moveTo(100,100);
  context.lineTo(35,100);
  //描边路径
  context.strokeStyle = "blue";
  context.stroke();
}

ps:上面画内圆时用的moveTo()方法,其实就是“提笔”,首先用“笔”画了个外圆,然后将笔提起来,放到内圆的一点上,然后再画。

图片

参考学习:
《高级程序设计》

68370HTML5学习——canvas的使用

这个人很懒,什么都没留下

文章评论