- 浏览器支持
先看一段实例:
<script> var c=document.getElementById("myCanvas"); #getContext("2d") 对象是内建的 HTML5 对象,拥有多种绘制路径、矩形、圆形、字符以及添加图像的方法 var ctx=c.getContext("2d"); ctx.fillStyle="#FF0000"; ctx.fillRect(0,0,150,75); </script>
- 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);