wxDC::DrawEllipticArc
州的docs:
start
和end
指定相对于矩形中心的三点钟位置的弧的起点和终点。角度以度为单位指定(360是完整的圆圈)。 正值表示逆时针运动。
所以打电话:
wxDC::DrawEllipticArc( ... 90, 270 )
给我:
足够公平,弧线从逆时针方向从12点钟到6点钟。
现在我想在顺时针方向从12o&时钟到6o'时钟。所以我打电话给:
wxDC::DrawEllipticArc( ... -90, -270 )
但我得到了同样的结果!
我已经尝试了不同顺序的+/- 90和+/- 270的各种组合,但是所有组合都产生12o'时钟到6o'时钟在逆时针弧(usulally)或一个完整的圆圈(有时)我找不到组合来制作另一半的#。'
============修复================
在我的输入数据(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 );
在Windows 7上使用gcc / codeblocks / mingw wxWidgets 3.0.0
答案 0 :(得分:0)
此功能存在问题,正在讨论here,摘要是它几乎肯定是错误的,但我们只是不知道如何修复还没完成。请在那里添加您的评论。
话虽如此,我认为您可以通过从270
到450
绘制弧线来实现所需的结果......