版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
計(jì)算機(jī)程式DepartmentofComputerScienceandEngineeringDe-LinInstituteofTechnology第九章繪圖設(shè)定顏色所謂的繪圖,就是在背景色上以前景色畫(huà)點(diǎn)、畫(huà)線、或其他的幾何圖形在開(kāi)始學(xué)繪圖之前,得先知到如何設(shè)定顏色QBColor函數(shù)範(fàn)例(1)範(fàn)例(EX9-1)這個(gè)範(fàn)例最主要的目的是列出所有QBColor函數(shù)所提供的顏色,並觀察每一顏色相對(duì)應(yīng)的RGB十六進(jìn)位值說(shuō)明程式開(kāi)始執(zhí)行,表單上會(huì)列出所有QBColor的顏色,以及其對(duì)應(yīng)的RGB值QBColor函數(shù)範(fàn)例(2)步驟這個(gè)程式不需要放置任何控制項(xiàng)依照下表修改表單的屬性欄在表單的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è)計(jì)師可以更方便的利用紅、綠、藍(lán)三原色混和出顏色,不須熟悉位元運(yù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(長(zhǎng)整數(shù))設(shè)定顏色長(zhǎng)整數(shù)型別資料佔(zhàn)用4個(gè)位元組(Byte)RGB三原色分別佔(zhàn)用一個(gè)位元組最高位元組的最高位元:
為1時(shí),代表其後3個(gè)位元組是系統(tǒng)顏色編號(hào)
為0時(shí),其後3個(gè)位元組是RGB值系統(tǒng)顏色:Windows環(huán)境中所提供的顏色透過(guò)”控制臺(tái)/顯示器”中的”外觀”頁(yè)來(lái)設(shè)定這些顏色直接填入值(3)VisualBasic中預(yù)先定義的系統(tǒng)顏色常數(shù)常數(shù)值說(shuō)明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)題、大小方塊和捲動(dòng)箭號(hào)內(nèi)文字的顏色vbActiveBorder&H8000000A使用中視窗框線的顏色vbInactiveBorder&H8000000B非使用中視窗框線的顏色vbApplicationWorkspace&H8000000C多文件介面(MDI)應(yīng)用程式的背景顏色VbHighlight&H8000000D控制項(xiàng)內(nèi)選項(xiàng)的背景顏色vbHighlightText&H8000000E控制項(xiàng)內(nèi)選項(xiàng)的文字顏色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工具提示背景的顏色通用對(duì)話方塊的種類(lèi)Open(開(kāi)啟舊檔)SaveAs(另存新檔)Color(色彩)Font(字型)Printer(列印)WinHelp(Windows線上說(shuō)明)放置通用對(duì)話方塊控制項(xiàng)用Double-Click或拖放的方式通用對(duì)話方塊控制項(xiàng)執(zhí)行時(shí)不會(huì)出現(xiàn)在表單上通用對(duì)話方塊控制項(xiàng)必須等待程式呼叫其方法,然後產(chǎn)生出所需的對(duì)話方塊產(chǎn)生各種對(duì)話方塊兩種方法用CommonDialog的方法(Method)來(lái)啟動(dòng)對(duì)話方塊修改CommonDialog的Action屬性值對(duì)話方塊第一種:使用Method第二種:修改屬性不顯示任何對(duì)話方塊
Action=0Open(開(kāi)啟舊檔)Object.ShowOpenAction=1SaveAs(另存新檔)Object.ShowSaveAction=2Color(色彩)Object.ShowColorAction=3Font(字型)Object.ShowFontAction=4Printer(列印)Object.ShowPrinterAction=5WinHelp(線上說(shuō)明)Object.ShowHelpAction=6CommonDialog1.ShowOpenCommonDialog1.Action=1呼叫色彩對(duì)話方塊CommonDialog1.ShowColor用滑鼠按下[定義自訂色彩(D)>>]按鈕色彩通用對(duì)話方塊實(shí)作(1)範(fàn)例(EX9-2)按下[選擇背景色(B)]按鈕之後,螢?zāi)簧蠒?huì)出現(xiàn)一個(gè)色彩通用對(duì)話方塊選定顏色後後,按下通用對(duì)話方塊上的[確定]鈕,表單的背景顏色會(huì)變更為所選定的顏色如果按下[取消]按鈕,則表單的背景色維持不變說(shuō)明執(zhí)行時(shí),表單上只有一個(gè)命令鈕色彩通用對(duì)話方塊實(shí)作(2)按下[選擇背景色(B)]按鈕,螢?zāi)簧暇蜁?huì)出現(xiàn)一個(gè)色彩通用對(duì)話方塊色彩通用對(duì)話方塊實(shí)作(3)選擇顏色後,按下[確定],表單的背景顏色就會(huì)變成剛剛所選擇的顏色步驟引用一個(gè)通用對(duì)話方塊控制項(xiàng),然後在表單上放置一個(gè)通用對(duì)話方塊物件在表單上放置一個(gè)命令鈕畫(huà)點(diǎn)(1)將物件上一點(diǎn)設(shè)定為所指定的色彩常見(jiàn)的物件有Form、Printer、及PictureBoxPSet方法 物件.PSet[Step](x,y),[color]Step選擇性參數(shù)畫(huà)點(diǎn)的位置,是由目前CurrentX及CurrentY為原點(diǎn),再加上後面(X,Y)參數(shù)的位移(x,y)必要參數(shù)要畫(huà)出點(diǎn)的水平(x軸)與垂直(y軸)座標(biāo)Color選擇性參數(shù)畫(huà)出點(diǎn)的顏色;如果不指定這個(gè)值,則使用
ForeColor
的屬性值畫(huà)點(diǎn)(2)PSet方法所畫(huà)點(diǎn)的大小由DrawWidth屬性欄的值來(lái)決定DrawWidth為1時(shí),使用PSet方法會(huì)畫(huà)出單點(diǎn)DrawWidth值越大,畫(huà)出來(lái)的點(diǎn)越粗每次以PSet(x,y)畫(huà)出一點(diǎn)後,CurrentX及CurrentY的值就會(huì)被重新設(shè)定為x及yPSet實(shí)作(1)範(fàn)例(EX9-3)利用表單的MouseMove事件程序來(lái)製作一個(gè)繪圖程式說(shuō)明程式開(kāi)始執(zhí)行時(shí),螢?zāi)簧蠒?huì)出現(xiàn)一個(gè)完全空白的表單按住滑鼠左鍵不放、在空白的表單上移動(dòng)時(shí),滑鼠所經(jīng)過(guò)的區(qū)域會(huì)畫(huà)上藍(lán)色的點(diǎn);按住滑鼠右鍵則會(huì)畫(huà)上紅色的點(diǎn);按住滑鼠中鍵,則會(huì)以背景色畫(huà)點(diǎn),製造類(lèi)似橡皮擦的效果PSet實(shí)作(3)步驟根據(jù)下表修改表單屬性在表單的MouseMove事件程序中填入下列程式碼
Form1NamefrmDrawAutoRedrawTrueBackColor&H00FFFFFF&Caption描點(diǎn)繪圖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方法(畫(huà)線)(1) 物件.Line[Step](x1,y1)[Step]-(x2,y2),[color]Step:選擇性參數(shù)表示使用相對(duì)座標(biāo)。畫(huà)線的起使位置(x1,y1),是由目前CurrentX及CurrentY為原點(diǎn)的相對(duì)座標(biāo)(x1,y1):選擇性參數(shù)畫(huà)線的起始點(diǎn)的座標(biāo)。預(yù)設(shè)為CurrentX及CurrentYStep:選擇性參數(shù)表示使用相對(duì)座標(biāo)。畫(huà)線的終點(diǎn)位置(x2,y2),是相對(duì)於線的起始點(diǎn)的相對(duì)位移(x2,y2):必要參數(shù)標(biāo)明所畫(huà)線段的終點(diǎn)座標(biāo)Color:選擇性參數(shù)指定所畫(huà)線段顏色;如果不設(shè)定,則表示以物件的ForeColor(前景色)來(lái)畫(huà)線畫(huà)線實(shí)作(1)範(fàn)例(EX9-4)範(fàn)例EX9-3有個(gè)缺點(diǎn),就是當(dāng)我們移動(dòng)滑鼠過(guò)快,那麼線條便會(huì)產(chǎn)生不連續(xù)的狀況我們可以利用Line方法來(lái)加以改良,讓點(diǎn)與點(diǎn)之間以線條來(lái)聯(lián)繫,如此即可形成不間斷的連續(xù)線畫(huà)線實(shí)作(2)說(shuō)明用Line方法代替PSet方法,讓點(diǎn)與點(diǎn)之間以線條連接按下滑鼠按鈕表示開(kāi)始畫(huà)圖,因此在MouseDown中將座標(biāo)設(shè)定給CurrentX及CurrentY作為畫(huà)線的起點(diǎn)表單物件上已經(jīng)有CurrentX、CurrentY兩個(gè)屬性欄紀(jì)錄Line方法的起點(diǎn)位置,因此在MouseMove中偵測(cè)按下的滑鼠按鈕,然後以Line方法加上(X2,Y2)座標(biāo)即可畫(huà)出連續(xù)線畫(huà)線實(shí)作(3)步驟根據(jù)下表修改表單屬性在MouseDown及MouseMove事件程序中填入程式碼
Form1NamefrmDrawLineAutoRedrawTrueBackColor&H00FFFFFF&Caption描點(diǎn)繪圖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方法(畫(huà)矩形)物件.Line[Step](x1,y1)[Step]-(x2,y2),[color],B物件.Line[Step](x1,y1)[Step]-(x2,y2),[color],BFStep:選擇性參數(shù)採(cǎi)用相對(duì)座標(biāo),以CurrentX及CurrentY為原點(diǎn)座標(biāo)(x1,y1):選擇性參數(shù)矩形的起始點(diǎn)。省略的話,由CurrentX及CurrentY來(lái)代替Step:選擇性參數(shù)(x2,y2)採(cǎi)用起始點(diǎn)(X1,Y1)為原點(diǎn)的相對(duì)座標(biāo)(x2,y2):必要參數(shù)(x2,y2)相當(dāng)於右下角座標(biāo)Color:選擇性參數(shù)矩形外框的RGB色彩。如省略,則為物件的ForeColorB:繪製矩形的必要參數(shù)(B或BF任選其一)矩形內(nèi)部受物件的FillColor及FillStyle兩個(gè)屬性影響。FillStyle的預(yù)設(shè)值1(透明),在不更動(dòng)FillStyle預(yù)設(shè)值的情形下,只加B參數(shù)所繪製出來(lái)的矩形將只有外框BF:表示要以Color參數(shù)(外框顏色)來(lái)填充矩形內(nèi)部畫(huà)矩形實(shí)作(1)範(fàn)例(EX9-5)用”繪製矩形”方式來(lái)表現(xiàn)所有的QBColor顏色說(shuō)明以For迴圈及Line方法來(lái)產(chǎn)生16個(gè)矩形;同時(shí)以For的計(jì)次變數(shù)做為QBColor()的參數(shù),產(chǎn)生16種顏色的RGB值將繪製矩形的動(dòng)作放在Form_Paint事件程序中,因此表單無(wú)論如何放大或縮小,都能維持填滿十六種顏色矩形的狀態(tài)畫(huà)矩形實(shí)作(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畫(huà)圓(1) 物件.Circle(x,y),radius,color(x,y)
必要參數(shù),代表圓心座標(biāo)radius
必要參數(shù),代表半徑color
選擇性參數(shù),圓外框顏色。如果不加這個(gè)參 數(shù),則以物件的ForeColor屬性欄中的設(shè)定值 為準(zhǔn)預(yù)設(shè)的繪圖單位是以Twip為單位例如在空白的表單上畫(huà)一個(gè)圓心(1000,1000),半徑500的紅色圓:PrivateSubForm_Activate()
Circle(1000,1000),500,vbRedEndSub畫(huà)圓(2)用Circle方法畫(huà)出來(lái)的圖形,如果要填滿這個(gè)封閉區(qū)間,要靠物件上的FillStyle及FillColor的設(shè)定例如在紅色圓中填入黑色(預(yù)設(shè)的FillColor為黑色)交叉線常數(shù)設(shè)定值描述VbFSSolid0實(shí)心VbFSTransparent1(預(yù)設(shè))透明VbHorizontalLine2水平線VbVerticalLine3垂直線VbUpwardDiagonal4左上到右下的斜線VbDownwardDiagonal5右下到右上的斜線VbCross6垂直交叉線VbDiagonalCross7對(duì)角交叉線PrivateSubForm_Activate()
FillStyle=vbCrossCircle(1000,1000),500,vbRedEndSub畫(huà)扇形(1) 物件.Circle(x,y),radius,color,begin,endbegin
選擇性參數(shù)代表扇形的啟始角度,以弳度量為其單位如果省略這個(gè)參數(shù),則代表從0度的地方開(kāi)始畫(huà)起end
選擇性參數(shù)代表扇形的終止角度,以弳度量為其單位如果省略這個(gè)參數(shù),代表一直畫(huà)到360度(2π)的地方參數(shù)begin及end為正值時(shí),所畫(huà)出來(lái)的會(huì)只是一段
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024硬件設(shè)備代理與售后服務(wù)合作協(xié)議2篇
- 2025年度GPS技術(shù)在應(yīng)急救援領(lǐng)域的應(yīng)用合作協(xié)議3篇
- 二零二四年商務(wù)考察接送服務(wù)合同模板3篇
- 2024食用菌品牌授權(quán)與營(yíng)銷(xiāo)推廣合同3篇
- 2025年校園安保服務(wù)合同含校園安全設(shè)施建設(shè)及維護(hù)協(xié)議3篇
- 2025年消防應(yīng)急照明及疏散指示系統(tǒng)采購(gòu)合同范本2篇
- 二零二五年度海鮮餐廳特許經(jīng)營(yíng)許可合同3篇
- 二零二五版煤礦掘進(jìn)設(shè)備出租及維護(hù)保養(yǎng)服務(wù)合同3篇
- 二零二五版廠房租賃合同終止及費(fèi)用結(jié)算及保險(xiǎn)服務(wù)協(xié)議3篇
- 二零二五年建筑施工人員雇傭合同3篇
- 直播帶貨助農(nóng)現(xiàn)狀及發(fā)展對(duì)策研究-以抖音直播為例(開(kāi)題)
- 腰椎間盤(pán)突出疑難病例討論
- 《光伏發(fā)電工程工程量清單計(jì)價(jià)規(guī)范》
- 2023-2024學(xué)年度人教版四年級(jí)語(yǔ)文上冊(cè)寒假作業(yè)
- (完整版)保證藥品信息來(lái)源合法、真實(shí)、安全的管理措施、情況說(shuō)明及相關(guān)證明
- 營(yíng)銷(xiāo)專(zhuān)員績(jī)效考核指標(biāo)
- 陜西麟游風(fēng)電吊裝方案專(zhuān)家論證版
- 供應(yīng)商審核培訓(xùn)教程
- 【盒馬鮮生生鮮類(lèi)產(chǎn)品配送服務(wù)問(wèn)題及優(yōu)化建議分析10000字(論文)】
- 肝硬化心衰患者的護(hù)理查房課件
- 2023年四川省樂(lè)山市中考數(shù)學(xué)試卷
評(píng)論
0/150
提交評(píng)論