在C 控制台程式中,怎麼通過座標繪製圖形

時間 2022-07-09 09:00:08

1樓:

控制台繪製座標沒啥意義。c語言繪製座標很多都是在作業系統c語言顯示器部分。(呼叫彙編函式當然彙編部分肯定是要呼叫bios的

求乙個c++程式,要求輸入座標畫出圖形

2樓:匿名使用者

可以學習一下qt的使用,如果你只是一次性使用的話,那參考一下網上的**就可以了

請問在c++裡面怎樣才能在控制台的指定座標輸出字元?

用c語言或c++ 實現滑鼠畫圖,並可以定位滑鼠座標

3樓:匿名使用者

樓主你好,我用的是c語言。

c語言繪製滑鼠的一般步驟是

1.暫存器中斷,得到滑鼠的位置

2.在改位置畫上滑鼠

3.後繼處理

4.重複上面步驟

那麼,在畫滑鼠的方式上,又有3種不同的方法(就我知道的)

1.直接畫線法(參考文獻)

2.儲存儲存法(參考文獻)

(這個我是用來練手的,所以沒有優化,感覺很卡)

(這個裡面的draw_mouse模組就是專門畫滑鼠的,也是屬於儲存儲存法)

3.掩碼法

就是跟在圖形模式下寫字一樣的方法

希望以上對你有幫助

用c語言或c++ 實現滑鼠畫圖,並可以定位滑鼠座標

4樓:匿名使用者

樓主你好,我用的是c語言。

c語言繪製滑鼠的一般步驟是

1.暫存器中斷,得到滑鼠的位置

2.在改位置畫上滑鼠

3.後繼處理

4.重複上面步驟

那麼,在畫滑鼠的方式上,又有3種不同的方法(就我知道的)

1.直接畫線法(參考文獻)

2.儲存儲存法(參考文獻)

(這個我是用來練手的,所以沒有優化,感覺很卡)

(這個裡面的draw_mouse模組就是專門畫滑鼠的,也是屬於儲存儲存法)

3.掩碼法

就是跟在圖形模式下寫字一樣的方法

希望以上對你有幫助

5樓:匿名使用者

turboc++可以建立位圖,當然visaul c++也可以的!在mfc中可以做到畫圖,可以試試……

c++有什麼繪圖函式(比如:在座標上畫曲線)

6樓:匿名使用者

moveto();lineto();

可以去查查msdn幫助一下,不過這些繪圖函式也蠻多的~~可以去找幾本相關的書看看嘛~~呵呵~~

7樓:楓林路張巨帥

line

move

moveto

怎麼用c++編寫座標

8樓:匿名使用者

很抱歉!從你的提問來看,這個問題比較複雜,我很難給你講明白。你要想完成這個題目還得學習很多知識。希望下面的回答對你有幫助。

要想用c++語言程式設計實現畫圖,得用windows程式設計(mfc程式設計),當然,語法都是c++的語法,但是要用c++語言程式設計實現,還需要學習很多windows程式設計的知識。

不過要實現畫圖,你可以呼叫前人已經編好的庫函式來實現,下面介紹幾個函式作參考,當然,具體怎麼使用函式你自己去查閱下書籍:

畫點函式

void far putpixel(int x, int y, int color);

關於點的另外乙個函式是:

int far getpixel(int x, int y);

它獲得當前點(x, y)的顏色值。

有關座標位置的函式

int far getmaxx(void);

返回x軸的最大值。

int far getmaxy(void);

返回y軸的最大值。

int far getx(void);

返回游標在x軸的位置。

void far gety(void);

返回游標有y軸的位置。

void far moveto(int x, int y);

移動游標到(x, y)點, 不是畫點, 在移動過程中亦畫點。

void far moverel(int dx, int dy);

移動游標從現行位置(x, y)移動到(x+dx, y+dy)的位置, 移動過程中不畫點。

void far line(int x0, int y0, int x1, int y1);

畫一條從點(x0, y0)到(x1, y1)的直線。

void far lineto(int x, int y);

畫一作從現行游標到點(x, y)的直線。

void far linerel(int dx, int dy);

畫一條從現行游標(x, y)到按相對增量確定的點(x+dx, y+dy)的直線。

void far circle(int x, int y, int radius);

以(x, y)為圓心, radius為半徑, 畫乙個圓。

void far arc(int x, int y, int stangle, int endangle, int radius);

以(x, y)為圓心, radius為半徑, 從stangle開始到endangle結束(用度表示)

畫一段圓弧線。在turbo c中規定x軸正向為0度, 逆時針方向旋轉一周, 依次為

90, 180, 270和360度(其它有關函式也按此規定, 不再重述)。

void ellipse(int x, int y, int stangle, int endangle, int xradius,

int yradius);

以(x, y)為中心, xradius, yradius為x軸和y軸半徑, 從角stangle 開始到

endangle結束畫一段橢圓線, 當stangle=0, endangle=360時, 畫出乙個完整的

橢圓。void far rectangle(int x1, int y1, int x2, inty2);

以(x1, y1)為左上角, (x2, y2)為右下角畫乙個矩形框。

void far drawpoly(int numpoints, int far *polypoints);

畫乙個頂點數為numpoints, 各頂點座標由polypoints 給出的多邊形。

polypoints整型陣列必須至少有2倍頂點數個無素。每乙個頂點的座標都定義為x,

y, 並且x在前。值得注意的是當畫乙個封閉的多邊形時, numpoints 的值取實際

多邊形的頂點數加一, 並且陣列polypoints中第乙個和最後乙個點的座標相同。

void far bar(int x1, int y1, int x2, int y2);

確定乙個以(x1, y1)為左上角, (x2, y2)為右下角的矩形視窗, 再按規定圖

模和顏色填充。

說明: 此函式不畫出邊框, 所以填充色為邊框。

void far bar3d(int x1, int y1, int x2, int y2, int depth, int

topflag);

當topflag為非0時, 畫出乙個三維的長方體。當topflag為0時, 三維圖形不

封頂, 實際上很少這樣使用。

說明: bar3d()函式中, 長方體第三維的方向不隨任何引數而變, 即始終為

45度的方向。

void far pieslice(int x, int y, int stangle, int endangle, int

radius);

畫乙個以(x, y)為圓心, radius為半徑, stangle為起始角度, endangle 為

終止角度的扇形, 再按規定方式填充。當stangle=0, endangle=360 時變成乙個

實心圓, 並在圓內從圓點沿x軸正向畫一條半徑。

void far sector(int x, int y, int stanle, intendangle, int

xradius, int yradius);

畫乙個以(x, y)為圓心分別以xradius, yradius為x軸和y軸半徑, stangle

為起始角, endangle為終止角的橢圓扇形, 再按規定方式填充。

9樓:華螢趣玩

要想用c++語言程式設計實現畫圖,得用windows程式設計(mfc程式設計),當然,語法都是c++的語法,但是要用c++語言程式設計實現,還需要學習很多windows程式設計的知識。

void far putpixel(int x, int y, int color);

關於點的另外乙個函式是:

int far getpixel(int x, int y);

它獲得當前點(x, y)的顏色值。

有關座標位置的函式

int far getmaxx(void);

返回x軸的最大值。

int far getmaxy(void);

返回y軸的最大值。

int far getx(void);

返回游標在x軸的位置。

void far gety(void);

返回游標有y軸的位置。

void far moveto(int x, int y);

移動游標到(x, y)點, 不是畫點, 在移動過程中亦畫點。

void far moverel(int dx, int dy);

移動游標從現行位置(x, y)移動到(x+dx, y+dy)的位置, 移動過程中不畫點。

void far line(int x0, int y0, int x1, int y1);

畫一條從點(x0, y0)到(x1, y1)的直線。

void far lineto(int x, int y);

畫一作從現行游標到點(x, y)的直線。

void far linerel(int dx, int dy);

畫一條從現行游標(x, y)到按相對增量確定的點(x+dx, y+dy)的直線。

void far circle(int x, int y, int radius);

以(x, y)為圓心, radius為半徑, 畫乙個圓。

void far arc(int x, int y, int stangle, int endangle, int radius);

以(x, y)為圓心, radius為半徑, 從stangle開始到endangle結束(用度表示)

畫一段圓弧線。在turbo c中規定x軸正向為0度, 逆時針方向旋轉一周, 依次為

90, 180, 270和360度(其它有關函式也按此規定, 不再重述)。

void ellipse(int x, int y, int stangle, int endangle, int xradius,

int yradius);

以(x, y)為中心, xradius, yradius為x軸和y軸半徑, 從角stangle 開始到

endangle結束畫一段橢圓線, 當stangle=0, endangle=360時, 畫出乙個完整的

橢圓。void far rectangle(int x1, int y1, int x2, inty2);

以(x1, y1)為左上角, (x2, y2)為右下角畫乙個矩形框。

void far drawpoly(int numpoints, int far *polypoints);

畫乙個頂點數為numpoints, 各頂點座標由polypoints 給出的多邊形。

polypoints整型陣列必須至少有2倍頂點數個無素。每乙個頂點的座標都定義為x,

y, 並且x在前。值得注意的是當畫乙個封閉的多邊形時, numpoints 的值取實際

多邊形的頂點數加一, 並且陣列polypoints中第乙個和最後乙個點的座標相同。

void far bar(int x1, int y1, int x2, int y2);

確定乙個以(x1, y1)為左上角, (x2, y2)為右下角的矩形視窗, 再按規定圖

模和顏色填充。

說明:

此函式不畫出邊框, 所以填充色為邊框。

void far bar3d(int x1, int y1, int x2, int y2, int depth, int

topflag);

當topflag為非0時, 畫出乙個三維的長方體。當topflag為0時, 三維圖形不

封頂, 實際上很少這樣使用。

說明:

bar3d()函式中, 長方體第三維的方向不隨任何引數而變, 即始終為

45度的方向。

void far pieslice(int x, int y, int stangle, int endangle, int

radius);

畫乙個以(x, y)為圓心, radius為半徑, stangle為起始角度, endangle 為

終止角度的扇形, 再按規定方式填充。當stangle=0, endangle=360 時變成乙個

實心圓, 並在圓內從圓點沿x軸正向畫一條半徑。

void far sector(int x, int y, int stanle, intendangle, int

xradius, int yradius);

畫乙個以(x, y)為圓心分別以xradius, yradius為x軸和y軸半徑, stangle

為起始角, endangle為終止角的橢圓扇形, 再按規定方式填充。

C控制台程式怎麼實現迴圈執行

我有乙個簡單的辦法 goto法 在你的想要重新執行的 前加上標籤。如 start 你的程式 console.writeline 是否再次執行程式?是就按 1 否就按 2 關閉程式 byte i convert.tobyte console.readline if i 1 使用if語句判斷條件,滿足就...

c中控制台可以執行的程式為什麼放入窗體程式中通過按鈕呼叫函式執行不了,編譯無錯誤

其實很簡單,在winform裡面用process來開啟乙個控制台程式,並且捕獲它的標準輸入輸出,就可以實現winform和控制台互動了。關於傳值 有兩種理解,一種是傳引數,在process.startinfo裡面可以設定傳的引數另一種理解是開啟控制台後輸入一行命令並回車,讓控制台執行這個命令。pro...

c控制檯程式怎麼判斷輸入的字串型別

小小木歌 小小案例提示 自己參照 public static bool yanzheng string str catch return true static void main string args 能被轉換成int型別 str else 輸入的都是字串 只能根據自己的需要轉換成對應的型別 可...