标题 | html5在canvas中绘制复杂形状附效果截图 |
范文 | 在简单的矩形不能满足需求的情况下,可以同本例提供的方法来绘制复杂的形状或路径。下面为大家介绍下html5如何在canvas中绘制复杂形状,需要的朋友可以参考下。 一、绘制复杂形状或路径 在简单的矩形不能满足需求的情况下,绘图环境提供了如下方法来绘制复杂的形状或路径。 beginpath():开始绘制一个新路径。 closepath():通过绘制一条当前点到路径起点的线段来闭合形状。 fill(),stroke():填充形状或绘制空心形状。 moveto():将当前点移动到点(x,y)。 lineto():从当前点绘制一条直线到点(x,y)。 arc(x,y,r,sangle,eangle,counterclockwise):绘制一条指定半径的弧到点(x,y)。 二、用这些方法绘制复杂形状需遵循以下步骤 使用beginpath()方法开始绘制路径。 使用moveto()、lineto()、arc()、方法创建线段。 使用closepath()结束绘制并闭合形状(可选)。 使用stroke()或fill()绘制路径的外边框或填充形状。使用fill()会自动闭合所有未闭合路径。 三、弧arc()绘制说明 四、在canvas中绘制复杂形状 代码如下: <!--<!doctype>声明必须是html文档的第一行,位于<html>标签之前。--> <!doctypehtml> <html> <head> <metahttp-equiv=content-typecontent=text/html;charset=utf-8> <title>html5</title> <scripttype=text/javascriptcharset=utf-8> //这个函数将在页面完全加载后调用 functionpageloaded() { //获取canvas对象的引用,注意tcanvas名字必须和下面body里面的id相同 varcanvas=document.getelementbyid('tcanvas'); //获取该canvas的2d绘图环境 varcontext=canvas.getcontext('2d'); //绘制代码将出现在这里 //绘制复杂性猪 //填充三角形 context.beginpath(); context.moveto(10,120);//从(10,20开始) context.lineto(10,180);//表示从(10,120)开始,画到(10,180)结束 context.lineto(110,150);//表示从(10,180)开始,画到(110,150)结束 context.fill();//闭合形状并且以填充方式绘制出来 //三角形的外边框 context.beginpath(); context.moveto(140,160);//从点(140,160)开始 context.lineto(140,220); context.lineto(40,190); context.closepath();//关闭路径 context.stroke();//以空心填充 //一个复杂的多边形 context.beginpath(); context.moveto(160,160);//从点(160,160)开始 context.lineto(170,220); context.lineto(240,210); context.lineto(260,170); context.lineto(190,140); context.closepath(); context.stroke(); //绘制弧 //绘制半圆弧 context.beginpath(); //在(100,300)处逆时针画一个半径为40,角度从0到180°的弧线 context.arc(100,300,40,0*math.pi,1*math.pi,true);//pi的弧度是180° context.stroke(); //画一个实心圆 context.beginpath(); //在(100,300)处逆时针画一个半径为30,角度为0到360°的弧 context.arc(100,300,30,0*math.pi,2*math.pi,true);//2*math.pi是360° context.fill(); //画一个3/4弧 context.beginpath(); //在(200,300)处顺时针画一个半径为25,角度为0到270°的弧 context.arc(200,300,25,0*math.pi,3/2*math.pi,false); context.stroke(); } </script> </head> <bodyonload=pageloaded();> <canvaswidth=400height=400id=tcanvasstyle=border:black1pxsolid;> <!--如果浏览器不支持则显示如下字体--> 提示:你的浏览器不支持<canvas>标签 </canvas> </body> </html> |
随便看 |
|
在线学习网范文大全提供好词好句、学习总结、工作总结、演讲稿等写作素材及范文模板,是学习及工作的有利工具。