《计算机程式》PPT课件.ppt

上传人:牧羊曲112 文档编号:5604258 上传时间:2023-08-01 格式:PPT 页数:41 大小:538KB
返回 下载 相关 举报
《计算机程式》PPT课件.ppt_第1页
第1页 / 共41页
《计算机程式》PPT课件.ppt_第2页
第2页 / 共41页
《计算机程式》PPT课件.ppt_第3页
第3页 / 共41页
《计算机程式》PPT课件.ppt_第4页
第4页 / 共41页
《计算机程式》PPT课件.ppt_第5页
第5页 / 共41页
点击查看更多>>
资源描述

《《计算机程式》PPT课件.ppt》由会员分享,可在线阅读,更多相关《《计算机程式》PPT课件.ppt(41页珍藏版)》请在三一办公上搜索。

1、計算機程式,廖文淵Department of Computer Science and EngineeringDe-Lin Institute of Technology,第九章,繪圖,設定顏色,所謂的繪圖,就是在背景色上以前景色畫點、畫線、或其他的幾何圖形在開始學繪圖之前,得先知到如何設定顏色,QBColor函數,QBColor函數是為了要繼承以往DOS底下的Quick Basic所設的lVar=QBColor(號碼)例如:ForeColor=QBColor(14)IVar就是相對應的RGB值,QBColor函數範例(1),範例(EX9-1)這個範例最主要的目的是列出所有QBColor函數所

2、提供的顏色,並觀察每一顏色相對應的RGB十六進位值說明程式開始執行,表單上會列出所有QBColor的顏色,以及其對應的RGB值,QBColor函數範例(2),步驟這個程式不需要放置任何控制項依照下表修改表單的屬性欄在表單的Form_Activate事件程序中填入下列程式碼,01.Private Sub Form_Activate()02.For i=0 To 1503.Print Format(i,00);04.ForeColor=QBColor(i)05.Print;06.ForeColor=007.Print Hex(QBColor(i)08.Next09.End Sub,RGB函數,可以

3、產生任何色彩讓設計師可以更方便的利用紅、綠、藍三原色混和出顏色,不須熟悉位元運算RGB函數的格式lVar=RGB(R,G,B)R、G、B分別代表R、G、B(紅、綠、藍)的數值範圍為 0 到 255,0 表示該顏色的成分最低,255 表示成分最高例如產生純紅色RGB值lVar=RGB(255,0,0)例如將表單被景色改呈藍色BackColor=RGB(0,0,255),直接填入值(1),指定十六進位RGB值RGB十六進位值的表現方式ForeColor=&H00BBGGRR,常數,最高位元組,直接填入值(2),指定系統顏色用Long(長整數)設定顏色長整數型別資料佔用4個位元組(Byte)RGB三

4、原色分別佔用一個位元組最高位元組的最高位元:為1時,代表其後3個位元組是系統顏色編號為0時,其後3個位元組是RGB值系統顏色:Windows環境中所提供的顏色透過”控制台/顯示器”中的”外觀”頁來設定這些顏色,直接填入值(3),Visual Basic中預先定義的系統顏色常數,通用對話方塊的種類,Open(開啟舊檔)SaveAs(另存新檔)Color(色彩)Font(字型)Printer(列印)WinHelp(Windows線上說明),引用通用對話方塊控制項,執行功能表的”專案(P)/設定使用元件(O).”項目在”設定使用元件對話方塊”的”控制項”頁上找到”Microsoft Common D

5、ialog control 6.0”項目在項目前打勾按下套用(A)按鈕再按下確定按鈕,1)選擇”Microsoft Common Dialog Control”項目,2)按下套用(A)按鈕,3)按下確定按鈕,在工具箱中的Common Dialog控制項,放置通用對話方塊控制項,用Double-Click或拖放的方式通用對話方塊控制項執行時不會出現在表單上通用對話方塊控制項必須等待程式呼叫其方法,然後產生出所需的對話方塊,產生各種對話方塊,兩種方法用Common Dialog的方法(Method)來啟動對話方塊修改Common Dialog的Action屬性值,CommonDialog1.Sho

6、wOpen,CommonDialog1.Action=1,呼叫色彩對話方塊,CommonDialog1.ShowColor,用滑鼠按下定義自訂色彩(D)按鈕,取得所設定的顏色,讀取對話方塊的Color屬性值傳回值是一個RGB顏色值這個值可以指定給像ForeColor、BackColor之類的屬性欄例如,BackColor=CommonDialog1.Color,色彩通用對話方塊實作(1),範例(EX9-2)按下選擇背景色(B)按鈕之後,螢幕上會出現一個色彩通用對話方塊選定顏色後後,按下通用對話方塊上的確定鈕,表單的背景顏色會變更為所選定的顏色如果按下取消按鈕,則表單的背景色維持不變說明執行時,

7、表單上只有一個命令鈕,色彩通用對話方塊實作(2),按下選擇背景色(B)按鈕,螢幕上就會出現一個色彩通用對話方塊,色彩通用對話方塊實作(3),選擇顏色後,按下確定,表單的背景顏色就會變成剛剛所選擇的顏色步驟引用一個通用對話方塊控制項,然後在表單上放置一個通用對話方塊物件在表單上放置一個命令鈕,色彩通用對話方塊實作(4),依照下表修改各物件屬性欄通用對話方塊屬性欄CancelError預設值是False改成True時:使用者在通用對話方塊上按下取消時,將產生一個錯誤 在cmdChooseColor的Click事件程序上填入程式碼,01.Private Sub cmdChooseColor_Clic

8、k()02.On Error GoTo Error_Handler03.dlgSetColor.ShowColor04.BackColor=dlgSetColor.Color05.Error_Handler:06.Exit Sub07.End Sub,畫點(1),將物件上一點設定為所指定的色彩常見的物件有Form、Printer、及 PictureBoxPSet方法物件.PSet Step(x,y),colorStep選擇性參數畫點的位置,是由目前CurrentX及CurrentY 為原點,再加上後面(X,Y)參數的位移(x,y)必要參數要畫出點的水平(x軸)與垂直(y軸)座標Color選擇性

9、參數畫出點的顏色;如果不指定這個值,則使用 ForeColor 的屬性值,畫點(2),PSet方法所畫點的大小由DrawWidth屬性欄的值來決定DrawWidth為 1時,使用PSet方法會畫出單點DrawWidth值越大,畫出來的點越粗每次以PSet(x,y)畫出一點後,CurrentX及CurrentY的值就會被重新設定為x及y,PSet實作(1),範例(EX9-3)利用表單的MouseMove事件程序來製作一個繪圖程式說明程式開始執行時,螢幕上會出現一個完全空白的表單按住滑鼠左鍵不放、在空白的表單上移動時,滑鼠所經過的區域會畫上藍色的點;按住滑鼠右鍵則會畫上紅色的點;按住滑鼠中鍵,則會

10、以背景色畫點,製造類似橡皮擦的效果,PSet實作(2),這是以畫點為基礎的繪圖程式滑鼠經過表單引發MouseMove事件程序將傳入的滑鼠X、Y座標,以PSet在表單上畫點在MouseMove事件程序中針對Button參數,以vbLeftButton、vbRightButton、vbMiddleButton等常數與Select Case配合,創造出畫藍色點、畫紅色點、橡皮擦等效果以常數vbBlue、vbRed等來代表顏色值,提高程式的可讀性,PSet實作(3),步驟根據下表修改表單屬性在表單的MouseMove事件程序中填入下列程式碼,01.Private Sub Form_MouseMove(

11、Button As Integer,Shift As Integer,_X As Single,Y As Single)02.Select Case Button03.Case Is=vbLeftButton04.PSet(X,Y),vbBlue05.Case Is=vbRightButton06.PSet(X,Y),vbRed07.Case Is=vbMiddleButton08.PSet(X,Y),BackColor09.End Select10.End Sub,Line方法(畫線)(1),物件.Line Step(x1,y1)Step-(x2,y2),colorStep:選擇性參數表示使

12、用相對座標。畫線的起使位置(x1,y1),是由目前CurrentX及CurrentY 為原點的相對座標(x1,y1):選擇性參數畫線的起始點的座標。預設為CurrentX及CurrentYStep:選擇性參數表示使用相對座標。畫線的終點位置(x2,y2),是相對於線的起始點的相對位移(x2,y2):必要參數標明所畫線段的終點座標Color:選擇性參數指定所畫線段顏色;如果不設定,則表示以物件的ForeColor(前景色)來畫線,Line方法(畫線)(2),由(CurrentX,CurrentY)到(x2,Y2)的直線Line(x2,y2)由(x1,y1)到(x2,y2)的線段Line(x1,y

13、1)-(x2,y2)由(x1,y1)至(x2,y2)的黃色線段Line(x1,y1)-(x2,y2),vbYellow每次執行完Line方法後,CurrentX及CurrentY的值就會被重新設定為(x2,y2)線段的粗細是由物件的DrawWidth來控制在DrawWidth=1的情形下,線條樣式由DrawStyle控制五種線條樣式,分別由DrawStyle=04代表,Line方法(畫線)(3),DrawStyle(線條樣式)範例在空白表單的Form_Activate事件程序中填入下列程式碼注意DrawStyle必須在DrawWidth=1的狀態下才會有作用,Private Sub Form_

14、Activate()Dim i As IntegerFor i=0 To 4 DrawStyle=i Line(100,(i+1)*500)-(2500,(i+1)*500),vbBlackNextEnd Sub,DrawStyle=0,DrawStyle=1,DrawStyle=2,DrawStyle=3,DrawStyle=4,畫線實作(1),範例(EX9-4)範例EX9-3有個缺點,就是當我們移動滑鼠過快,那麼線條便會產生不連續的狀況我們可以利用Line方法來加以改良,讓點與點之間以線條來聯繫,如此即可形成不間斷的連續線,畫線實作(2),說明用Line方法代替PSet方法,讓點與點之間以

15、線條連接按下滑鼠按鈕表示開始畫圖,因此在MouseDown中將座標設定給CurrentX及CurrentY作為畫線的起點表單物件上已經有CurrentX、CurrentY兩個屬性欄紀錄Line方法的起點位置,因此在MouseMove中偵測按下的滑鼠按鈕,然後以Line方法加上(X2,Y2)座標即可畫出連續線,畫線實作(3),步驟根據下表修改表單屬性在MouseDown及MouseMove事件程序中填入程式碼,01.Private Sub Form_MouseDown(Button As Integer,Shift As Integer,X As Single,Y As Single)02.Cu

16、rrentX=X03.CurrentY=Y04.End Sub05.Private Sub Form_MouseMove(Button As Integer,Shift As Integer,X As Single,Y As Single)06.Select Case Button07.Case Is=vbLeftButton08.Line-(X,Y),vbBlue09.Case Is=vbRightButton10.Line-(X,Y),vbRed11.Case Is=vbMiddleButton12.Line-(X,Y),BackColor13.End Select14.End Sub,L

17、ine方法(畫矩形),物件.Line Step(x1,y1)Step-(x2,y2),color,B物件.Line Step(x1,y1)Step-(x2,y2),color,BFStep:選擇性參數採用相對座標,以CurrentX及CurrentY為原點座標(x1,y1):選擇性參數矩形的起始點。省略的話,由CurrentX及CurrentY來代替Step:選擇性參數(x2,y2)採用起始點(X1,Y1)為原點的相對座標(x2,y2):必要參數(x2,y2)相當於右下角座標Color:選擇性參數矩形外框的 RGB 色彩。如省略,則為物件的ForeColorB:繪製矩形的必要參數(B或BF任選

18、其一)矩形內部受物件的 FillColor 及 FillStyle兩個屬性影響。FillStyle 的預設值1(透明),在不更動FillStyle預設值的情形下,只加B參數所繪製出來的矩形將只有外框BF:表示要以Color參數(外框顏色)來填充矩形內部,畫矩形實作(1),範例(EX9-5)用”繪製矩形”方式來表現所有的QBColor顏色說明以For迴圈及Line方法來產生16個矩形;同時以For的計次變數做為QBColor()的參數,產生16種顏色的RGB值將繪製矩形的動作放在Form_Paint事件程序中,因此表單無論如何放大或縮小,都能維持填滿十六種顏色矩形的狀態,畫矩形實作(2),步驟根

19、據下表修改表單屬性在表單的Paint及Resize事件程序中填入下列程式碼,01.Private Sub Form_Paint()02.Dim i As Integer,sWidth As Integer03.sWidth=ScaleWidth 1604.For i=0 To 1505.Line(i*sWidth,0)-Step(sWidth,ScaleHeight),QBColor(i),BF06.Next07.End Sub08.Private Sub Form_Resize()09.Refresh10.End Sub,畫圓(1),物件.Circle(x,y),radius,color(x

20、,y)必要參數,代表圓心座標radius必要參數,代表半徑color選擇性參數,圓外框顏色。如果不加這個參數,則以物件的ForeColor屬性欄中的設定值為準預設的繪圖單位是以Twip為單位例如在空白的表單上畫一個圓心(1000,1000),半徑500的紅色圓:,Private Sub Form_Activate()Circle(1000,1000),500,vbRedEnd Sub,畫圓(2),用Circle方法畫出來的圖形,如果要填滿這個封閉區間,要靠物件上的FillStyle及FillColor的設定例如在紅色圓中填入黑色(預設的FillColor為黑色)交叉線,Private Sub

21、Form_Activate()FillStyle=vbCross Circle(1000,1000),500,vbRedEnd Sub,畫扇形(1),物件.Circle(x,y),radius,color,begin,endbegin選擇性參數代表扇形的啟始角度,以弳度量為其單位如果省略這個參數,則代表從0度的地方開始畫起end選擇性參數代表扇形的終止角度,以弳度量為其單位如果省略這個參數,代表一直畫到360度(2)的地方參數begin及end為正值時,所畫出來的會只是一段圓弧(非封閉區間)負值時,circle所畫出來的才會是扇形角度量換算為弳度量的公式弳度量=角度180 的近似值3.1415

22、926,畫扇形(2),例如:用Circle方法畫出一個45度至315度的圓弧及扇形,Private Sub Form_Activate()Const PI=3.1415926Dim BeginAngle As Single,EndAngle As Single BeginAngle=35*PI/180 EndAngle=315*PI/180 Circle(1000,1000),500,vbBlack,BeginAngle,EndAngle Circle(2000,1000),500,vbBlack,-BeginAngle,-EndAngleEnd Sub,畫橢圓(1),物件.Circle(x,

23、y),radius,color,begin,end,aspectAspect選擇性參數代表圓的縱橫比。預設值為 1.0,表示產生一正圓繪製橢圓時,所謂的半徑(radius)指的是由中心點算起至圓周最長的距離縱橫比大於1時,橢圓會是直立的小於1時,橢圓會是橫放的,縱向長度,橫向長度,畫橢圓(2),例如:產生一個直立及橫放的橢圓,並且在內部分別填入藍色及黃色兩種顏色,Private Sub Form_Activate()FillStyle=0 FillColor=vbBlue Circle(1000,1000),500,vbBlack,2 FillColor=vbYellow Circle(2000,1000),500,vbBlack,0.5End Sub,第九章-結束,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号