vc中如何使用ondraw畫曲線

2025-03-26 10:05:30 字數 2590 閱讀 1234

1樓:mfc問題

是在ondraw中畫,有以下幾個函式(可能還有我不知道的):

bool arc(int x1, int y1, int x2, int y2, int x3, int y3, int x4, int y4);

bool arc(lpcrect lprect, point ptstart, point ptend);

bool arc to(int x1, int y1, int x2, int y2, int x3, int y3, int x4, int y4);

bool arc to(lpcrect lprect, point ptstart, point ptend);

bool pie(int x1 ,int y1 ,int x2,int y2,int x3 ,int y3 ,int x4 ,int y4);

bool pie(lprect lprect,point ptstart ,point ptend);

或者說,你設定一絕答畢個點舉歲為原點,然後像我們數學裡的一樣,用類似下面的語句。

for(int i=0;i<=1000;i++)

double pi=;

double x=(i*pi)/;

double y=sin(x);

int j=5000-(int)(1000*y);

pdc->lineto(i,j);

就是透過x的並芹值計算y的值然後用lineto畫出來,當然必要的話你要設定相應的映像模式。

vc++ 中 如何畫曲線

2樓:段奕明

不知道你是想在vc++視類中畫曲線還是想在控制檯中顯示曲線,如果是前者,只要儲存你滑鼠每次移動的位置,新增滑鼠單擊事件就可以完成了。如果是後者,可以使用曲線函式。

3樓:網友

mfc程式麼?如果是,那麼:

如果是標準圓和橢圓,anglearc或者circle函式如果是折線,polylineto

如果是可以計算的曲線,用點連續繪製(迴圈)setpixel其它規則曲線,學習opengl吧。

對給一組資料,用vc++畫曲線圖。

4樓:網友

你可以用陣列來存放資料,由於你資料的大小是變的,所以建議你採用carray<>這個模板陣列來自定義資料型別,因為他的大小是可變的,然後時間可以存放相對於開始值的秒數,你要是時間跨度比較大的話也可以採用相對開始值的分鐘等等,然後畫線的時候把這些值都加上開始的時間就行了,畫線你這個最好要用cdc::polyline這個函式,比lineto方便多了,你這個可能要實現即時重繪,最好把這些資料的曲線畫在乙個記憶體dc上,然後再bitblt到你顯示器的dc上,這樣子不會閃屏,當然你的資料還要根據顯示器上面y軸的座標轉換一下,差不多就這樣子可以了。

5樓:孤松獨海

對於靜態的,直接在ondraw函式里面pdc->moveto() pdc->lineto();

對於動態的,那就在滑鼠點選訊息函式中,從這個函式的引數中獲得當前滑鼠位置,然後pdc->lineto 即可。

我這裡有個畫線,不規則圖形,圓,連線線的**例子,發到你郵箱了。

6樓:何處淬吳鉤

點之間緊密直接畫直線即可,若距離較大可用貝塞爾曲線。

7樓:斂正雅

給我資料我就幫你畫。。。

怎麼在mfc中畫曲線

8樓:網友

上面這段**,就是用小段的直線,顯示出曲線的效果。

1. 先移動到第乙個點。

2. 然後向第二個點畫直線。

3. 向第三個點畫直線。

向第7999個點畫直線。

怎樣用c++實現函式曲線,畫出曲線?

9樓:妙心獨運

如:cmyview::ondraw(cdc* pdc)如此一來隨著時間和速度的每次改變程式都會繪製一條線段並將指標移動到該點上,但是為了實現這條完整的曲線還要做很多工作。

系統中預設的以客戶區左上角作為x,y座標的0點,x軸和y軸非別是向右和向下,所以照如此畫法該曲線是上下倒置的,必須要做出調整才能繪製出乙個符合人習慣的曲線變化圖。

2.該ondraw()函式繪製時會產生乙個非常嚴重的問題,因為呼叫ondraw函式是會更新整個客戶區,所以每當繪製出下一條線段時,前乙個線段都將消失,所以還必須要設法儲存所繪製的圖形元素。

10樓:網友

利用win32api進行sdk程式設計就可以實現。。。

11樓:網友

通過控制頂點 然後畫出曲線 建議看一下計算機圖形學方面的書籍 或者opengl

根據已有的資料檔案如何應用vc++畫曲線圖

12樓:網友

把資料都放到乙個陣列裡。

建立座標系,根據每個資料大小以及x,y軸確定沒個點座標。

然後用迴圈moveto然後lineto就成了。

13樓:

直接在dc上面用setpixel來畫。

如何在vc中 定義函式,vc的名稱定義

哦,你在用square這個函式之前你的宣告它,在include 的下一行寫上它的宣告 include int square int y int main int i for i i i cout square i coutint square int y return y 這樣就可以,以後凡是後面要...

CAD高手請進,在CAD中如何畫任意曲線上任意點的切線

1.以a點為起點,畫線連線弧的圓心 可按shift鍵不放再右鍵捕捉圓心 即弧半徑 2.ro,空格,選擇此半徑,空格,捕捉a點,輸入90,空格.過a點的切線已畫好.如要定長線,則可以先畫好此線,再用 al 對齊命令對齊即可.你說的可以用por e可以做 出來,但是在cad裡面是做不出來的,要做出來也只...

如何在c中呼叫vc中編寫的,如何在C 中呼叫VC 中編寫的DLL

1 如果這是個用c 編寫的dll檔案,那麼using dll檔案的名稱空間,然後就可以呼叫名稱空間中的類。2 如果是不是用c 編寫的dll檔案,那麼就把dll放到合適位置 winform程式目錄下,web程式bin資料夾下,system32資料夾下 然後using system.runtime.in...