繁体   English   中英

HTML5 Canvas-画出越来越粗的线的最简单方法是什么?

[英]HTML5 Canvas - What's the simplest way to draw a line that gets thicker and thicker to the end?

画一条越来越粗的线最简单的方法是什么? 像这样:

http://imgur.com/D3Sjz6Z

这是一个时钟项目,所以我希望线x和y点不恒定,我的意思是线应该使用窦和余弦no ctx绕一个点旋转。仅旋转MATH。

简而言之,如何使线绕黑点旋转?

对于HTML5画布(其原点位于左上角), 从垂直方向顺时针旋转的点的一般公式为:

var x = cx + r * Math.sin(theta);
var y = cy - r * Math.cos(theta);

其中[cx, cy]是时钟的中心点, theta以弧度为单位。

对于您的时钟手柄,只需使用这些公式三(或四)次,具体取决于您希望手柄在点(即三角形)还是直线(即平行四边形)处结束。

根据所需的时间计算theta ,然后针对所需的形状针对每个点进行调整(并选择合适的r )。

有关演示,请参见http://jsfiddle.net/alnitak/NgQWH/

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM