Html 5中canvas的应用

  • 浏览器支持

DEAEB9EF-55A1-45D8-862B-4359D91764E9

先看一段实例:

<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);

发表评论

电子邮件地址不会被公开。 必填项已用*标注

您可以使用这些HTML标签和属性: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>