Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/160.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ wxWidgets绘制顺时针椭圆弧_C++_Wxwidgets - Fatal编程技术网

C++ wxWidgets绘制顺时针椭圆弧

C++ wxWidgets绘制顺时针椭圆弧,c++,wxwidgets,C++,Wxwidgets,forwxDC::dravelliticarc状态: start和end指定相对于矩形中心的三点钟位置的弧的起点和终点。角度以度为单位指定(360是一个完整的圆)正值表示逆时针运动。 所谓: wxDC::DrawEllipticArc( ... 90, 270 ) 给我: 公平地说,弧是从12点到6点逆时针方向画的 现在我想顺时针从12点画到6点。因此,我呼吁: wxDC::DrawEllipticArc( ... -90, -270 ) 但我得到了同样的结果 我尝试过+/-90和+/-2

for
wxDC::dravelliticarc
状态:

start
end
指定相对于矩形中心的三点钟位置的弧的起点和终点。角度以度为单位指定(360是一个完整的圆)正值表示逆时针运动。

所谓:

wxDC::DrawEllipticArc( ... 90, 270 )
给我:

公平地说,弧是从12点到6点逆时针方向画的

现在我想顺时针从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 );
if(ea

Windows 7上带有gcc/codeblocks/mingw的wxWidgets 3.0.0

此函数中存在一个问题,正在讨论中,总结是它几乎肯定有缺陷,但我们只是不知道如何准确修复它。请在此处添加您的评论


话虽如此,我认为您可能能够通过从
270
450
绘制一条弧来实现所需的结果,…

尝试登录到trac bug tracker,但无法通过验证码。我认为DXF的顺时针指示方式(开始角大于结束角)比用-ve角乱搞要好。