我有这样的代码:
platform.window:invalidate()
function on.paint(gc)
gc:setColorRGB(0,0,0)
for i=1,8,1 do
gc:fillArc(230,(i*30)-40,30,30,45,360-(i*60))
end
end如果你看一下第一次迭代,其中i=1,圆应该是逆时针从45°- 300°绘制的。事情并不是这样的。这个圆是从45°到345°绘制的,这显然是不可取的。
当绘制其他圆时,会发生其他一些奇怪的情况,这使得它们在绘制时看起来是翻转的,或镜像的或类似的东西。通过在fillArc()的最后两个参数中输入不同的值,可以复制这种奇怪的情况。90和270从90绘制到360。180和270从180绘制到90。为什么会发生这种情况?
发布于 2018-01-31 12:47:33
我没有一个设备来测试这一点,但从你所描述的情况看,“结束角度”参数被认为是相对于“起始角度”的,所以90和270将从90绘制到90+270。这不是我对documentation的理解--“弧从startAngle度开始,在endAngle处结束。”--但它可能可以用任何一种方式解释。
https://stackoverflow.com/questions/48532136
复制相似问题