桌面應用程式 繪製彩虹

2021-10-21 06:10:05 字數 2253 閱讀 4496

 該軟體只需要乙個窗體,該窗體標題為:「彩虹繪製—2017******x」。請依據你的情況填寫你的真實學號。

 設定窗體的雙快取為true,避免繪圖是,窗體閃爍。

 新增form_paint事件,在該事件中,獲取graphics物件,對應**提示如下。

 繪製彩虹的核心方法是graphics物件的fillpie方法,該方法的引數解釋如下:通過繪製7個同心的不同顏色扇形,即可繪製出彩虹圖案。

fillpie(brush brush, rectangle rect, float startangle, float sweepangle);

摘要:填充橢圓所定義的扇形區的內部,該橢圓system.drawing.rectanglef 結構和兩條射線指定。

brush:用什麼顏色的筆刷繪製該扇形。

rect:它表示定義該扇形區所屬的橢圓的邊框。

startangle:起始角度。

sweepangle:沿startangle掃過的角度。

 第乙個引數brush,7個顏色的取值分別是:brushes. red, brushes.orange,brushes.yellow,brushes.green,brushes.greenyellow,brushes.blue,brushes.purple。

 第三個引數,由於窗體座標系如下所示:通過上述座標系圖,我們可以知道startangle應該設定為180。

 第四個引數sweepangle,由於該值隨著時間變化,因此,我們需要在方法外定義乙個float型別的 sweepang變數,在timer中不斷增加或減少該值,然後在fillpie方法中,使用該變數。利用掃過角度的不斷變化,引起所繪製的圖形的變化。注意:timer控制項是否啟用,以及在tick事件中,呼叫this. invalidate ()或者this. refresh(),更新畫面。

 為了能將彩虹繪製在窗體中心,在form_load事件中獲取窗體中心點。

 在gdi+中螢幕座標系的原點在窗體左上角,根據所獲得窗體中心變數center以及,每個扇形的半徑,結合下圖,可以輕鬆構造出每個扇形應該繪製在的外界矩形rectangle,即fillpie的第二個引數rect。7個扇形的半徑取值分別是:160,140,120,100,80,60,40。

 為了保證繪製出的彩虹只有180°,請在timer的tick事件中加入判斷,當sweepang大於180°的時候,重新置為0°

**部分:

using system;

using system.collections.generic;

using system.componentmodel;

using system.data;

using system.drawing;

using system.linq;

using system.text;

using system.threading.tasks;

using system.windows.forms;

namespace rainbow

private

void

form1_paint

(object sender,

painteventargs e)

point center;

private

void

form1_load

(object sender,

eventargs e)

public

static

float a =0;

int i =0;

private

void

timer1_tick

(object sender,

eventargs e)

else

this

.invalidate()

;}}}

執行結果:

桌面應用程式

桌面應用程式 在台式電腦上執行的應用程式稱為桌面應用程式。比如 記事本,word,excel。這種應用程式的特點是 1 缺少共享 2 直接雙擊就可以執行,不需要ie 3 一般以window的視窗形式存在 web應用程式 1 需要ie來執行 2 一般以網頁的形式的存在 3 可以有很多的客戶端來共享。比...

Web應用程式與桌面應用程式的區別

web delphi 伺服器網路 internet access 如果都是用.net做的話,桌面程式需要開發伺服器端和客戶端兩塊程式,電腦都要安裝.net framework,b s形式的話,只用做伺服器端。但兩者桌面應用可能軟體介面更好控制一些,web形式客戶端的螢幕就不太好空,一般滿足1024 ...

Web應用程式與桌面應用程式的區別

web delphi 伺服器網路 internet access 如果都是用.net做的話,桌面程式需要開發伺服器端和客戶端兩塊程式,電腦都要安裝.net framework,b s形式的話,只用做伺服器端。但兩者桌面應用可能軟體介面更好控制一些,web形式客戶端的螢幕就不太好空,一般滿足1024 ...