![HTML5 Canvas详细解读知识分享_第1页](http://file3.renrendoc.com/fileroot_temp3/2022-1/1/2b4195f6-31b5-429e-a5f1-694c2c7268db/2b4195f6-31b5-429e-a5f1-694c2c7268db1.gif)
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、html5 canvas详细解读知识分享元素是html5中的新元素,通过用法该元素,你可以在网页中绘制所需的图形。标签定义图形,比表和其他图像,您必需用法脚原来绘制图形。在画布上(canvas)画一个红色矩形,渐变矩形,彩色矩形,和一些彩色的文字。?html5 元素用于图形的绘制,通过脚本 (通常是javascript)来完成。标签只是图形容器,您必需用法脚原来绘制图形。你可以通过多种办法用法canva绘制路径,盒、圆、字符以及添加图像。internet explorer 9+, firefox, opera, chrome, 和 safari 支持 元素。注重:?internet explo
2、rer 8 及更早 ie 版本的扫瞄器不支持 元素。一个画布在网页中是一个矩形框,通过 元素来绘制。注重:?默认状况下 元素没有边框和内容。容易实例如下:注重: 标签通常需要指定一个id属性 (脚本中常常引用), width 和 height 属性定义的画布的大小。提醒:?你可以在html页面中用法多个 元素。用法 style 属性来添加边框:?尝试一下 ?canvas 元素本身是没有绘图能力的。全部的绘制工作必需在 javascript 内部完成:?var c=document.getelementbyid("mycanvas");?var ctx=c.g
3、etcontext("2d");?ctx.fillstyle="ff0000"?ctx.fillrect(0,0,150,75);?尝试一下 ?实例解析:首先,找到 元素:var c=document.getelementbyid("mycanvas");然后,创建 context 对象:var ctx=c.getcontext("2d");getcontext("2d") 对象是内建的 html5 对象,拥有多种绘
4、制路径、矩形、圆形、字符以及添加图像的办法。下面的两行代码绘制一个红色的矩形:ctx.fillstyle="ff0000"ctx.fillrect(0,0,150,75);设置fillstyle属性可以是css色彩,渐变,或图案。fillstyle默认设置是000000(黑色)。fillrect(x,y,width,height/em>) 办法定义了矩形当前的填充方式。canvas 是一个二维网格。canvas 的左上角坐标为 (0,0)上面的 fillrect 办法拥有参数 (0,0,150,75)。意思是:在画布上绘制 150x75 的矩形,从左上
5、角开头 (0,0)。坐标实例如下图所示,画布的 x 和 y 坐标用于在画布上对绘画举行定位。在canvas上画线,我们将用法以下两种办法:moveto(x,y) 定义线条开头坐标lineto(x,y) 定义线条结束坐标绘制线条我们必需用法到 "ink" 的办法,就像stroke()。定义开头坐标(0,0), 和结束坐标 (200,100)。 然后用法 stroke() 办法来绘制线条:javascript:var c=document.getelementbyid("mycanvas");?var ctx=c.getcon
6、text("2d");?ctx.moveto(0,0);?ctx.lineto(200,100);?ctx.stroke();尝试一下 ?在canvas中绘制圆形, 我们将用法以下办法:arc(x,y,r,start,stop)事实上我们在绘制圆形时用法了 "ink" 的办法, 比如 stroke() 或者 fill()。用法 arc() 办法 绘制一个圆:javascript:var c=document.getelementbyid("mycanvas");?var ctx=c.ge
7、tcontext("2d");?ctx.beginpath();?ctx.arc(95,50,40,0,2*math.pi);?ctx.stroke();尝试一下 ?用法 canvas 绘制文本,重要的属性和办法如下:font - 定义字体filltext(text,x,y) - 在 canvas 上绘制实心的文本stroketext(text,x,y) - 在 canvas 上绘制空心的文本用法 filltext():用法 "arial" 字体在画布上绘制一个高 30px 的文字(实心):javascript:var c
8、=document.getelementbyid("mycanvas");?var ctx=c.getcontext("2d");?ctx.font="30px arial"?ctx.filltext("hello world",10,50);尝试一下 ?用法 stroketext():用法 "arial" 字体在画布上绘制一个高 30px 的文字(空心):javascript:var c=document.gete
9、lementbyid("mycanvas");?var ctx=c.getcontext("2d");?ctx.font="30px arial"?ctx.stroketext("hello world",10,50);尝试一下 ?渐变可以填充在矩形, 圆形, 线条, 文本等等, 各种外形可以自己定义不同的色彩。以下有两种不同的方式来设置canvas渐变:createlineargradient(x,y,x1,y1) - 创建线条渐变createrad
10、ialgradient(x,y,r,x1,y1,r1) - 创建一个径向/圆渐变当我们用法渐变对象,必需用法两种或两种以上的停止色彩。addcolorstop()办法指定色彩停止,参数用法坐标来描述,可以是0至1.用法渐变,设置fillstyle或strokestyle的值为渐变,然后绘制外形,如矩形,文本,或一条线。用法 createlineargradient():创建一个线性渐变。用法渐变填充矩形:javascript:var c=document.getelementbyid("mycanvas");?var ctx=c.getcontext(&am
11、p;quot;2d");?/ create gradient?var grd=ctx.createlineargradient(0,0,200,0);?grd.addcolorstop(0,"red");?grd.addcolorstop(1,"white");?/ fill with gradient?ctx.fillstyle=grd;?ctx.fillrect(10,10,150,80);尝试一下 ?用法 createradialgradient():创建一个径向/圆渐变。用法渐变填充矩形:java
12、script:var c=document.getelementbyid("mycanvas");?var ctx=c.getcontext("2d");?/ create gradient?var grd=ctx.createradialgradient(75,50,5,90,60,100);?grd.addcolorstop(0,"red");?grd.addcolorstop(1,"white");?/ fill with gradient?ct
13、x.fillstyle=grd;?ctx.fillrect(10,10,150,80);尝试一下 ?提醒:当用法元素创建径向渐变的时候 context.createradialgradient(x , y , r , x1 , y1 , r1)?括号内的参数有如下的含义:x:表示渐变的开头圆的 x 坐标?y:表示渐变的开头圆的 y 坐标?r:表示开头圆的半径?x1:表示渐变的结束圆的 x 坐标?y1:表示渐变的结束圆的 y 坐标?r1:表示结束圆的半径把一幅图像放置到画布上, 用法以下办法:drawimage(image,x,y)把一幅图像放置到画布上:javascript:var c=document.getelementbyid("mycanvas");?var ctx=c.ge
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 电子信息系统的基础知识培训汇报
- 石墨材料在汽车工业的潜在市场与推广策略
- 农机具买卖合同范本
- 电影行业中的跨平台营销策略
- 商品车运输合同范本
- 社交化电子商务平台发展与创新路径
- 电力行业安全文化的建设与实践
- 电影项目投资回报率的计算与评估
- 生产安全教育提升员工自我保护意识
- 古董字画修复装裱合同书
- 《西安交通大学》课件
- 重庆市2024-205学年秋高二(上)期末考试历史试卷(含答案)康德卷
- 设备维修绩效考核方案
- 小学二年级数学计算题共4165题
- 一氧化碳中毒培训
- 初二上册好的数学试卷
- 广东省潮州市2024-2025学年九年级上学期期末道德与法治试卷(含答案)
- 2025年职业卫生工作计划
- 突发公共卫生事件卫生应急
- 做账实操-农贸市场的账务处理示例
- 余华《活着》解读课件
评论
0/150
提交评论