码迷,mamicode.com
首页 > Web开发 > 详细

HTML5中canvas如何画虚线

时间:2015-03-16 16:34:49      阅读:219      评论:0      收藏:0      [点我收藏+]

标签:canvas   html5   function   2d   javascript   

虚线也可以看成是一段段的实线组成的,而实线是利用context.moveTo(x,y);context.lineTo(x2,y2);context.stroke();

那么我们就可以利用context的基本方法来完成虚线的实现原理,如下:

var context = document.getElementById('canvas').getContext('2d');

//求斜边长度
function getBeveling(x,y)
{
	return Math.sqrt(Math.pow(x,2)+Math.pow(y,2));
}

function drawDashLine(context,x1,y1,x2,y2,dashLen)
{
	dashLen = dashLen === undefined ? 5 : dashLen;
	//得到斜边的总长度
	var beveling = getBeveling(x2-x1,y2-y1);
	//计算有多少个线段
	var num = Math.floor(beveling/dashLen);
	
	for(var i = 0 ; i < num; i++)
	{
		context[i%2 == 0 ? 'moveTo' : 'lineTo'](x1+(x2-x1)/num*i,y1+(y2-y1)/num*i);
	}
	context.stroke();
}

drawDashLine(context,50,50,300,180,5);
展示效果如下:

技术分享

HTML5中canvas如何画虚线

标签:canvas   html5   function   2d   javascript   

原文地址:http://blog.csdn.net/u013412066/article/details/44306321

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!