




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
第十一講圖形與圖像胡小江e-mail:jtclass@163.com課程內容安排坐標系統圖形屬性圖形控件圖形方法綜合練習思考和習題坐標系統在VisualBasic6.0中繪制圖形是在VisualBasic6.0定義的對象坐標下完成的。VisualBasic6.0的對象坐標系統與直角坐標系類似。不同的是,系統默認的坐標系是以對象左上角為坐標原點(0,0),以Twips(緹)為量度單位,如圖11.2所示。對象坐標的X軸沿水平方向向右,而Y軸方向沿垂直方向向下。坐標的量度由對象的ScaleMode屬性決定,默認單位為Twips,還可以根據需要使用磅、像素及厘米等單位。對窗體來說,屏幕的左上角是坐標原點。窗體的Height屬性值是指包括標題欄和水平邊框的寬度;窗體的Width屬性值包括了垂直邊框的寬度。而ScaleHeight屬性和ScaleWidth屬性決定了窗體內部可用尺寸,也就是通常所講的客戶區。
圖形屬性上一節介紹了圖形的基本知識。在了解這些基本知識的基礎上,本節主要介紹繪制圖形時需要掌握的一些圖形的基本屬性。VisualBasic6.0中的圖形繪制都是以這些基本屬性為基礎的,希望讀者能夠熟練掌握本節內容。CurrentX屬性和CurrentY屬性CurrentX屬性和CurrentY屬性分別返回或設置下一次打印或繪圖的水平或垂直坐標,這兩個屬性在設計時不可用。可以通過CurrentX屬性和CurrentY屬性來獲取當前坐標,或者是設置要繪制圖形的下一個坐標位置。坐標從對象的左上角開始測量,在對象的左邊的CurrentX屬性值為0,上邊的CurrentY屬性值為0。坐標以緹為單位表示。語法如下所示。object.CurrentX[=x]object.CurrentY[=y]根據CurrentX和CurrentY屬性的值,在窗體上輸出“CurrentX屬性和CurrentY屬性”字樣。代碼如下所示。示例代碼11-101 OptionExplicit02 'CurrentX屬性和CurrentY屬性03 PrivateSubForm_Load()04 frmMain.Font.Size=20 '設置窗體字號05 frmMain.CurrentX=800 '設置窗體CurrentX值06 frmMain.CurrentY=800 '設置窗體CurrentY值07 Print"CurrentX屬性和CurrentY屬性" '顯示內容08 EndSubBackColor屬性和ForeColor屬性BackColor屬性用于返回或設置對象的背景顏色;ForeColor屬性用于返回或設置對象中顯示圖形或文本的前景顏色。語法如下所示。object.BackColor[=color]object.ForeColor[=color]用窗體的BackColor屬性和ForeColor屬性隨機改變窗體及窗體上文本的顏色。代碼如下所示。示例代碼11-201 OptionExplicit02 DimrndColor(1To3)AsInteger '定義顏色數組03 PrivateSubTimer1_Timer() Timer事件04 DimiAsInteger '定義循環變量05 Fori=1To3 '用For循環初始化06 Randomize07 rndColor(i)=255*Rnd '隨機生成顏色08 Nexti09 10 frmMain.ForeColor=RGB(rndColor(2),rndColor(1),rndColor(3)) '設置前景演示11 frmMain.CurrentX=500 '在指定位置輸出文本12 frmMain.CurrentY=50013 frmMain.Font.Size=20 '設置窗體文本字體大小14 Print"背景顏色和前景顏色演示" '打印標題15 frmMain.BackColor=RGB(rndColor(1),rndColor(2),rndColor(3)) '設置背景顏色16 EndSubDrawWidth屬性、DrawStyle屬性和DrawMode屬性DrawWidth屬性用于返回或設置圖形輸出的線寬。隨著該屬性值的增加,對象上輸出的圖形線寬也會相應增加。語法如下所示。object.DrawWidth[=size]用不同的DrawWidth屬性值畫出直線。代碼如下所示。示例代碼11-301 OptionExplicit02 'DrawWidth屬性03 PrivateSubForm_Load()04 DimiAsInteger '定義循環變量05 DrawWidth=1 '初始化線寬為106 07 Fori=1To20Step2 '每隔2個線寬單位08 DrawWidth=i '設置線寬09 frmMain.Line(0,i*200)-(5000,i*200) '繪制不同線寬的直線10 Nexti11 EndSubFillColor屬性和FillStyle屬性FillColor屬性返回或設置用于填充形狀的顏色。例如,可以用該屬性來填充由Circle和Line圖形函數生成的圓和方框。語法如下所示。object.FillColor[=value]FillStyle屬性用于FillStyle屬性用于返回設置由Shape控件、Circle方法和Line方法生成的圓和方框的模式。以及由Circle和Line圖形方法生成的圓和方框的模式。例如,在繪制機械零件的剖面圖時,需要為不同剖面填充不同的圖形以表示區別。語法如下所示。object.FillStyle[=number]在窗體上單擊鼠標,并以鼠標單擊位置為圓心畫出半徑為500單位的圓。用FillColor和FillStyle屬性來設置填充顏色和填充樣式。代碼如下所示。示例代碼11-601 OptionExplicit02 'FillColor和FillStyle屬性使用演示03 PrivateSubForm_Load()04 DimiAsInteger '定義填充樣式變量05 06 FillColor=RGB(10,99,124) '設置填充顏色07 Fori=0To708 FillStyle=i '設置填充樣式09 Circle(i*1200+600,500),500 '根據填充顏色和填充樣式畫圓10 Nexti11 EndSub圖形控件圖形控件用于完成基本圖形的繪制,讀者可以借助圖形控件提供的屬性和方法,方便地繪制出基本圖形。在VisualBasic6.0中提供了Shape控件與Line控件用于圖形的繪制。下面分別對這兩種控件予以介紹。Shape控件通過Shape控件在不用編寫代碼的情況下繪制出基本的圖形。例如,矩形、正方形、橢圓、圓角矩形或者是圓角正方形。該控件也可以設置圖形的顏色、填充樣式、邊框顏色和邊框樣式。Shape控件最主要的屬性為value屬性,讀者只需設置相應的屬性值,即可畫出所需的圖形樣式。Line控件Line控件用于在窗體或其他容器控件中畫出直線。Line控件雖然比較簡單,但在窗體或容器控件的AutoRedraw屬性設置為False時,Line控件繪制的直線也會保留在窗體或容器控件上。Line控件的主要屬性是X1、X2、Y1及Y2屬性,其他屬性可以參考11.2節的內容。其中的X1和Y1指的是起點的水平和垂直坐標,X2和Y2指的是終點的水平和垂直坐標。語法如下所示。object.X1[=value]object.Y1[=value]object.X2[=value]object.Y2[=value]利用Line控件的X1、X2、Y1及Y2屬性,在窗體上隨機畫出直線。在程序中加入一個Timer控件,設置Interval屬性為500。為Timer事件添加代碼,如下所示。示例代碼11-701 OptionExplicit02 'Line控件使用演示03 PrivateSubTimer1_Timer()04 WithLine1 '設置Line控件的屬性05 Randomize06 .BorderColor=QBColor(Int(Rnd*16)) '設置Line控件的顏色07 .X1=2000 '設置起點坐標08 .Y1=200009 .X2=3000*Rnd+500 '隨機生成終點坐標10 .Y2=3000*Rnd+50011 EndWith12 EndSub圖形方法PSet方法用于將對象上的點設置為指定的顏色。該方法其實是通過改變指定點的顏色來繪制點,當PSet方法的顏色設置與對象相同時,是沒有繪圖效果的。語法如下所示。object.PSet[Step](x,y)[color]Line方法用于在對象上畫直線或矩形。Line方法是VisualBasic6.0中畫線最常用的方法,通過該方法,讀者可以根據需要在運行時畫出圖形。語法如下所示。object.Line[Step](x1,y1)[Step](x2,y2),[color],[B][F]Circle方法可畫出圓形和橢圓形的各種形狀。此外,Circle方法還可以畫出圓弧和楔形餅塊。在設計需要繪制圖形來表示數據的程序中,該方法可以實現很多繪圖功能。靈活地使用Circle方法,可以畫出多種曲線。語法如下所示。object.Circle[Step](x,y),radius,[color],[start],[end],[aspect]Cls方法用于清除運行時Form或PictureBox控件中所生成的圖形和文本。該方法的使用比較
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 窗簾行業品牌形象塑造與傳播考核試卷
- 糧油企業生產流程標準化與質量控制考核試卷
- 木地板品牌國際化戰略與市場拓展考核試卷
- 彈射玩具產品創新設計思路與方法考核試卷
- 砼結構構件的預制件疲勞試驗考核試卷
- 紡織品的耐磨性與強度分析考核試卷
- 半導體照明器件的環境適應性測試標準考核試卷
- 線上線下融合的衛浴零售模式探索考核試卷
- 天津城建大學《形勢與政策(5)》2023-2024學年第二學期期末試卷
- 三門峽職業技術學院《基本樂理專業理論教學》2023-2024學年第二學期期末試卷
- 2025年裝維智企工程師(三級)復習模擬100題及答案
- 2024國家能源集團新疆哈密能源化工有限公司社會招聘110人筆試參考題庫附帶答案詳解
- 糖尿病飲食與護理
- 2025年天津市河東區中考一模歷史試題(原卷版+解析版)
- 停送電培訓課件
- 醫院培訓課件:《核心制度-護理值班和交接班制度》
- 解題秘籍05 圓的綜合問題(9種題型匯-總+專題訓練)(解析版)-2025年中考數學重難點突破
- 《基于STM32的智能水質檢測系統的設計》9400字(論文)
- 無線網絡施工方案
- 公路養護員工安全教育培訓
- 重慶大渡口區公安分局輔警招聘考試真題2024
評論
0/150
提交評論