1
的docs为wxDC::DrawEllipticArc
状态:wxWidgets的绘图顺时针椭圆弧
start
和end
指定相对于从所述矩形的中心的三点钟位置弧的开始和结束。角度以度数指定(360是完整的圆圈)。 正值表示逆时针运动。
所以美其名曰:
wxDC::DrawEllipticArc(... 90, 270)
给我:
很公平,电弧从12o'clock吸引到6o'clock在逆时针方向。
现在我想从12点钟到6点钟的顺时针方向方向。所以我打电话:
wxDC::DrawEllipticArc(... -90, -270)
但是我得到了同样的结果!
我尝试了各种不同顺序的+/- 90和+/- 270的组合,但是一切都会产生逆时针圆弧(常用)的12点钟到6点钟或全圆(有时候)我找不到一个组合来产生'另一半'。
============修复================
以我的输入数据(DXF文件)中的顺时针方向是由小于起始角度的结束角度表示。因此,这段代码的工作
if(ea < sa) {
// required to draw in clockwise direction
// work arround for wxWidgets bug http://trac.wxwidgets.org/ticket/4437
ea += 360;
}
dc.DrawEllipticArc (... sa, ea);
的wxWidgets 3.0.0与Windows 7的gcc /代码块/ MinGW的
试图登录到Trac的bug跟踪系统,但无法摆脱验证码。我认为顺时针方向(起始角度大于终止角度)的DXF方式比用-ve角度摆放时要好。 – ravenspoint