2014-06-11 88 views
1

docswxDC::DrawEllipticArc狀態:wxWidgets的繪圖順時針橢圓弧

startend指定相對於從所述矩形的中心的三點鐘位置弧的開始和結束。角度以度數指定(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的

回答

0

有這功能有問題,它正在討論here和總結的是,它幾乎肯定越野車,但我們只是不知道如何修復它。請在那裏添加您的評論。

這是說,我想你也許可以做到這一點,你需要通過借鑑270450弧結果...

+0

試圖登錄到Trac的bug跟蹤系統,但無法擺脫驗證碼。我認爲順時針方向(起始角度大於終止角度)的DXF方式比用-ve角度擺放時要好。 – ravenspoint