html5在canvas中绘制复杂形状附效果截图
来源: 阅读:673 次 日期:2016-06-14 09:35:29
温馨提示: 小编为您整理了“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中绘制复杂形状

代码如下:

html5

//这个函数将在页面完全加载后调用

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();

}

提示:你的浏览器不支持标签

Baidu
map

更多信息请查看 网页制作
由于各方面情况的不断调整与变化, 提供的所有考试信息和咨询回复仅供参考,敬请考生以权威部门公布的正式信息和咨询为准!
关于我们| 联系我们| 人才招聘| 网站声明| 网站帮助| 非正式的简要咨询| 简要咨询须知| 加入群交流| 手机站点| 投诉建议
工业和信息化部备案号:滇ICP备2023014141号-1 云南省教育厅备案号:云教ICP备0901021 滇公网安备53010202001879号 人力资源服务许可证:(云)人服证字(2023)第0102001523号
云南网警备案专用图标
联系电话:0871-65317125(9:00—18:00) 获取招聘考试信息及咨询关注公众号:
咨询QQ:526150442(9:00—18:00) 版权所有:
云南网警报警专用图标
Baidu
map