Canvas的简单使用:

Canvas

HTML5 <canvas> 元素用于图形的绘制,通过脚本 (通常是JavaScript)来完成.

<canvas> 标签只是图形容器,您必须使用脚本来绘制图形。

你可以通过多种方法使用 canvas 绘制路径,盒、圆、字符、雪花特效、爱心特效以及添加图像等。

标签通常需要指定一个id属性 (脚本中经常引用), width 和 height 属性定义的画布的大小.

提示:你可以在HTML页面中使用多个 <canvas> 元素.

第一步:创建一个画布(Canvas

一个画布在网页中是一个矩形框,通过 <canvas> 元素来绘制.

注意: 默认情况下<canvas> 元素没有边框和内容。

<canvas>简单实例如下:

<canvas id="myCanvas"width="200" height="100"></canvas>

var myCancas = document.getElementById("myCanvas");

第二步:创建Context对象

var ctx=c.getContext("2d");//这里的2d指的是你做的项目用什么样式去展现

第三步:开始画

①   画矩形

ctx.fillStyle="#FF0000";

ctx.fillRect(0,0,150,75);

这个以0,0为左顶点画一个宽150,高75的矩形。

②   画线

var ctx=c.getContext("2d");

ctx.moveTo(0,0);//起始位置

ctx.lineTo(200,100);//终止位置

ctx.stroke();//开始画

③   画圆形

var ctx=c.getContext("2d");

ctx.beginPath();

ctx.arc(50,50,40,0,2*Math.PI);//圆心位置50,50(x,y) 直径大小40 是否截取一部分0表示不截取,大概分为7份 1表示截取掉1/7  以此类推……

ctx.stroke();

④   写内容

var ctx=c.getContext("2d");

ctx.font="30px Arial";//30是行高Arial是字体

ctx.fillText("HelloWorld",0,30);//如下图:0是距左边的距离(左边距) 30-行高之后距上边的距离

⑤   Canvas渐变:

渐变可以填充在矩形, 圆形, 线条, 文本等等, 各种形状可以自己定义不同的颜色。

以下有两种不同的方式来设置Canvas渐变:

createLinearGradient(x,y,x1,y1) - 创建线条渐变

x yx1 y1四个的含义:

x、y是从那个地方开始去渐变,x1、y1是渐变的终点

如:(0,0,200,100)

忘斜下方渐变

(0,0,200,100)

忘右方渐变

createRadialGradient(x,y,r,x1,y1,r1) - 创建一个径向/圆渐变

当我们使用渐变对象,必须使用两种或两种以上的停止颜色。

addColorStop()方法指定颜色停止,参数使用坐标来描述,可以是0至1.

使用渐变,设置fillStyle或strokeStyle的值为渐变,然后绘制形状,如矩形,文本,或一条线。

使用 createLinearGradient():

创建一个线性渐变:

varc=document.getElementById("myCanvas");

var ctx=c.getContext("2d");

// 创建渐变

vargrd=ctx.createLinearGradient(0,0,200,0);

grd.addColorStop(0,"red");//从红色渐变成白色

grd.addColorStop(1,"white");

// 填充渐变

ctx.fillStyle=grd;

ctx.fillRect(5,10,150,80);

5为左边距  10为上边距 150为整体的宽度,80为整体的高度

效果如下:

创建圆形渐变:

varc=document.getElementById("myCanvas");

varctx=c.getContext("2d");

 

// 创建渐变

vargrd=ctx.createRadialGradient(75,50,5,90,60,100);

75,50为红色区域为开始拓展的位置 90 60为圆的

grd.addColorStop(0,"red");

grd.addColorStop(1,"white");

 

// 填充渐变

ctx.fillStyle=grd;

ctx. fillRect(10,10,150,80);


  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值