HTML5火的正热,最近有个想法也是要用到HTML的相关功能,所以也要好好学习一把。
好好看了一下Canvas的功能,感觉HTML5在客户端交互的功能性越来越强了,今天看了一下Canvas绘图,下边是几个实例,记下以备后用。
1、使用Canvas绘制直线:
- html>
- html>
- 头>
- 元 字符集="UTF- 8">
- 头>
- 样式 类型="text/ css">
- 画布{border:dashed 2px #CCC}
- 风格>
- 脚本 类型="text/ javascript">
- 函数 $$(id){
- return document.getElementById(id);
- }
- 函数 pageLoad(){
- var 可以 = $$('can');
- var 可以罐子 = can.getContext('2d');
- cans.moveTo(20,30);//第一个起点
- cans.lineTo(120,90);//第二个点
- cans.lineTo(220,60);//第三个点(以第二个点为起点)
- cans.lineWidth=3;
- cans.行程样式 = '红色';
- 罐头.中风();
- }
- script>
- body onload="pageLoad();">
- canvas id="can" width="400px" height="300px">4canvas>
- body>
- html>
这里用到的两个API方法,moveTo和lineTo分别是线段的起点和终点坐标,变量为(X坐标,Y坐标),strokeStyle、stroke分别路径绘制样式和绘制路径。
2、绘制渐变线条
渐变线条就是颜色有渐变的效果,当然渐变的样式可以遵循路径的方向也可以不遵循路径的方向:
- html>
- html>
- 头>
- 元 字符集="UTF- 8">
- 头>
- 样式 类型="text/ css">
- 画布{border:dashed 2px #CCC}
- 风格>
- 脚本 类型="text/ javascript">
- 函数 $$(id){
- return document.getElementById(id);
- }
- 函数 pageLoad(){
- var 可以 = $$('can');
- var 可以罐子 = can.getContext('2d');
- cans.moveTo(0,0);
- cans.lineTo(400,300);
- var gnt1 = cans.createLinearGradient(0,0,400,300);//线性变化的起止坐标
- gnt1.addColorStop(0,'red');//创建变换的开始颜色,0表示偏移量,个人理解为直线上的相对位置,最大为1,一个变换中可以写任意个渐变颜色
- gnt1.addColorStop(1,'黄色');
- cans.lineWidth=3;
- cans.行程样式 = gnt1;
- 罐头.中风();
- }
- script>
- body onload="pageLoad();">
- canvas id="can" width="400px" height="300px">4canvas>
- body>
- html>
3、绘制矩形或正方形:
这种矩形框如果使用HTML4只能使用后台代码才能生成了,现在HTML5提供的Canvas功能却很容易就能绘制,所以说HTML5的优越性是相当高的。
- html>
- html>
- 头>
- 元 字符集="UTF- 8">
- 头>
- 样式 类型="text/ css">
- 画布{border:dashed 2px #CCC}
- 风格>
- 脚本 类型="text/ javascript">
- 函数 $$(id){
- return document.getElementById(id);
- }
- 函数 pageLoad(){
- var 可以 = $$('can');
- var 可以罐子 = can.getContext('2d');
- cans.fillStyle = '黄色';
- cans.fillRect(30,30,340,240);
- }
- 脚本>
- body onload="pageLoad( );">
- 画布 id="可以" 宽度="400px" 高度="300px">4画布>
- 身体>
- html>
这里使用了一个方法——fillRect()从字面意思也能知道这个就是填充一个矩形,这里的参数值得说明一下fillRect(X,Y,Width,Height),这个和数学里的坐标是不一样的,具体请看
这里的X,Y是相对Canvas左上角的起点开始的,谨记!!
4、绘制一个简单的矩形框
上例中讲到要绘制一个矩形块,填充了颜色,这个例子只是简单地绘制一个矩形而不实现填充效果。
- html>
- html>
- 头>
- 元 字符集="UTF- 8">
- 头>
- 样式 类型="text/ css">
- 画布{border:dashed 2px #CCC}
- 风格>
- 脚本 类型="text/ javascript">
- 函数 $$(id){
- return document.getElementById(id);
- }
- 函数 pageLoad(){
- var 可以 = $$('can');
- var 可以罐子 = can.getContext('2d');
- cans.行程样式 = '红色';
- cans.StrongRect(30,30,340,240);
- }
- 脚本>
- body onload="pageLoad( );">
- 画布 id="可以" 宽度="400px" 高度="300px">4画布>
- 身体>
- html>
这个很简单,和上例一样,就是将fill替换成了stroke,具体详见上例。
5、绘制一个线性渐变的矩形
渐变是填充的一种相当不错的效果,结合实例2和实例3,我们可以创建一个渐变的矩形
- html>
- html>
- 头>
- 元 字符集="UTF- 8">
- 头>
- 样式 类型="text/ css">
- 画布{border:dashed 2px #CCC}
- 风格>
- 脚本 类型="text/ javascript">
- 函数 $$(id){
- return document.getElementById(id);
- }
- 函数 pageLoad(){
- var 可以 = $$('can');
- var 可以罐子 = can.getContext('2d');
- var gnt1 = 罐头.createLinearGradient(10,0,390,0);
- gnt1.addColorStop(0,'红色');
- gnt1.addColorStop(0.5,'绿色');
- gnt1.addColorStop(1,'蓝色');
- cans.fillStyle = gnt1;
- cans.fillRect(10,10,380,280);
- }
- script>
- body onload="pageLoad();">
- canvas id="can" width="400px" height="300px">4canvas>
- body>
- html>
不解释了,记住fillRect(X,Y,Width,Height)就行了。
6、填充一个圆形
圆形的用途很广,当然也包含了椭圆。
- html>
- html>
- 头>
- 元 字符集="UTF- 8">
- 头>
- 样式 类型="text/ css">
- 画布{border:dashed 2px #CCC}
- 风格>
- 脚本 类型="text/ javascript">
- 函数 $$(id){
- return document.getElementById(id);
- }
- 函数 pageLoad(){
- var 可以 = $$('can');
- var 可以罐子 = can.getContext('2d');
- cans.beginPath();
- cans.arc(200,150,100,0,Math.PI*2,true);
- cans.closePath();
- cans.fillStyle = 'green';//本申请初次使用的是红色,截图一看,傻眼了,怕上街被爱国者打啊,其实你懂的~~
- cans.fill();
- }
- script>
- body onload="pageLoad();">
- canvas id="can" width="400px" height="300px">4canvas>
- body>
- html>
这里的arc方法的用法是 arc(X,Y,Radius,startAngle,endAngle,anticlockwise),意思是(圆心X坐标,圆心Y坐标,半径,开始角度(弧度),结束角度弧度,是否按照顺时针画);
arc中各参数比较:
a、cans.arc(200,150,100,0,Math.PI,true);
c、cans.arc(200,150,100,0,Math.PI/2,true);
c、cans.arc(200,150,100,0,Math.PI/2,true);
d、cans.arc(200,150,100,0,Math.PI/2,false);
7、圆形区块
- html>
- html>
- 头>
- 元 字符集="UTF- 8">
- 头>
- 样式 类型="text/ css">
- 画布{border:dashed 2px #CCC}
- 风格>
- 脚本 类型="text/ javascript">
- 函数 $$(id){
- return document.getElementById(id);
- }
- 函数 pageLoad(){
- var 可以 = $$('can');
- var 可以罐子 = can.getContext('2d');
- cans.beginPath();
- cans.arc(200,150,100,0,Math.PI*2,false);
- cans.closePath();
- cans.lineWidth = 5;
- cans.行程样式 = '红色';
- 罐头.中风();
- }
- script>
- body onload="pageLoad();">
- canvas id="can" width="400px" height="300px">4canvas>
- body>
- html>
这里不解释了,和上边的例子相同,lineWidth是控制线条的宽度的。
8、圆形渐变
- html>
- html>
- 头>
- 元 字符集="UTF- 8">
- 头>
- 样式 类型="text/ css">
- 画布{border:dashed 2px #CCC}
- 风格>
- 脚本 类型="text/ javascript">
- 函数 $$(id){
- return document.getElementById(id);
- }
- 函数 pageLoad(){
- var 可以 = $$('can');
- var 可以罐子 = can.getContext('2d');
- var gnt = 罐头.createRadialGradient(200,300,50,200,200,200);
- gnt.addColorStop(1,'red');
- gnt.addColorStop(0,'绿色');
- cans.fillStyle = gnt;
- cans.fillRect(0,0,800,600);
- }
- script>
- body onload="pageLoad();">
- canvas id="can" width="800px" height="600px">4canvas>
- body>
- html>
这里需要说明的是createRadialGradient方法,参数有(Xstart,Ystart,radiusStart,XEnd,YEnd,radiusEnd),也就是说,它在实行渐变时,使用了两个圆,一个是原始的圆,一个是渐变式圆,其实,这种通过坐标与半径控制的方式可以实现很多样式,比如
立体圆
- var gnt = cans.createRadialGradient(200,150,0,200,50,250);
- gnt.addColorStop(0,'red');
- gnt.addColorStop(1,'#333');

HTML5是构建现代网页的关键技术,提供了许多新元素和功能。1.HTML5引入了语义化元素如、、等,增强了网页结构和SEO。2.支持多媒体元素和,无需插件即可嵌入媒体。3.表单增强了新输入类型和验证属性,简化了验证过程。4.提供了离线和本地存储功能,提升了网页性能和用户体验。

H5代码的最佳实践包括:1.使用正确的DOCTYPE声明和字符编码;2.采用语义化标签;3.减少HTTP请求;4.使用异步加载;5.优化图像。这些实践能提升网页的效率、可维护性和用户体验。

Web标准和技术从HTML4、CSS2和简单的JavaScript演变至今,经历了显着的发展。 1)HTML5引入了Canvas、WebStorage等API,增强了Web应用的复杂性和互动性。 2)CSS3增加了动画和过渡功能,使页面效果更加丰富。 3)JavaScript通过Node.js和ES6的现代化语法,如箭头函数和类,提升了开发效率和代码可读性,这些变化推动了Web应用的性能优化和最佳实践的发展。

H5不仅仅是HTML5的简称,它代表了一个更广泛的现代网页开发技术生态:1.H5包括HTML5、CSS3、JavaScript及相关API和技术;2.它提供更丰富、互动、流畅的用户体验,能在多设备上无缝运行;3.使用H5技术栈可以创建响应式网页和复杂交互功能。

H5与HTML5指的是同一个东西,即HTML5。HTML5是HTML的第五个版本,带来了语义化标签、多媒体支持、画布与图形、离线存储与本地存储等新功能,提升了网页的表现力和交互性。

H5referstoHTML5,apivotaltechnologyinwebdevelopment.1)HTML5introducesnewelementsandAPIsforrich,dynamicwebapplications.2)Itsupportsmultimediawithoutplugins,enhancinguserexperienceacrossdevices.3)SemanticelementsimprovecontentstructureandSEO.4)H5'srespo

H5开发需要掌握的工具和框架包括Vue.js、React和Webpack。1.Vue.js适用于构建用户界面,支持组件化开发。2.React通过虚拟DOM优化页面渲染,适合复杂应用。3.Webpack用于模块打包,优化资源加载。

HTML5hassignificantlytransformedwebdevelopmentbyintroducingsemanticelements,enhancingmultimediasupport,andimprovingperformance.1)ItmadewebsitesmoreaccessibleandSEO-friendlywithsemanticelementslike,,and.2)HTML5introducednativeandtags,eliminatingthenee


热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

Atom编辑器mac版下载
最流行的的开源编辑器

适用于 Eclipse 的 SAP NetWeaver 服务器适配器
将Eclipse与SAP NetWeaver应用服务器集成。

SecLists
SecLists是最终安全测试人员的伙伴。它是一个包含各种类型列表的集合,这些列表在安全评估过程中经常使用,都在一个地方。SecLists通过方便地提供安全测试人员可能需要的所有列表,帮助提高安全测试的效率和生产力。列表类型包括用户名、密码、URL、模糊测试有效载荷、敏感数据模式、Web shell等等。测试人员只需将此存储库拉到新的测试机上,他就可以访问到所需的每种类型的列表。

VSCode Windows 64位 下载
微软推出的免费、功能强大的一款IDE编辑器