【发布时间】:2016-10-20 04:03:45
【问题描述】:
我正在用 JavaScript 重写一些旧的 QuickBasic 代码(是的,真的)。在 QuickBasic 中,圆的定义如下:
CIRCLE (column, row), radius, color, startRadian, stopRadian, aspect
在 HTML5 画布上的 JavaScript 中,如下所示:
c.arc(column, row, radius, startAngle, endAngle, counterclockwise);
正如我们所看到的,这些语句非常相似 - 除了 QuickBasic 具有颜色和方面的参数。
我可以使用 context.strokeStyle 来处理颜色,但我不确定如何处理方面?我将使用什么 JavaScript 命令来完成与 QuickBasic 通过 aspect 参数描述的效果类似的效果?
在这种情况下方面可以定义为:
“0 到 1 的单个值会影响垂直高度,大于 1 的值会影响椭圆的水平宽度。纵横比 = 1 是一个普通圆。” - QB64 Wiki
【问题讨论】:
-
How to draw an oval in html5 canvas? 的可能重复项请注意,将
CIRCLE的aspect参数设置为 1 以外的值会使其绘制椭圆而不是圆形。 -
使用
ctx.scale设置纵横比,ctx.arc创建路径。在渲染之前将比例恢复为正方形,然后调用ctx.stroke。如果您不将比例恢复为正方形,则线宽将在弧上变化
标签: javascript html html5-canvas basic quickbasic