canvas

2017-01-13  本文已影响0人  卓小生

canvas

HTML

<canvas id='canvas' width="500" height="300"></canvas>

//指定宽高使用属性width和height来指定,不要用css,
css指定的是标签显示的大小而不是画布的大小

javascript

var canvas = document.getElementById('canvas');
//绘图的上下文环境
var context = canvas.getContext('2d');

//使用context来进行绘制

画一条直线


//状态设置
context.moveTo(100,100); //想象一支画笔放在(100,100)这个点上
context.lineTo(700, 700); //然后移动到(700, 700)



//绘制
context.stroke() 

canvas中的绘图是一种基于状态的绘图
一些其他的状态:

context.lineWidth = 5;
context.strokeStyle = "#005588"; 

画一个三角型

context.moveTo(100, 100);
context.lineTo(700, 700);
context.lineTo(100,700);
context.lineTo(100,100);

context.stroke();

绘制状态

绘制方法

绘制两个图形

context.moveTo(100, 100);
context.lineTo(700, 700);
context.lineTo(100,700);
context.lineTo(100,100);


context.lineWidth = 5;
context.strokeStyle = "red"; 
context.stroke();

context.moveTo(200, 100);
context.lineTo(800, 700);


context.strokeStyle = "blue";
context.stroke();

上面的代码绘制了一个三角形会一条直线,但是他们的线条颜色都是blue
原因:canvas是基于状态的,第一个context.stroke()绘制后, 第二个到context.stroke()的绘制状态包含从代码定义开始的所有状态,覆盖了第一个context.stroke()绘制的图形

画圆

context.arc(x, y, radius, startAngle, endAngle, anticlockwise)

x
圆弧中心(圆心)的 x 轴坐标。
y
圆弧中心(圆心)的 y 轴坐标。
radius
圆弧的半径。
startAngle
圆弧的起始点, x轴方向开始计算,单位以弧度表示。
endAngle
圆弧的终点, 单位以弧度表示。

anticlockwise 方向 默认为顺时针

清除画布

ctx.clearRect(x, y, width, height);

x
矩形起点的 x 轴坐标。
y
矩形起点的 y 轴坐标。
width
矩形的宽度。
height
矩形的高度。

倒计时

setInterval(function(){
    render() //绘制画面
    update() //调整数据结构
})
上一篇下一篇

猜你喜欢

热点阅读