計算機(jī)程式課件_第1頁
計算機(jī)程式課件_第2頁
計算機(jī)程式課件_第3頁
計算機(jī)程式課件_第4頁
計算機(jī)程式課件_第5頁
已閱讀5頁,還剩36頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

計算機(jī)程式DepartmentofComputerScienceandEngineeringDe-LinInstituteofTechnology第九章繪圖設(shè)定顏色所謂的繪圖,就是在背景色上以前景色畫點、畫線、或其他的幾何圖形在開始學(xué)繪圖之前,得先知到如何設(shè)定顏色QBColor函數(shù)範(fàn)例(1)範(fàn)例(EX9-1)這個範(fàn)例最主要的目的是列出所有QBColor函數(shù)所提供的顏色,並觀察每一顏色相對應(yīng)的RGB十六進(jìn)位值說明程式開始執(zhí)行,表單上會列出所有QBColor的顏色,以及其對應(yīng)的RGB值QBColor函數(shù)範(fàn)例(2)步驟這個程式不需要放置任何控制項依照下表修改表單的屬性欄在表單的Form_Activate事件程序中填入下列程式碼01.

PrivateSubForm_Activate()02.

Fori=0To1503.

PrintFormat(i,"00");04.

ForeColor=QBColor(i)05.

Print"█████████";06.

ForeColor=007.

PrintHex(QBColor(i))08.

Next09. EndSub

Form1NamefrmDigitalClockAutoRedrawTrueBorderStyle1CaptionQBColorForeColor0RGB函數(shù)可以產(chǎn)生任何色彩讓設(shè)計師可以更方便的利用紅、綠、藍(lán)三原色混和出顏色,不須熟悉位元運算RGB函數(shù)的格式 lVar=RGB(R,G,B)R、G、B分別代表R、G、B(紅、綠、藍(lán))的數(shù)值範(fàn)圍為0到255,0表示該顏色的成分最低,255表示成分最高例如產(chǎn)生純紅色RGB值

lVar=RGB(255,0,0)例如將表單被景色改呈藍(lán)色

BackColor=RGB(0,0,255)直接填入值(2)指定系統(tǒng)顏色用Long(長整數(shù))設(shè)定顏色長整數(shù)型別資料佔用4個位元組(Byte)RGB三原色分別佔用一個位元組最高位元組的最高位元:

為1時,代表其後3個位元組是系統(tǒng)顏色編號

為0時,其後3個位元組是RGB值系統(tǒng)顏色:Windows環(huán)境中所提供的顏色透過”控制臺/顯示器”中的”外觀”頁來設(shè)定這些顏色直接填入值(3)VisualBasic中預(yù)先定義的系統(tǒng)顏色常數(shù)常數(shù)值說明VbScrollBars&H80000000捲軸顏色VbDesktop&H80000001桌面顏色vbActiveTitleBar&H80000002使用中視窗標(biāo)題列顏色vbInactiveTitleBar&H80000003非使用中視窗標(biāo)題列顏色VbMenuBar&H80000004功能表背景顏色vbWindowBackground&H80000005視窗背景顏色vbWindowFrame&H80000006視窗框線顏色vbMenuText&H80000007功能表上文字的顏色vbWindowText&H80000008視窗內(nèi)文字的顏色vbTitleBarText&H80000009標(biāo)題、大小方塊和捲動箭號內(nèi)文字的顏色vbActiveBorder&H8000000A使用中視窗框線的顏色vbInactiveBorder&H8000000B非使用中視窗框線的顏色vbApplicationWorkspace&H8000000C多文件介面(MDI)應(yīng)用程式的背景顏色VbHighlight&H8000000D控制項內(nèi)選項的背景顏色vbHighlightText&H8000000E控制項內(nèi)選項的文字顏色vbButtonFace&H8000000F命令鈕正面的顏色vbButtonShadow&H80000010命令鈕邊緣的顏色vbGrayText&H80000011變灰的(失效的)文字vbButtonText&H80000012壓下的按鈕上面文字的顏色vbInactiveCaptionText&H80000013非使用中標(biāo)題內(nèi)文字的顏色vb3DHighlight&H80000014立體顯示元件的反白顏色vb3DDKShadow&H80000015立體顯示元件的陰影顏色vb3DLight&H80000016低於vb3Dhighlight的立體次亮顏色vb3DFace&H8000000F文字表面的顏色vb3DShadow&H80000010文字陰影的顏色vbInfoText&H80000017工具提示文字的顏色vbInfoBackground&H80000018工具提示背景的顏色通用對話方塊的種類Open(開啟舊檔)SaveAs(另存新檔)Color(色彩)Font(字型)Printer(列印)WinHelp(Windows線上說明)放置通用對話方塊控制項用Double-Click或拖放的方式通用對話方塊控制項執(zhí)行時不會出現(xiàn)在表單上通用對話方塊控制項必須等待程式呼叫其方法,然後產(chǎn)生出所需的對話方塊產(chǎn)生各種對話方塊兩種方法用CommonDialog的方法(Method)來啟動對話方塊修改CommonDialog的Action屬性值對話方塊第一種:使用Method第二種:修改屬性不顯示任何對話方塊

Action=0Open(開啟舊檔)Object.ShowOpenAction=1SaveAs(另存新檔)Object.ShowSaveAction=2Color(色彩)Object.ShowColorAction=3Font(字型)Object.ShowFontAction=4Printer(列印)Object.ShowPrinterAction=5WinHelp(線上說明)Object.ShowHelpAction=6CommonDialog1.ShowOpenCommonDialog1.Action=1呼叫色彩對話方塊CommonDialog1.ShowColor用滑鼠按下[定義自訂色彩(D)>>]按鈕色彩通用對話方塊實作(1)範(fàn)例(EX9-2)按下[選擇背景色(B)]按鈕之後,螢?zāi)簧蠒霈F(xiàn)一個色彩通用對話方塊選定顏色後後,按下通用對話方塊上的[確定]鈕,表單的背景顏色會變更為所選定的顏色如果按下[取消]按鈕,則表單的背景色維持不變說明執(zhí)行時,表單上只有一個命令鈕色彩通用對話方塊實作(2)按下[選擇背景色(B)]按鈕,螢?zāi)簧暇蜁霈F(xiàn)一個色彩通用對話方塊色彩通用對話方塊實作(3)選擇顏色後,按下[確定],表單的背景顏色就會變成剛剛所選擇的顏色步驟引用一個通用對話方塊控制項,然後在表單上放置一個通用對話方塊物件在表單上放置一個命令鈕畫點(1)將物件上一點設(shè)定為所指定的色彩常見的物件有Form、Printer、及PictureBoxPSet方法 物件.PSet[Step](x,y),[color]Step選擇性參數(shù)畫點的位置,是由目前CurrentX及CurrentY為原點,再加上後面(X,Y)參數(shù)的位移(x,y)必要參數(shù)要畫出點的水平(x軸)與垂直(y軸)座標(biāo)Color選擇性參數(shù)畫出點的顏色;如果不指定這個值,則使用

ForeColor

的屬性值畫點(2)PSet方法所畫點的大小由DrawWidth屬性欄的值來決定DrawWidth為1時,使用PSet方法會畫出單點DrawWidth值越大,畫出來的點越粗每次以PSet(x,y)畫出一點後,CurrentX及CurrentY的值就會被重新設(shè)定為x及yPSet實作(1)範(fàn)例(EX9-3)利用表單的MouseMove事件程序來製作一個繪圖程式說明程式開始執(zhí)行時,螢?zāi)簧蠒霈F(xiàn)一個完全空白的表單按住滑鼠左鍵不放、在空白的表單上移動時,滑鼠所經(jīng)過的區(qū)域會畫上藍(lán)色的點;按住滑鼠右鍵則會畫上紅色的點;按住滑鼠中鍵,則會以背景色畫點,製造類似橡皮擦的效果PSet實作(3)步驟根據(jù)下表修改表單屬性在表單的MouseMove事件程序中填入下列程式碼

Form1NamefrmDrawAutoRedrawTrueBackColor&H00FFFFFF&Caption描點繪圖DrawWidth401.

PrivateSubForm_MouseMove(Button

AsInteger,ShiftAsInteger,_

XAsSingle,YAsSingle)02. SelectCaseButton03.

CaseIs=vbLeftButton04.

PSet(X,Y),vbBlue05.

CaseIs=vbRightButton06.

PSet(X,Y),vbRed07.

CaseIs=vbMiddleButton08.

PSet(X,Y),BackColor09.

EndSelect10. EndSubLine方法(畫線)(1) 物件.Line[Step](x1,y1)[Step]-(x2,y2),[color]Step:選擇性參數(shù)表示使用相對座標(biāo)。畫線的起使位置(x1,y1),是由目前CurrentX及CurrentY為原點的相對座標(biāo)(x1,y1):選擇性參數(shù)畫線的起始點的座標(biāo)。預(yù)設(shè)為CurrentX及CurrentYStep:選擇性參數(shù)表示使用相對座標(biāo)。畫線的終點位置(x2,y2),是相對於線的起始點的相對位移(x2,y2):必要參數(shù)標(biāo)明所畫線段的終點座標(biāo)Color:選擇性參數(shù)指定所畫線段顏色;如果不設(shè)定,則表示以物件的ForeColor(前景色)來畫線畫線實作(1)範(fàn)例(EX9-4)範(fàn)例EX9-3有個缺點,就是當(dāng)我們移動滑鼠過快,那麼線條便會產(chǎn)生不連續(xù)的狀況我們可以利用Line方法來加以改良,讓點與點之間以線條來聯(lián)繫,如此即可形成不間斷的連續(xù)線畫線實作(2)說明用Line方法代替PSet方法,讓點與點之間以線條連接按下滑鼠按鈕表示開始畫圖,因此在MouseDown中將座標(biāo)設(shè)定給CurrentX及CurrentY作為畫線的起點表單物件上已經(jīng)有CurrentX、CurrentY兩個屬性欄紀(jì)錄Line方法的起點位置,因此在MouseMove中偵測按下的滑鼠按鈕,然後以Line方法加上(X2,Y2)座標(biāo)即可畫出連續(xù)線畫線實作(3)步驟根據(jù)下表修改表單屬性在MouseDown及MouseMove事件程序中填入程式碼

Form1NamefrmDrawLineAutoRedrawTrueBackColor&H00FFFFFF&Caption描點繪圖DrawWidth401.

PrivateSubForm_MouseDown(ButtonAsInteger,ShiftAsInteger,XAsSingle,YAsSingle)02. CurrentX=X03.

CurrentY=Y04. EndSub

05. PrivateSubForm_MouseMove(ButtonAsInteger,ShiftAsInteger,XAsSingle,YAsSingle)06.

SelectCaseButton07.

CaseIs=vbLeftButton08.

Line-(X,Y),vbBlue09.

CaseIs=vbRightButton10.

Line-(X,Y),vbRed11.

CaseIs=vbMiddleButton12. Line-(X,Y),BackColor13.

EndSelect14. EndSubLine方法(畫矩形)物件.Line[Step](x1,y1)[Step]-(x2,y2),[color],B物件.Line[Step](x1,y1)[Step]-(x2,y2),[color],BFStep:選擇性參數(shù)採用相對座標(biāo),以CurrentX及CurrentY為原點座標(biāo)(x1,y1):選擇性參數(shù)矩形的起始點。省略的話,由CurrentX及CurrentY來代替Step:選擇性參數(shù)(x2,y2)採用起始點(X1,Y1)為原點的相對座標(biāo)(x2,y2):必要參數(shù)(x2,y2)相當(dāng)於右下角座標(biāo)Color:選擇性參數(shù)矩形外框的RGB色彩。如省略,則為物件的ForeColorB:繪製矩形的必要參數(shù)(B或BF任選其一)矩形內(nèi)部受物件的FillColor及FillStyle兩個屬性影響。FillStyle的預(yù)設(shè)值1(透明),在不更動FillStyle預(yù)設(shè)值的情形下,只加B參數(shù)所繪製出來的矩形將只有外框BF:表示要以Color參數(shù)(外框顏色)來填充矩形內(nèi)部畫矩形實作(1)範(fàn)例(EX9-5)用”繪製矩形”方式來表現(xiàn)所有的QBColor顏色說明以For迴圈及Line方法來產(chǎn)生16個矩形;同時以For的計次變數(shù)做為QBColor()的參數(shù),產(chǎn)生16種顏色的RGB值將繪製矩形的動作放在Form_Paint事件程序中,因此表單無論如何放大或縮小,都能維持填滿十六種顏色矩形的狀態(tài)畫矩形實作(2)步驟根據(jù)下表修改表單屬性在表單的Paint及Resize事件程序中填入下列程式碼

Form1NamefrmRectangleCaption繪製矩形01.

PrivateSubForm_Paint()02. DimiAsInteger,sWidthAsInteger03.

sWidth=ScaleWidth\1604.

Fori=0To1505.

Line(i*sWidth,0)-Step(sWidth,ScaleHeight),QBColor(i),BF06.

Next07. EndSub

08. PrivateSubForm_Resize()09.

Refresh10. EndSub畫圓(1) 物件.Circle(x,y),radius,color(x,y)

必要參數(shù),代表圓心座標(biāo)radius

必要參數(shù),代表半徑color

選擇性參數(shù),圓外框顏色。如果不加這個參 數(shù),則以物件的ForeColor屬性欄中的設(shè)定值 為準(zhǔn)預(yù)設(shè)的繪圖單位是以Twip為單位例如在空白的表單上畫一個圓心(1000,1000),半徑500的紅色圓:PrivateSubForm_Activate()

Circle(1000,1000),500,vbRedEndSub畫圓(2)用Circle方法畫出來的圖形,如果要填滿這個封閉區(qū)間,要靠物件上的FillStyle及FillColor的設(shè)定例如在紅色圓中填入黑色(預(yù)設(shè)的FillColor為黑色)交叉線常數(shù)設(shè)定值描述VbFSSolid0實心VbFSTransparent1(預(yù)設(shè))透明VbHorizontalLine2水平線VbVerticalLine3垂直線VbUpwardDiagonal4左上到右下的斜線VbDownwardDiagonal5右下到右上的斜線VbCross6垂直交叉線VbDiagonalCross7對角交叉線PrivateSubForm_Activate()

FillStyle=vbCrossCircle(1000,1000),500,vbRedEndSub畫扇形(1) 物件.Circle(x,y),radius,color,begin,endbegin

選擇性參數(shù)代表扇形的啟始角度,以弳度量為其單位如果省略這個參數(shù),則代表從0度的地方開始畫起end

選擇性參數(shù)代表扇形的終止角度,以弳度量為其單位如果省略這個參數(shù),代表一直畫到360度(2π)的地方參數(shù)begin及end為正值時,所畫出來的會只是一段

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論