版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、單元七 圖形圖像處理,,7.1 圖形的繪制,7.2 圖形的瀏覽,7.3 動(dòng)畫(huà)制作,[技能目標(biāo)]1.熟悉Point/Pointf、 Size/Sizef、Rectangle/Rectanglef對(duì)象。2.熟悉顏色、畫(huà)筆、畫(huà)刷的使用方法。3.熟悉Graphics的各種繪繪制圖形的方法4.掌握?qǐng)D形的平移變換、旋轉(zhuǎn)變換和比例變換的方法。,,【案例7-1】仿Windows畫(huà)圖程序,7.1 圖形的繪制,[操作步驟]1.建立一個(gè)
2、新的Windows應(yīng)用程序,命名為vbnet7-1。2.在窗體上添加所需控件。3.設(shè)置各控件的相關(guān)屬性,見(jiàn)表7-1。4.編寫(xiě)代碼。5.調(diào)試運(yùn)行程序。,7.1 圖形的繪制,7.1 圖形的繪制,添加控件,,,,,,,,Mainmenu控件,,PictureBox控件,ToolBar控件,,,ColorDialog 控件,,5個(gè)Button 控件,,,Label 控件,Label 控件,,,StatusBar 控件,,,另還有一個(gè)
3、ImageList控件,一個(gè)OpenFileDialog控件,為ImageList1控件添加圖標(biāo)方法,7.1 圖形的繪制,單擊ImageList1的Images屬性右側(cè)的“…”按鈕,彈出右圖所示“Image集合編輯器”對(duì)話(huà)框,在窗口中單擊“添加”按鈕為ImageList1添加圖標(biāo)。,7.1 圖形的繪制,各控件屬性設(shè)置表,7.1 圖形的繪制,各控件屬性設(shè)置表,7.1 圖形的繪制,【相關(guān)知識(shí)】Ken7.1.1繪圖基礎(chǔ)知識(shí):Poin
4、t/Pointf、Size/Sizef、論 Rectangle/Rectanglef 1. Point/Pointf結(jié)構(gòu) 功能:用于設(shè)置控件在窗體中所在位置的二維坐標(biāo)點(diǎn)(X,Y)。 區(qū)別:Point使用整數(shù)坐標(biāo) Pointf使用單精度浮點(diǎn)數(shù)據(jù)類(lèi)型坐標(biāo)。 (1)聲明方法 Dim p As New Point(整數(shù)X,整數(shù)Y) Dim p As
5、New Pointf(單精度浮點(diǎn)X,單精度浮點(diǎn)Y),7.1 圖形的繪制,(2)Point結(jié)構(gòu)其他屬性、方法與功能,7.1 圖形的繪制,,2. Size/Sizef結(jié)構(gòu) 功能:用來(lái)表示控件大小。 聲明方法:Dim s As New Size(Width, Height) 3. Rectangle/Rectanglef結(jié)構(gòu) 功能:用來(lái)定義一個(gè)矩形區(qū)域。 區(qū)別:Rectangle結(jié)構(gòu)的坐標(biāo)是整型,Rectanglef結(jié)
6、構(gòu)的坐標(biāo)是浮點(diǎn)型。(1)聲明方法: Dim r As New Rectangle(X,Y,Width,Height) 例如:創(chuàng)建一個(gè)左上角X坐標(biāo)是20,Y坐標(biāo)是30,寬度是10,高度是15的矩形代碼如下: Dim rec As New Rectangle(20,30,10,15)(2)Rectangle結(jié)構(gòu)主要屬性/方法和功能見(jiàn)表。,7.1 圖形的繪制,Rectangle屬性/方法與功能表,7.1
7、圖形的繪制,Ken7.1.2繪圖基礎(chǔ)知識(shí):顏色、畫(huà)筆、畫(huà)刷,顏色 顏色用Color結(jié)構(gòu)和Color列舉來(lái)表示。Color結(jié)構(gòu)中顏色由4個(gè)整數(shù)值Red、Green、Blue和Alpha表示,可分別簡(jiǎn)寫(xiě)成R、G、B、A,表示紅、綠、藍(lán)三原色;Alpha表示不透明度。 (1)使用FromArgb方法設(shè)置顏色 格式:Color.FromArgb([A,]R,G,B) 功能:由透明度、紅、綠、藍(lán)來(lái)調(diào)配顏色。 (2)獲
8、取Color結(jié)構(gòu)的各顏色分量值VB.NET中可獲取對(duì)象Color的四個(gè)自變量的值,其語(yǔ)法如下:R=對(duì)象.Color.RG=對(duì)象.Color.GB=對(duì)象.Color.B,圖7-3顏色合成原理圖,7.1 圖形的繪制,(3)用Color列舉設(shè)置顏色 使用Color列舉可直接指定系統(tǒng)定的顏色,常用的有Red、Green、Blue、Yellow、Brown、White、Gold、Tomato、Pink、SkyBlue、Orang
9、e等列舉名稱(chēng)。 使用語(yǔ)法: Color.顏色列舉名稱(chēng) 例:將Button1控件背景設(shè)成藍(lán)色。 Button1.BackColor=Color.Blue,7.1 圖形的繪制,2. 畫(huà)筆 畫(huà)筆(Pen)可在Graphics畫(huà)布對(duì)象上繪制圖形,畫(huà)筆類(lèi)中封裝了線(xiàn)條寬度、線(xiàn)條樣式和顏色等。(1)Pen類(lèi)的主要屬性,7.1 圖形的繪制,(2)聲明畫(huà)筆對(duì)象 Dim 畫(huà)筆對(duì)象 As New Pen(顏
10、色 [,粗細(xì)]) 或 Dim 畫(huà)筆對(duì)象 As Pen(3)重新設(shè)置畫(huà)筆對(duì)象顏色與粗細(xì)。 畫(huà)筆對(duì)象.Color=顏色 畫(huà)筆對(duì)象.Width=粗細(xì) 說(shuō)明: 當(dāng)缺省畫(huà)筆粗細(xì)自變量時(shí),系統(tǒng)默認(rèn)為1 Pixel(象素)。,7.1 圖形的繪制,3.畫(huà)刷(1)SolidBrush畫(huà)刷 Dim br As SolidBrush = New SolidBrush(Color.Yellow) ‘定義黃色填
11、充(2)TextureBrush畫(huà)刷 Dim bm As New Bitmap("star.ico") ‘指定填充的位圖 Dim brush As New TextureBrush(bm)(3)HatchBrush畫(huà)刷 Dim brush As New HatchBrush(HatchStype.Cross,Color.White,Color.Black) 其中第一個(gè)參數(shù)是畫(huà)刷的填充樣式,第
12、二個(gè)參數(shù)定義了填充的前景色,第三個(gè)參數(shù)定義了填充的背景色。,7.1 圖形的繪制,Ken7.1.3 Graphics類(lèi)、Graphics的常用繪圖方法。,1.Graphics類(lèi)Graphics類(lèi)可建立一個(gè)畫(huà)布對(duì)象,還可清理和釋放畫(huà)布對(duì)象。(1)聲明和建立畫(huà)布對(duì)象Dim畫(huà)布對(duì)象 As Graphics畫(huà)布對(duì)象=對(duì)象.CreateGraphics()功能:在指定的控件或?qū)ο笾薪⒁粋€(gè)可以用繪圖對(duì)象繪圖的畫(huà)布對(duì)象。(2)清理畫(huà)布
13、對(duì)象若需將畫(huà)布對(duì)象的內(nèi)容清理,只要設(shè)置畫(huà)布對(duì)象的底色即可。畫(huà)布對(duì)象.Clear(顏色)(3)釋放畫(huà)布對(duì)象畫(huà)布對(duì)象.Dispose() ‘畫(huà)布對(duì)象將從內(nèi)存中刪除,不能再被使用,7.1 圖形的繪制,2.Graphics的常用繪圖方法,(1)畫(huà)線(xiàn)(DrawLine)方法DrawLine(畫(huà)筆,起點(diǎn)Point,終點(diǎn)Point)或DrawLine(畫(huà)筆,起點(diǎn)X坐標(biāo),起點(diǎn)Y坐標(biāo),終點(diǎn)X坐標(biāo),終點(diǎn)Y坐標(biāo))(2)DrawRectan
14、gle方法DrawRectangle(畫(huà)筆,Rectangle對(duì)象)(3)DrawEllipse方法DrawEllipse(畫(huà)筆,橢圓的外接矩形)或DrawEllipse(畫(huà)筆,橢圓的外接矩形左上角X坐標(biāo),Y坐標(biāo),外接矩形寬度,高度),7.1 圖形的繪制,(4)其它幾種常用方法及語(yǔ)法與功能如表,7.1 圖形的繪制,(5)DrawString方法語(yǔ)法: DrawString(文本,字體,畫(huà)刷,X坐標(biāo),Y坐標(biāo))功能: 繪制
15、字符串文本。(6)填充方法FillRectangle(畫(huà)刷, 矩形)‘填充矩形FillEllipse(畫(huà)刷, 橢圓的外接矩形)‘填充橢圓FillPolygon(畫(huà)刷, 坐標(biāo)點(diǎn)數(shù)組)‘填充多邊形FillClosedCurve(畫(huà)刷, 坐標(biāo)點(diǎn)數(shù)組)‘填充封閉曲線(xiàn)FillPie(畫(huà)刷, 橢圓外接矩形, 開(kāi)始角度, 掃過(guò)角度)‘填充扇形,7.1 圖形的繪制,3.坐標(biāo)變換(1)平移(TranslateTransform方
16、法)語(yǔ)法:TranslateTransform(X軸方向偏移量,Y軸方向偏移量)功能:用指定的X軸方向和Y軸方向的偏移量進(jìn)行偏移。若x,y為正值,則畫(huà)布向右和向下平移;若x,y為負(fù)值,則畫(huà)布向左和向上移動(dòng)。(2)旋轉(zhuǎn)(RotateTransform方法)語(yǔ)法:RotateTransform(旋轉(zhuǎn)角度)功能:旋轉(zhuǎn)變換是指相對(duì)坐標(biāo)原點(diǎn)旋轉(zhuǎn)指定的角度,旋轉(zhuǎn)方向以順時(shí)針為正。(3)比例(ScaleTransform)語(yǔ)法:Scal
17、eTransform(X軸比例, Y軸比例)功能:比例變換是指用指定的X軸和Y軸的比例對(duì)圖形進(jìn)行變換。,7.1 圖形的繪制,4.繪制圖形的一般步驟 創(chuàng)建一個(gè)Graphics對(duì)象后,就可以用Graphics類(lèi)的方法在窗體上繪制基本圖形了。通常,在VB.NET中繪制圖形包括以下幾點(diǎn):(1)使用顏色 (2)使用畫(huà)筆 (3)使用畫(huà)刷(4)使用Graphics類(lèi)提供的函數(shù)給圖 (5)釋放資源,7.1 圖形的繪制,[知識(shí)擴(kuò)展
18、]1.VB.NET的自定義數(shù)據(jù)類(lèi)型——結(jié)構(gòu)(1)結(jié)構(gòu)的定義在VB.NET中,用戶(hù)可自定義數(shù)據(jù)類(lèi)型(User-Defined Tyepes,UDT),定義時(shí)使用關(guān)鍵字Structure,語(yǔ)法如下:Structure 結(jié)構(gòu)名Public| Dim| Private 類(lèi)型成員End Structure(2)結(jié)構(gòu)與類(lèi)的比較VB.NET 統(tǒng)一了結(jié)構(gòu)和類(lèi)的語(yǔ)法,它們都支持大多數(shù)的相同功能,但結(jié)構(gòu)和類(lèi)之間也有重要的區(qū)別。,①相同l&
19、#160; 兩者都屬于“容器”類(lèi)型,表示它們可以包含其他類(lèi)型作為成員。 l 都有共享的構(gòu)造函數(shù),有或沒(méi)有參數(shù)。②不同l 結(jié)構(gòu)是值類(lèi)型,而類(lèi)是引用類(lèi)型。結(jié)構(gòu)是不
20、可繼承的;而類(lèi)可以繼承。l 所有的結(jié)構(gòu)成員都默認(rèn)為 Public;類(lèi)變量和常量默認(rèn)為 Private,而其他的類(lèi)成員默認(rèn)為 Public。l 結(jié)構(gòu)變量聲明不能指定初始值、New 關(guān)鍵字或數(shù)組初始大小,類(lèi)變量聲明可以。 l
21、; 結(jié)構(gòu)從不終止,類(lèi)可由垃圾回收器終止。l 結(jié)構(gòu)不需要構(gòu)造函數(shù);而類(lèi)需要。,7.1 圖形的繪制,7.1 圖形的繪制,2.GDI+(Graphic Device Interface)簡(jiǎn)介,VB.NET具有相當(dāng)強(qiáng)大的圖形圖像功能,在對(duì)原有GDI技術(shù)進(jìn)行改進(jìn)后,形成了現(xiàn)在
22、集成在VB.NET中的GDI+技術(shù)。 GDI+是圖形設(shè)備接口,它負(fù)責(zé)在屏幕和打印機(jī)上顯示信息,程序員可利用它來(lái)編寫(xiě)與設(shè)備無(wú)關(guān)的應(yīng)用程序。GDI+提供的主要命名空間如下: System.Draw.Desin命名空間 System.Draw.Drawing2D命名空間 System.Draw.Image命名空間 System.Draw.Printing命名空間 System.Draw.Tex
23、t命名空間,7.2 圖形的瀏覽,,【案例7-2】仿圖形瀏覽器,[技能目標(biāo)]1. 熟悉圖形瀏覽器開(kāi)發(fā)過(guò)程。2. 進(jìn)一步掌握控件PictureBox、TreeView、ListView控件的應(yīng)用。,[操作步驟]1.建立一個(gè)新的Windows應(yīng)用程序,命名為vbnet7-2。2.在窗體上添加所需控件。3.設(shè)置各控件的相關(guān)屬性,見(jiàn)下頁(yè)表。4.編寫(xiě)代碼。5.調(diào)試運(yùn)行程序。,7.2 圖形的瀏覽,添加控件,,,TreeView控件,
24、ListView控件,,PictureBox 控件,,7.2 圖形的瀏覽,各控件屬性設(shè)置表,7.2 圖形的瀏覽,【相關(guān)知識(shí)】Ken7.2.1 PicturBox控件的使用,PictureBox控件主要用于加載圖片,所支持的圖形文件格式有.bmp、GIF、JPEG、.wmf、.ico。 PictureBox控件中顯示的圖片可以設(shè)計(jì)階段加載,或在程序執(zhí)行時(shí)再加載。設(shè)置圖片源需要使用Image類(lèi)的FromFile方法,也可利用屬
25、性窗口直接設(shè)置圖片源文件。如果想要執(zhí)行圖片的另存為操作,可以使用Image類(lèi)的Save方法并指定存儲(chǔ)路徑、名稱(chēng)以及格式。 如將Dock 屬性設(shè)置為“Fill”,PictureBox就會(huì)填充整個(gè)窗體,也會(huì)自動(dòng)隨著窗體的變化而改變大小。,7.2 圖形的瀏覽,PictureBox控件常用屬性,7.2 圖形的瀏覽,,【案例7-3】圖形的變換顯示,[技能目標(biāo)]1. 理解圖形變換的概念。2. 掌握?qǐng)D形變換程序設(shè)計(jì)的思路和技巧。,[操
26、作步驟]1.建立一個(gè)新的Windows應(yīng)用程序,命名為vbnet7-3。2.在窗體上添加所需控件。3.設(shè)置各控件的相關(guān)屬性,見(jiàn)表。4.編寫(xiě)代碼。5.調(diào)試運(yùn)行程序。,7.2 圖形的瀏覽,添加控件,,Panel控件,Panel控件,,3個(gè)Button控件,,,,2個(gè)Label控件,,7.2 圖形的瀏覽,各控件屬性設(shè)置表,7.2 圖形的瀏覽,【相關(guān)知識(shí)】Ken7.2.1 BitMap類(lèi)及方法,Panel 控件及方法,1. B
27、itmapBitmap類(lèi)封裝 GDI+ 位圖,此位圖由圖形圖像及其屬性的像素?cái)?shù)據(jù)組成。Bitmap 對(duì)象是用于處理由像素?cái)?shù)據(jù)定義的圖像的對(duì)象。方法GetPixel:獲取Bitmap對(duì)像中指定像素的顏色。方法SetPixel:設(shè)置Bitmap 對(duì)象中指定像素的顏色。,7.2 圖形的瀏覽,2. Panel控件 Panel 是一個(gè)包含其他控件的控件(也稱(chēng)面板)??梢允褂?Panel來(lái)對(duì)窗體界面上的控件進(jìn)行適當(dāng)?shù)倪壿嫹纸M。
28、 默認(rèn)情況下,Panel 控件在顯示時(shí)沒(méi)有任何邊框??梢杂?BorderStyle 屬性提供標(biāo)準(zhǔn)或三維的邊框。 可以用 AutoScroll 屬性來(lái)啟用 Panel 控件中的滾動(dòng)條。當(dāng) AutoScroll 屬性為 true 時(shí),可以滾動(dòng)顯示Panel 中(但不在其可視區(qū)域內(nèi))的所有控件。 Invalidate方法: 使控件的特定區(qū)域無(wú)效并向控件發(fā)送繪制消息。 Point To Screen方法:將指定工作區(qū)點(diǎn)的位置
29、計(jì)算成屏幕坐標(biāo)。說(shuō)明: Panel 控件類(lèi)似于 GroupBox 控件;但只有 Panel 控件可以有滾動(dòng)條,而且只有 GroupBox 控件顯示標(biāo)題。,7.3 動(dòng)畫(huà)制作,,【案例7-4】小向?qū)?[技能目標(biāo)]1. 理解簡(jiǎn)單動(dòng)畫(huà)開(kāi)發(fā)過(guò)程。2. 熟悉利用時(shí)間變化和繪圖命令設(shè)計(jì)動(dòng)畫(huà)程序的技巧。,[操作步驟]1.建立一個(gè)新的Windows應(yīng)用程序,命名為vbnet7-4。2.在窗體上添加所需控件。3.設(shè)置各控件的相關(guān)屬性,見(jiàn)
30、表。4.編寫(xiě)代碼。5.調(diào)試運(yùn)行程序。,7.3 動(dòng)畫(huà)制作,添加控件,,,label控件,Button控件,,,,7.3 動(dòng)畫(huà)制作,各控件屬性設(shè)置表,7.3 動(dòng)畫(huà)制作,【相關(guān)知識(shí)】Ken7.3.1利用Graphics類(lèi)的基本繪圖命令與Timer控件相結(jié)合制作小動(dòng)畫(huà),VB.NET能夠利用Graphics類(lèi)基本繪圖命令制作出豐富多彩的靜態(tài)的圖形,而且能讓靜止的圖形隨著時(shí)間變化發(fā)生位置與形狀的改變,產(chǎn)生形象生動(dòng)的動(dòng)畫(huà)效果。 動(dòng)
31、畫(huà)制作中,時(shí)間變化是由Timer控件來(lái)實(shí)現(xiàn)的,其中Interval屬性值的大小與動(dòng)畫(huà)運(yùn)行的速度相關(guān),間隔越小,速度越快。,案例演示,7.3 動(dòng)畫(huà)制作,,[技能目標(biāo)]1. 熟悉簡(jiǎn)單動(dòng)畫(huà)開(kāi)發(fā)過(guò)程。2. 熟悉利用圖形文件設(shè)計(jì)動(dòng)畫(huà)程序的技巧。,[操作步驟]1.建立一個(gè)新的Windows應(yīng)用程序,命名為vbnet7-5。2.在窗體上添加所需控件。3.設(shè)置各控件的相關(guān)屬性,見(jiàn)表。4.編寫(xiě)代碼。5.調(diào)試運(yùn)行程序。,【案例7-5】移動(dòng)動(dòng)
32、畫(huà),7.3 動(dòng)畫(huà)制作,添加控件,,,label控件,Button控件,,,,,PictureBox控件,,7.3 動(dòng)畫(huà)制作,各控件屬性設(shè)置表,7.3 動(dòng)畫(huà)制作,【相關(guān)知識(shí)】Ken7.3.2 利用圖形文件與Timer控件相結(jié)合制作小動(dòng)畫(huà),VB.NET中可使用Graphics類(lèi)的DrawImage方法顯示圖形文件,在不同時(shí)間間隔里于不同的位置顯示同一圖形文件會(huì)產(chǎn)生視覺(jué)上的動(dòng)畫(huà)效果。主要有以下幾種使用方式。DrawImage(Ima
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫(kù)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 圖形圖像處理matlab
- 圖形圖像處理圖像分割
- ps圖形圖像處理教案
- ps圖形圖像處理教案
- 多媒體課件圖形圖像處理
- 圖形圖像處理教學(xué)大綱
- 文本顯示與圖形圖像處理
- 圖形圖像處理課程設(shè)計(jì)報(bào)告
- 圖形圖像處理的梯度場(chǎng)算法.pdf
- 任務(wù)3(新)photoshop 圖形圖像處理技術(shù)
- 地質(zhì)系 《圖形圖像處理》 教學(xué)大綱
- 圖形圖像處理綜合課程設(shè)計(jì)題目
- 任務(wù)photoshop 圖形圖像處理技術(shù)5(新)
- 第八章圖形圖像處理
- 第二單元《圖形圖像處理》課件 高中信息技術(shù)
- photoshopcs圖形圖像處理理論教學(xué)大綱
- 任務(wù)4photoshop 圖形圖像處理技術(shù)(新)
- 第二單元《圖形圖像處理》課件1 高中信息技術(shù)
- photoshopcs4圖形圖像處理教程復(fù)習(xí)資料
- 基于生物視覺(jué)模型的圖形圖像處理方法.pdf
評(píng)論
0/150
提交評(píng)論