首页 > 作文

使用HTML5 Canvas绘制圆角矩形及相关的一些应用举例

更新时间:2023-04-03 05:26:43 阅读: 评论:0

圆角矩形是由四段线条和四个1/4圆弧组成,拆解如下。

因为我们要写的是函数而不是一个固定的圆角矩形,所以这里列出的是函数需要的参数。分析好之后,直接敲出代码。

javascript code
复制内容到剪贴板

<!doctypehtml> <htmllang=“zh”> <head> <metachart=“utf-8”> <title>圆角矩形</title> <style> body{background:url(“./images/bg3.jpg”)repeat;} #canvas{border:1pxsolid#aaaaaa;display:block;margin:50pxauto;} </style> </head> <body> <divid=“canvas-warp”> <canvasid=“canvas”> 你的浏览器居然不支持canvas?!赶快换一个吧!! </canvas> </div> <script> window.onload=function(){ varcanvas=document.getelementbyid(“canvas”); canvas.width=800; canvas.height=600; varcontext=canvas.getcontext(“2d”); context.fillstyle=“#fff”; context.fillrect(0,0,800,600); drawroundrect(context,200,100,400,400,50); context.strokestyl辞职报告标准格式e=“#0078aa”; context.stroke(); } functiondrawroundrect(cxt,x,y,width,height,radius){ cxt.beginpath(); cxt.arc(x+radius,y+radius,radius,math.pi,math.pi*3/2); cxt.lineto(width–radius+x,y); cxt.arc(width–radius+x,radius+y,radius,math.pi*3/2,math.pi*2); cxt.lineto(width+x,height+y–radius); cxt.arc(width–radius+x,height–radius+y,radius,0,math.pi*1/2); cxt.lineto(radius+x,height+y); cxt.arc(radius+x,height–radius+y,radius,math.pi*1/2,math.pi); cxt.clopath(); } </script> </body> </html>

运行结果:

建议大家自己动手绘制一个圆角矩形,这样有助于对路径的掌握。

下面我们用这个函数来做点其他的事情。

绘制2048游戏界面
对代码不做过多讲解,大家自己研究研究,建议自己动手先尝试写一下。因为我这里采用的是硬编码,所以不是很好,大家也可尝试优化一下。

javascript code
复制内容到剪贴板

<!doctypehtml> <htmllang=“zh”>天天酷跑抽奖攻略; <head> <metachart=“utf-8”> <title>2048游戏界面</title> <style> body{background:url(“./images/bg3.jpg”)repeat;} #canvas{border:1pxsolid#aaaaaa;display:block;margin:50pxauto;} </style> </head> <body> <divid=“canvas-warp”> <canvasid=“canvas”> 你的浏览器居然不支持canvas?!赶快换一个吧!! </canvas> </div> <script> window.onload=function(){ varcanvas=document.getelementbyid(“canvas”); 开业送花canvas.width=800; canvas.height=600; varcontext=canvas.getcontext(“2d”); context.fillstyle=“#fff”; context.fillrect(0,0,800,600); drawroundrect(context,200,100,400,400,5); context.fillstyle=“#aa7b41”; context.strokestyle=“#0078aa”; context.stroke(); context.fill(); for(vari=1;i<=4;i++){ for(varj=1;j<=4;j++){ drawroundrect(context,200+16*i+80*(i–1),100+16*j+80*(j–1),80,80,5); context.fillstyle=“#ccbfb4”; context.strokestyle=“#0078aa”; context.stroke(); context.fill(); } } } functiondrawroundrect(cxt,x,y,width,height,radius){ cxt.beginpath(); cxt.arc(x+radius,y+radius,radius,math.pi,math.pi*3/2); cxt.lineto(width–radius+x,y); cxt.arc(width&家长寄语大全#8211;radius+x,radius+y,radius,math.pi*3/2,math.pi*2); cxt.lineto(width+x,height+y–radius); cxt.arc(width–radius+x,height–radius+y,radius,0,math.pi*1/2); cxt.lineto(radius+x,height+y); cxt.arc(radius+x,height–radius+y,radius,math.pi*1/2,math.pi); cxt.clopath(); } </script> </body> </html>

运行结果:

这个圆角矩形的函数写好之后,可以自己封装进js文件里,以后遇到什么好的函数都可以放进去,这样积累下来,这个文件就是一套属于自己的图形库和游戏引擎了,是不是非常的酷?

其实游戏制作是canvas的主要用途,但是要知道每一个游戏设计师都是一个艺术家。

绘制微信对话框
大家可以尝试着使用canvas绘制一下微信聊天界面,作为练习与巩固。

这里使用到了绘制矩形,绘制圆角矩形,绘制多线条图形,填充颜色的一些知识。还有一些 canvas文本api 我们并没有说到,所以大家只要能绘制出一个大概的界面就算合格了。能够绘制出来,也就基本掌握了canvas api。

其实上述对话是生成出来的——“”,可谓是微商神器。是不是非常的酷?

这只是测的成语暑假花两天时间写的最初版本,还尚未达到发布的地步,在我写本节的时候,这个网页的界面还正在优化中。大家可以尝试自己动手做做,也可以关注和参考我的这个小项目github:。本节就不再重复给出界面代码了。

好了,学到这里基本上已经学完了所有基本的canvas绘图的api,大家拿起自己的画笔,自由的发挥吧!

本文发布于:2023-04-03 05:26:42,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/zuowen/f876bc795b4cdc049d3d30b041f67194.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

本文word下载地址:使用HTML5 Canvas绘制圆角矩形及相关的一些应用举例.doc

本文 PDF 下载地址:使用HTML5 Canvas绘制圆角矩形及相关的一些应用举例.pdf

标签:矩形   的是   圆角   界面
相关文章
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图