版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第11章
圖形設(shè)計(jì)與多媒體技術(shù)VB.Net程序設(shè)計(jì)教程
本章學(xué)習(xí)目標(biāo):□掌握Windows應(yīng)用程序的創(chuàng)建□掌握VisualBasic.Net中繪制圖形的基本步驟□掌握VisualBasic.Net中繪制工具的創(chuàng)建方法如Pen、Brush等□掌握VisualBasic.Net中繪制文字的方法□了解VisualBasic.Net中多媒體控件的使用方法11.1GDI+概述11.1.1什么是GDI+GDI+(GraphicsDeviceInterface)即圖形設(shè)備接口,提供了強(qiáng)大的繪圖功能,是微軟公司為程序員提供的針對(duì)Windows平臺(tái)的新一代二維圖形系統(tǒng)。程序員可以通過(guò)GDI+提供的眾多函數(shù)繪制各種各樣的圖形和圖像。GDI+是對(duì)上一代GDI的擴(kuò)展,是一套特殊的應(yīng)用程序編程接口(API)。它所提供的類可用于創(chuàng)建二維矢量圖形、操縱字體以及插入圖像。GDI+在擴(kuò)展GDI的同時(shí),還簡(jiǎn)化了編程模型并添加了一些新特性,比如圖形路徑、擴(kuò)展的圖像文件支持以及alpha混合等等。
GDI+坐標(biāo)系
“坐標(biāo)系統(tǒng)”是指對(duì)屏幕上的每個(gè)點(diǎn)進(jìn)行標(biāo)識(shí)的一種方案,是圖形設(shè)計(jì)的基礎(chǔ)。在GDI+中,屏幕坐標(biāo)用于對(duì)窗體的定位,每個(gè)窗體有自己的坐標(biāo)系統(tǒng)。在用GDI+繪圖時(shí),針對(duì)窗體或窗體上的控件而設(shè)置的坐標(biāo),稱為對(duì)象坐標(biāo)系統(tǒng)。這種坐標(biāo)系統(tǒng)默認(rèn)坐標(biāo)原點(diǎn)為對(duì)象(窗體或控件)左上角坐標(biāo)(0,0),橫向?yàn)閤坐標(biāo)(水平坐標(biāo)),縱向?yàn)閥坐標(biāo)(垂直坐標(biāo)),如圖11-1所示。橫向向右為x軸正向,縱向向下為y軸正向。GDI+的圖形繪制在坐標(biāo)系統(tǒng)中完成,可以用來(lái)繪制直線、矩形和其他圖形,默認(rèn)坐標(biāo)系統(tǒng)的單位是“像素”。11.1GDI+概述(0,0)xy圖11-1坐標(biāo)系統(tǒng)繪圖的基本步驟1.創(chuàng)建Graphics對(duì)象創(chuàng)建Graphics對(duì)象的方法如下:(1)方法一:調(diào)用窗體或控件的CreatGraphics方法建立Graphics對(duì)象這種方法主要是在已存在的窗體或控件上繪圖,該Graphics對(duì)象表示控件或窗體的繪圖表面。PrivateSubForm1_Load(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesMyBase.LoadmyGraphics=Me.CreateGraphicsEndSub(2)方法二:在窗體或控件的Paint事件過(guò)程中建立Graphics對(duì)象在為控件創(chuàng)建繪制代碼時(shí),使用此方法來(lái)獲取對(duì)圖形對(duì)象的引用。PrivateSubForm1_Paint(ByValsenderAsObject,ByValeAsSystem.Windows.Forms.PaintEventArgs)HandlesMe.PaintmyGraphics=e.GraphicsEndSub11.1GDI+概述2.創(chuàng)建繪圖工具Graphics對(duì)象創(chuàng)建后,就要?jiǎng)?chuàng)建畫筆、畫刷、字體等繪圖工具繪制圖形。常用的繪圖工具有包括:(1)Pen:用于繪制線條、勾勒形狀輪廓或呈現(xiàn)其他幾何形式。(2)Brush:填充圖形域,如實(shí)心形狀、圖像或文本。(3)Font:定義特定的文本格式,包括字體、字號(hào)和字形屬性。在輸出文本之前,先指定文本的字體。3.使用Graphics類提供的方法繪圖(1)繪制空心圖形的方法:、DrawArc、DrawBenzier、DrawEllipse、Drawlmage、DrawLine、DrawPolygon和DrawRectangle(2)繪制填充圖形的方法:FillClosedCurve、FillEllipse、FillPath、FillPolygon、FillRectangle(3)繪制文字的方法:Drawstring4.釋放資源
在Graphics對(duì)象使用完畢后,可以通過(guò)Graphics對(duì)象的Disposes方法釋放使用CreatGraphics創(chuàng)建的Graphics對(duì)象。在調(diào)用Disposes方法后,Graphics對(duì)象將從內(nèi)存中刪除,不能再被使用。語(yǔ)法格式:畫布對(duì)象.Disposes11.1GDI+概述11.2.1繪圖工具1.畫筆(Pen)
畫筆Pen對(duì)象用于繪制直線和曲線對(duì)象,Pen對(duì)象具有顏色、寬度和線型屬性。(1)定義Pen對(duì)象
定義Pen對(duì)象的語(yǔ)法格式為:Dim畫筆對(duì)象AsPen
畫筆對(duì)象=NewPen(Color,Width) 或Dim畫筆名稱AsNewPen(Color,Width)(2)設(shè)置Pen對(duì)象的屬性
設(shè)置Pen對(duì)象的常用屬性的語(yǔ)法格式為:
畫筆對(duì)象.屬性=屬性值11.2繪制圖形2.畫刷Pen對(duì)象是用來(lái)繪制圖形的邊框和輪廓,而要填充圖形可以用畫刷Brush對(duì)象來(lái)定義。GDI+提供了幾種畫刷來(lái)填充內(nèi)部輪廓,幾種填充形式都是Brush類的派生類,如SolidBrush(實(shí)心畫刷)、HatchStryle(陰影畫刷)、LinearGradientBrush(顏色漸變畫刷)、TextureBrush(紋理畫刷)等。下面以實(shí)心畫刷和陰影畫刷為例介紹畫刷的使用方法。(1)SolidBrush實(shí)心畫刷SolidBrush實(shí)心畫刷指定填充區(qū)域的顏色,其創(chuàng)建方法:Dim畫刷對(duì)象AsNewSolidBrush(畫刷顏色)例如,定義一個(gè)顏色為藍(lán)色的實(shí)心畫刷。DimmyBrushAsNewSolidBrush(Color.Blue)(2)HatchStryle陰影畫刷HatchStryle陰影畫刷通過(guò)繪制一種樣式來(lái)填充區(qū)域,其創(chuàng)建方法:Dim畫刷對(duì)象AsNewDrawing2D.HatchBrush(類型,前景色,背景色)11.2繪制圖形11.2.2繪制圖形1.繪制直線
繪制直線可以使用Graphics類的DrawLine方法,其語(yǔ)法格式為:Graphics.DrawLine(Pen,起點(diǎn)坐標(biāo),終點(diǎn)坐標(biāo))【例11-1】使用藍(lán)色畫筆繪制直線,程序運(yùn)行結(jié)果如圖11-2所示。
圖11-2繪制直線11.2繪制圖形2.繪制矩形
可以使用Graphics類的DrawRectangle方法和FillRectangle方法繪制空心矩形和填充矩形。(1)空心矩形格式:Graphics.DrawRectangle(Pen,Rectangle)說(shuō)明:Rectangle存儲(chǔ)4個(gè)整數(shù),分別表示一個(gè)矩形的位置和大小,即由坐標(biāo)(x,y)和寬度width、高度height指定。(2)填充矩形格式:Graphics.FillRectangle(Brush,Rectangle)說(shuō)明:Brush是畫刷對(duì)象,用來(lái)指定填充圖形的內(nèi)部顏色,如Brushes.Red;FillRectangle填充有一對(duì)坐標(biāo)、一個(gè)寬度和一個(gè)高度指定的矩形的內(nèi)部?!纠?1-2】使用藍(lán)色畫刷繪制空心矩形,用紅色畫刷繪制填充矩,程序運(yùn)行結(jié)果如圖11-3所示。11.2繪制圖形3.繪制多邊形可以使用Graphics類的DrawPolygon方法和FillPolygon方法繪制空心多邊形和填充多邊形。(1)空心多邊形格式:Graphics.DrawPolygon(Pen,Point[])說(shuō)明:Point表示多邊形各個(gè)點(diǎn)的坐標(biāo)。(2)填充多邊形格式:Graphics.FillPolygon(Brush,Point[])【例11-3】使用藍(lán)色畫刷繪制空心矩形,用紅色畫刷繪制填充矩,程序運(yùn)行結(jié)果如圖11-4所示。4.繪制圓和橢圓可以使用Graphics類的DrawEllipse方法和FillEllipse方法繪制空心圓/橢圓或填充圓/橢圓。(1)空心圓和橢圓格式:Graphics.DrawEllipse(Pen,Rectangle)(2)填充圓和橢圓格式:Graphics.FillEllipse(Brush,Rectangle)說(shuō)明:Rectangle由4個(gè)數(shù)字組成,是指繪制圓或橢圓外接矩形左上角坐標(biāo),寬度和高度?!纠?1-4】使用不同顏色的畫筆和畫刷分別繪制空心圓、橢圓和填充圓、橢圓,程序運(yùn)行結(jié)果如圖11-5所示。
5.繪制弧線
弧線是橢圓的一部分,計(jì)量單位是度。它從一個(gè)“起始角”開(kāi)始,掃描指定的度數(shù)(稱為“仰角”)。如果順時(shí)針?lè)较驋呙?,則指定度數(shù)為正;逆時(shí)針?lè)较驋呙?,則指定度數(shù)為負(fù)。每段弧線實(shí)際都是橢圓的一部分(橢圓的其他部分不可見(jiàn))。畫一段弧線時(shí),必須指定封閉橢圓約束矩形的尺寸,橢圓由左上角坐標(biāo)和寬度、高度指定的矩形約束,約束矩形決定了橢圓大小。格式:Graphics.DrawArc(pen,起點(diǎn)坐標(biāo),終點(diǎn)坐標(biāo),起始角度,仰角度)說(shuō)明:若將DrawArc換成DrawPie方法,則完成扇形的繪制。若將DrawPie換成FillPie方法,Pen換成Brushes則完成填充扇形的繪制?!纠?1-5】使用不同顏色的畫筆和畫刷分別繪制弧線、扇形和填充扇形,運(yùn)行結(jié)果如圖11-6所示。
圖11-6繪制圓和橢圓1.創(chuàng)建字體對(duì)象
輸出文字圖形前先要?jiǎng)?chuàng)建字體對(duì)象,并指定字體、字號(hào)和樣式等,F(xiàn)ont類是用于構(gòu)造新的字體對(duì)象。格式:Dim字體對(duì)象AsNewFont(字體名稱,字體大小,字體樣式)說(shuō)明:字體樣式的參數(shù)主要包括:Bold(加粗)、Italic(斜體)、Regular(正常)、Strikeout(刪除線)和Underline(下劃線)2.繪制文本創(chuàng)建完字體對(duì)象后,可以使用Graphics對(duì)象提供的DrawString方法繪制輸出文字。格式:Graphics.DrawString(字符串,Font,Brush,point,字體格式)或Graphics.DrawString(字符串,Font,Brush,Rectangle,字體格式)說(shuō)明:“字符串”為要輸出的文本;Font為創(chuàng)建的字體對(duì)象,用來(lái)指定字符串文本的格式;Brush為創(chuàng)建的畫刷對(duì)象,用來(lái)確定文本的顏色和紋理;Point是繪制文本的起始位置,左上角坐標(biāo);Rectangle是確定矩形的左上角的坐標(biāo)為文本的起始位置;字體格式是指文本的格式化屬性,如行間距和對(duì)齊方式等。
11.3繪制文字【例11-6】繪制不同效果的文本,運(yùn)行結(jié)果如圖11-7所示。
圖11-7繪制文本1.加載WindowsMediaPlay控件由于VB.Net的多媒體控件不是標(biāo)準(zhǔn)控件,所以使用之前需要把它添加到工具箱中。加載WindowsMediaPlay控件的方法為:(1)鼠標(biāo)右鍵單擊工具箱,在彈出的快捷菜單中選擇【選擇項(xiàng)】命令,彈出【選擇工具箱項(xiàng)】對(duì)話框。(2)在【選擇工具箱項(xiàng)】對(duì)話框中選擇【COM組件】選項(xiàng)卡,勾選“WindowsMediaPlay”控件,單擊“確定”按鈕,如圖11-8所示。(3)在工具箱組件列表中加載“WindowsMediaPlay”控件
。
11.4多媒體播放器圖11-8【選擇工具箱項(xiàng)】對(duì)話框中2.WindowsMediaPlay控件的常用屬性“WindowsMediaPlay”控件的常用屬性如表11-2所示。
表11-2WindowsMediaPlay常用屬性3.WindowsMediaPlay控件的常用方法的常方法包括:(1)Play方法:播放多媒體文件。(2)Pause方法:暫停多媒體文件的播放。(3)Stop方法:停止多媒體文件的播放?!纠?1-7】使用WindowsMediaPl
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 放下手機(jī)倡議書800字(13篇)
- 招生方案模板八篇
- 宿舍違規(guī)用電檢討書
- 心酸唯美感言60句
- 2025年山東淄博沂源縣事業(yè)單位招聘語(yǔ)文數(shù)學(xué)教師26人歷年管理單位筆試遴選500模擬題附帶答案詳解
- 2025年山東濟(jì)寧市兗州區(qū)商務(wù)局招聘海關(guān)協(xié)勤人員16人歷年管理單位筆試遴選500模擬題附帶答案詳解
- 2025年山東濟(jì)南通信網(wǎng)絡(luò)保障中心招聘10人歷年管理單位筆試遴選500模擬題附帶答案詳解
- 2025年山東濟(jì)南市天橋區(qū)教育和體育局所屬事業(yè)單位招聘237人管理單位筆試遴選500模擬題附帶答案詳解
- 2025年山東棗莊職業(yè)(技師)學(xué)院招聘?jìng)浒钢乒ぷ魅藛T4人歷年管理單位筆試遴選500模擬題附帶答案詳解
- 2025年山東曲阜師范大學(xué)招聘工作人員49人歷年管理單位筆試遴選500模擬題附帶答案詳解
- 馬克思主義基本原理+2024秋+試題 答案 國(guó)開(kāi)
- 2023年深圳市云端學(xué)校應(yīng)屆生招聘教師考試真題
- 店鋪三年規(guī)劃
- 2023年國(guó)網(wǎng)四川省電力公司招聘筆試真題
- 2023-2024學(xué)年廣東省深圳市龍華區(qū)六年級(jí)上學(xué)期期末英語(yǔ)試卷
- 2024年注冊(cè)會(huì)計(jì)師審計(jì)考試題及答案
- 藥學(xué)專業(yè)論文3000字藥學(xué)畢業(yè)論文(6篇)
- 光伏發(fā)電工程施工技術(shù)方案
- 一年級(jí)看圖寫話集錦省公開(kāi)課獲獎(jiǎng)?wù)n件說(shuō)課比賽一等獎(jiǎng)?wù)n件
- 化療后胃腸道反應(yīng)護(hù)理
- 山西省2024-2025學(xué)年九年級(jí)上學(xué)期11月期中考試化學(xué)試題
評(píng)論
0/150
提交評(píng)論