線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:2377
推到 Plurk!
推到 Facebook!

可以旋轉任意角度的橢圓

尚未結案
miloshop
一般會員


發表:8
回覆:22
積分:6
註冊:2004-10-11

發送簡訊給我
#1 引用回覆 回覆 發表時間:2005-03-06 17:58:36 IP:219.70.xxx.xxx 未訂閱
各位大大,請教一下,在BC 裡頭,怎麼去畫一個任意角度的橢圓呢??C 裡提供的橢圓函數只能做到垂直跟水平,是要純手工打造嗎??一點一點畫出?還是有其他函式可供使用,謝謝!!
stellos
中階會員


發表:24
回覆:84
積分:51
註冊:2004-06-08

發送簡訊給我
#2 引用回覆 回覆 發表時間:2005-03-07 00:15:51 IP:220.138.xxx.xxx 未訂閱
Ellipse(x1,y1,x2,y2); (x1,y1)(x2,y2)所構成的方形內畫 我大概懂你意思 構成的方形好像沒辦法讓它傾斜個角度 或許是我才殊學淺 有空再幫你找找 或我找的過程中其他大大就替你解答好了
miloshop
一般會員


發表:8
回覆:22
積分:6
註冊:2004-10-11

發送簡訊給我
#3 引用回覆 回覆 發表時間:2005-03-07 11:56:14 IP:219.70.xxx.xxx 未訂閱
謝謝大大的指教,小弟我還有許多事得學習!!~~ 我最主要是要去IMPLEMENT一個最佳橢圓近似的演算法!!但是因為要畫出橢圓的角度,所以找不到C BUILDER裡有供這樣的函數,本來是想說先畫出一個圖層(正橢圓)然後再用座標轉換和bi-Linear 插補法去近似,但是想這樣會不會太複雜了,如果要用描點的法子做(畫出來會不會不漂亮??),似乎又卡到一點觀念上的問題!!謝謝大大們的回覆!!
arisaka_matsuri
高階會員


發表:25
回覆:205
積分:231
註冊:2003-10-19

發送簡訊給我
#4 引用回覆 回覆 發表時間:2005-03-07 14:07:49 IP:140.113.xxx.xxx 未訂閱
dear miloshop: Windows GDI就有提供旋轉或轉換座標的API,直接呼叫就可以了~ 請參考: http://msdn.microsoft.com/library/default.asp?url=/library/en-us/gdi/cordspac_0inn.asp 當然純手工打造也是OK的~不過速度上就慢一點了~
miloshop
一般會員


發表:8
回覆:22
積分:6
註冊:2004-10-11

發送簡訊給我
#5 引用回覆 回覆 發表時間:2005-03-07 22:42:08 IP:219.70.xxx.xxx 未訂閱
謝謝大大!!嗯~~那篇文章我看過了,您的意思是先轉換座標(放大或旋轉),然後再畫圖!!,不過現在有一點小問題 1. 我可以成功的在FORM1畫出旋轉角度的橢圓!!但是我沒有辦法在IMAGE上畫,因為我如果傳Image1->canvas->handle他都一直不理我~~^^ 2. 我用原始的ELLIPSE(HDC,INT,INT,INT,INT)去畫,但是在視窗重新移動時卻會有問題,是不是用ELLIPSE畫時會有這樣的問題呢? 3. 可以加一個PAINTBOX在IMAGE上面嗎??我之前有看別人有這樣子做去畫圖 謝謝大大們的指教!!
stellos
中階會員


發表:24
回覆:84
積分:51
註冊:2004-06-08

發送簡訊給我
#6 引用回覆 回覆 發表時間:2005-03-08 01:15:14 IP:220.138.xxx.xxx 未訂閱
如果說你在FORM或PAINTBOX上畫的話 的確會在被其他視窗覆蓋而清除 所以要在OnPaint事件重畫 其實你畫在Image1他都一直不理你 是你沒有做Image1->Repaint()或Image1->Refresh()
miloshop
一般會員


發表:8
回覆:22
積分:6
註冊:2004-10-11

發送簡訊給我
#7 引用回覆 回覆 發表時間:2005-03-10 00:56:46 IP:219.70.xxx.xxx 未訂閱
我後來有試出來了,直接傳入旋轉中心,先將座標軸原點移到旋轉中心,然後用前面大大所提到MSDN的XFORM跟 SetWorldTransform 去旋轉,最後在旋轉後的座標系統上畫自己想要的圖!!重畫的問題可籍由此方解決 我想再請教一個問題如果傳入的CANVAS座標系統已改變,那是不是有那一個函式可以直接設回原始WINDOWS預設的座標系統呢(因為我不想再轉回來一個逆角度)呵~~謝謝大大們的討論,誰要得分??
系統時間:2024-05-19 17:12:29
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!