浏览器支持
先看一段实例:
var c=document.getElementById("myCanvas");
#getContext("2d") 对象是内建的 HTML5 对象,拥有多种绘制路径、矩形、圆形、字符以及添加图像的方法
var ctx=c.getContext("2d");
ctx.fillStyle="#FF0000";
ctx.fillRect(0,0,150,75);
Canvas 坐标
Canvas 路径
//绘制折线
ctx.moveTo(10,10);
ctx.lineTo(50,150);
ctx.lineTo(100,10);
ctx.lineWidth = 1;//线条的宽度
ctx.strokeStyle = "#FF0000";//线条的颜色
ctx.stroke();
//绘制圆形
ctx.beginPath();
ctx.arc(80,80,50,0,2*Math.PI );
ctx.lineWidth = 1;
ctx.strokeStyle = "#FF0000";
ctx.stroke();
//实心圆
ctx.beginPath();
ctx.arc(80,80,50,0,1*Math.PI );
ctx.fillStyle = "#FF0000";
ctx.fill();
Canvas 文本
ctx.font="30px Arial";
ctx.fillStyle = "#FF0000";
ctx.fillText("Hello World",10,50);
ctx.strokeStyle = "#FF0000";
ctx.strokeText("Hello World",10,50);
Canvas 渐变
渐变可以填充在矩形, 圆形, 线条, 文本等等, 各种形状可以自己定义不同的颜色。
以下有两种不同的方式来设置Canvas渐变:
createLinearGradient(x,y,x1,y1) – 创建线条渐变
createRadialGradient(x,y,r,x1,y1,r1) – 创建一个径向/圆渐变
当我们使用渐变对象,必须使用两种或两种以上的停止颜色。
addColorStop()方法指定颜色停止,参数使用坐标来描述,可以是0至1.
使用渐变,设置fillStyle或strokeStyle的值为 渐变,然后绘制形状,如矩形,文本,或一条线。
使用 createLinearGradient():
//矩形渐变
var grd=ctx.createLinearGradient(0,0,200,0);
grd.addColorStop(0,"red");
grd.addColorStop(1,"white");
ctx.fillStyle=grd; //渐变样式
ctx.fillRect(10,10,150,80)
//向中心的渐变
var grd=ctx.createRadialGradient(75,50,5,90,60,100);
grd.addColorStop(0,"red");
grd.addColorStop(1,"white");
ctx.fillStyle=grd;
ctx.fillRect(10,10,150,80);
Canvas 图像
var img=document.getElementById("scream");
ctx.drawImage(img,10,10);