矩形
1 | var c = document.getElementById('myCanvas'); |
线条
1 | ctx.moveTo(0, 0); //开始坐标 |
圆形
arc(x,y,r,start,stop)1
2
3
4ctx.beginPath();
ctx.arc(95, 50, 40, 0, 2*Math.PI); //绘制圆形
ctx.closePath();
ctx.stroke();
弧线
1 | ctx.beginPath(); |
扇形
1 | ctx.beginPath(); |
贝塞尔曲线
1 | ctx.bezierCurveTo(10, 10, 100, 30, 150, 100); |
文本
font - 定义字体
fillText(text,x,y) - 在 canvas 上绘制实心的文本
strokeText(text,x,y) - 在 canvas 上绘制空心的文本1
2
3ctx.font="30px Arial";
ctx.fillText("Hello World",10,50); //实心文本
ctx.strokeText("Hello World",10,50); //空心文本
渐变
createLinearGradient(x,y,x1,y1) - 创建线条渐变
createRadialGradient(x,y,r,x1,y1,r1) - 创建一个径向/圆渐变
线性渐变
1 | var gl = ctx.createLinearGradient(0, 0, 0, 150); |
同心圆渐变
1 | var gl = ctx.createRadialGradient(150, 75, 30, 150, 75, 75); |
发散渐变
1 | var gl = ctx.createRadialGradient(50, 75, 10, 150, 75, 30); |
阴影
1 | ctx.shadowOffsetX = 10; |
创建图像
drawImage(image,x,y)1
2
3
4var c=document.getElementById("myCanvas");
var ctx=c.getContext("2d");
var img=document.getElementById("scream");
ctx.drawImage(img,10,10);