C程序設(shè)計(jì) 第四章 圖形、圖像與多媒體.ppt_第1頁
C程序設(shè)計(jì) 第四章 圖形、圖像與多媒體.ppt_第2頁
C程序設(shè)計(jì) 第四章 圖形、圖像與多媒體.ppt_第3頁
C程序設(shè)計(jì) 第四章 圖形、圖像與多媒體.ppt_第4頁
C程序設(shè)計(jì) 第四章 圖形、圖像與多媒體.ppt_第5頁
已閱讀5頁,還剩49頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、版權(quán),第1章,第4章圖形,圖像和多媒體,圖形,圖像和多媒體處理也是C#的重要應(yīng)用。那個。NET框架通過封裝GDI實(shí)現(xiàn)圖形圖像的處理功能。使用C#可以開發(fā)強(qiáng)大的圖形、圖像和多媒體程序。2,版權(quán),目錄,GDI概述GDI繪圖基礎(chǔ)基本繪圖方法圖像顯示和處理聲音和視頻回放,3,版權(quán),4.1 GDI概述,GDI(圖形設(shè)備接口)可用于在早期的窗口程序中以一種形式繪制圖形、文本和圖像,但其功能有限。GDI是GDI的一個新版本,它不僅為GDI增加了許多新的特性,而且優(yōu)化了原有的GDI函數(shù),為開發(fā)者在二維矢量圖形、文本、圖像處理、區(qū)域、路徑和圖形數(shù)據(jù)矩陣等方面構(gòu)建了一系列相關(guān)的類。圖形類是GDI接口中的核心類,許

2、多繪圖操作都可以用它來完成。4,保留所有權(quán)利,4.1.1 GDI命名空間GDI包含大約60個類,50個枚舉和8個結(jié)構(gòu)。所有功能都保存在System.Drwaing.dll組件中。5,版權(quán),4.1.2基本數(shù)據(jù)結(jié)構(gòu)在繪圖操作中,經(jīng)常使用簡單的數(shù)據(jù)結(jié)構(gòu),如點(diǎn)、大小和矩形。6,保留所有權(quán)利,1點(diǎn)、大小和矩形結(jié)構(gòu)的構(gòu)造函數(shù)(1)點(diǎn)用于表示平面上的點(diǎn)或位置(x,y),其屬性為x和y。點(diǎn)(int dw):dw的低16位指定水平坐標(biāo),高16位指定垂直坐標(biāo)。點(diǎn)(大小SZ):SZ的寬度和高度用于指定點(diǎn)的x和y值。點(diǎn)(int x,int y);(2)大小結(jié)構(gòu)常用來表示矩形的大小,它的屬性是寬度和高度。尺寸(磅):磅

3、的x和y屬性用于指定尺寸的寬度和高度。尺寸(整數(shù)寬度,整數(shù)高度);(3)矩形結(jié)構(gòu)用于表示矩形的位置和大小,其屬性包括x、y、寬度、高度、位置、左、右、上、下。矩形(int x,int y,int寬度,int高度);矩形(點(diǎn)位置、尺寸大小);7,保留所有權(quán)利,2?;具\(yùn)算符操作點(diǎn)、大小和重新纏結(jié)類結(jié)構(gòu)重載常見的運(yùn)算符操作,例如,-,=,=操作,=,=操作等。這里只介紹點(diǎn)和尺寸結(jié)構(gòu)的和運(yùn)算。(1)如果“”操作將大小對象添加到點(diǎn)對象,將返回點(diǎn)對象。例如:繪圖點(diǎn)=繪圖點(diǎn)(25,-18)繪圖(10,5);結(jié)果是點(diǎn)(35,-13)。如果您將“大小”對象添加到“大小”對象中,它們的寬度和高度會相加。(2)如

4、果“-”操作從點(diǎn)對象中減去尺寸對象,則返回點(diǎn)對象。例如:繪圖點(diǎn)=繪圖點(diǎn)(25,-19)繪圖(15,5);8,保留所有權(quán)利,3 3展開式結(jié)構(gòu)的常見操作(1)使用膨脹方法展開和收縮??障杜蛎?尺寸大小)空隙膨脹(內(nèi)部寬度,內(nèi)部高度);(2)使用相交和合并成員方法“相交”和“并集”分別相交和合并兩個矩形??招南嘟?矩形矩形)靜態(tài)矩形相交(矩形a,矩形b);靜態(tài)矩形聯(lián)合(矩形a,矩形b);9,保留所有權(quán)利,(3)使用shift Offset方法調(diào)整矩形的位置??障镀?點(diǎn)位置);無效偏移量(int x,int y);(4)測試和判斷相交用的方法是判斷它是否與指定的矩形相交。如果有交集,則返回真,否則返

5、回假。矩形交叉寬度;10,保留所有權(quán)利,4.1.3處理圖形的步驟圖像處理包括兩個步驟:創(chuàng)建圖形對象;使用圖形對象繪制線條和形狀、渲染文本或顯示和操作圖像。11,保留所有權(quán)利,4.2 GDI繪圖基礎(chǔ),4.2.1坐標(biāo)系1全局坐標(biāo),頁面坐標(biāo)和設(shè)備坐標(biāo)2與坐標(biāo)系3全局轉(zhuǎn)換相關(guān)的圖形成員從全局坐標(biāo)到頁面坐標(biāo)的坐標(biāo)轉(zhuǎn)換稱為全局轉(zhuǎn)換,并保存在圖形類的轉(zhuǎn)換屬性中。主要有兩種變換:平移、旋轉(zhuǎn)和縮放。12,保留所有權(quán)利,4頁轉(zhuǎn)換的頁面坐標(biāo)的原點(diǎn)總是在虛擬繪圖平面的左上角。由于頁面坐標(biāo)的測量單位是像素,因此設(shè)備坐標(biāo)與頁面坐標(biāo)相同。但是,如果您將頁面坐標(biāo)更改為其他單位(如英寸),它們將會不同。此時,從頁面坐標(biāo)到設(shè)備坐

6、標(biāo)的轉(zhuǎn)換稱為頁面轉(zhuǎn)換。圖形類的頁面單位和頁面比例屬性提供頁面轉(zhuǎn)換操作。13,保留所有權(quán)利。案例4-1建立坐標(biāo)系并畫一個圓。設(shè)計(jì)一個坐標(biāo)系,其原點(diǎn)在表單的中心,單位是人才,X軸向右正,Y軸正,畫一個坐標(biāo)軸,在這個坐標(biāo)系中畫一個圓,圓心在坐標(biāo)點(diǎn),半徑為1英寸。14,保留所有權(quán)利,4.2.2畫筆是繪制各種線條和曲線的圖形工具,主要有線型、顏色和線寬屬性。默認(rèn)線寬為1像素,線型為實(shí)線。15,保留所有權(quán)利,1直接使用筆類構(gòu)造函數(shù)創(chuàng)建筆對象(1)。通常使用以下三種重載形式:公共筆(顏色c):創(chuàng)建具有特定顏色的筆對象。公共筆:創(chuàng)建一個具有特定顏色和相應(yīng)寬度的筆對象。公共鋼筆(畫筆b):創(chuàng)建一個畫筆風(fēng)格的鋼筆

7、對象。公共鋼筆(畫筆b,浮動w):創(chuàng)建一個具有特定畫筆風(fēng)格和相應(yīng)寬度的鋼筆對象。16,保留所有權(quán)利,(2)從系統(tǒng)筆和筆類獲取筆對象的引用。系統(tǒng)。系統(tǒng)筆類用于創(chuàng)建與用戶界面單元和系統(tǒng)顏色相匹配的筆。此類的每個共享屬性都返回對筆對象的引用。示例:筆pe=系統(tǒng)筆。高亮文本;/畫筆使用選定項(xiàng)目的文本顏色。17,版權(quán),2Pen的公共屬性畫筆屬性。獲取或設(shè)置用于確定此筆對象屬性的畫筆對象。顏色屬性。獲取或設(shè)置此筆對象的顏色。寬度屬性。獲取或設(shè)置此筆對象的寬度。DashStyle屬性。獲取或設(shè)置用于通過此筆對象繪制虛線的樣式。DashCap屬性。獲取或設(shè)置帽樣式,Drawing2D。破折號末尾使用的Dash

8、Cap枚舉值。18,版權(quán)所有,端蓋屬性。獲取或設(shè)置通過此筆對象繪制的線條末端使用的帽樣式。以Drawing2D為例。LineCap枚舉值,如表4-4所示。StartCap屬性。獲取或設(shè)置由該筆對象繪制的線條起點(diǎn)處使用的帽樣式。以Drawing2D為例。LineCap枚舉值,如表4-4所示。LineJoin屬性。獲取或設(shè)置由該筆對象繪制的兩條連續(xù)直線的端點(diǎn)之間的連接樣式。指定如何連接包含在GraphicsPath對象中的圖形(子路徑)中的連續(xù)直線或曲線段。繪制2D。LineJoin枚舉值。19,版權(quán)所有,2畫筆類決定如何填充圖形形狀(如矩形,橢圓形,扇形,多邊形和封閉路徑)的內(nèi)部。這是一個抽象基

9、類,不能實(shí)例化。要創(chuàng)建畫筆對象,可以使用從畫筆派生的類。這些派生類主要包括SolidBrush、TextureBrush、HatchBrush、LinearGradientBrush和PathGradientBrush。前兩個在系統(tǒng)中定義。繪圖命名空間,最后三個在系統(tǒng)中定義。繪圖。繪圖2D命名空間。20,保留所有權(quán)利,4.3基本繪制方法,4.3.1繪制線條或形狀,1繪制直線,以及用圖形的畫線方法繪制直線。公共空畫線(鋼筆,int x1,int y1,int x2,int y2):畫一條線連接由坐標(biāo)對指定的兩個點(diǎn)。公共空白畫線(鋼筆,浮點(diǎn)x1,浮點(diǎn)y1,浮點(diǎn)x2,浮點(diǎn)y2):畫一條線連接由坐標(biāo)對

10、指定的兩個點(diǎn)。公共空間畫線(鋼筆,P1點(diǎn),p2點(diǎn)):畫一條線連接兩個點(diǎn)結(jié)構(gòu)。21,保留所有權(quán)利,2繪制橢圓您可以使用圖形的繪制橢圓方法繪制橢圓。公共空心繪制橢圓(鋼筆,矩形矩形):繪制由邊界矩形結(jié)構(gòu)指定的橢圓。公共空心繪制橢圓(鋼筆,int x,int y,int w,int h):繪制由邊框(由一對坐標(biāo)、高度和寬度指定)定義的橢圓。公共空心繪制橢圓(鋼筆、浮子、浮子、浮子):繪制由邊框(由一對坐標(biāo)、高度和寬度指定)定義的橢圓。22,保留所有權(quán)利,3繪制圓弧您可以使用圖形的繪制圓弧方法繪制圓弧。公共空心繪制弧(鋼筆、矩形矩形、浮動起始角度、浮動掃掠角度):繪制表示矩形結(jié)構(gòu)指定的橢圓的一部分的弧

11、。公共空心畫弧(鋼筆,int x,int y,int w,int h,int起始角,int掃掠角):畫一條弧線,它代表由一對坐標(biāo)、寬度和高度指定的橢圓部分。公共空心繪制弧(鋼筆,浮動x,浮動y,浮動w,浮動h,浮動起始角度,浮動掃掠角度):繪制一個弧,它表示由一對坐標(biāo)、寬度和高度指定的橢圓部分。23,保留所有權(quán)利,4繪制扇形圖您可以使用圖形的畫圖方法繪制扇形圖。所謂扇形圖的實(shí)質(zhì)是圓弧的兩個端點(diǎn)與圓心相連。DrawPie方法的格式與DrawArc方法基本相同。24,保留所有權(quán)利,5繪制矩形您可以使用圖形的繪制矩形方法繪制矩形。公共空心繪制矩形(鋼筆,矩形r):繪制由矩形結(jié)構(gòu)指定的矩形。公共空心繪

12、制矩形(鋼筆,int x,int y,int w,int h):繪制一個由坐標(biāo)對、寬度和高度指定的矩形。公共空心畫矩形(鋼筆,浮動x,浮動y,浮動w,浮動h):畫一個由坐標(biāo)對,寬度和高度指定的矩形。25,保留所有權(quán)利,6繪制多邊形您可以使用圖形的繪制多邊形方法繪制多邊形。公共空間繪制多邊形(鋼筆,Point p):繪制由一組點(diǎn)結(jié)構(gòu)定義的多邊形。26,保留所有權(quán)利,7繪制貝塞爾曲線你可以通過繪制貝塞爾曲線的圖形方法來繪制貝塞爾曲線。公共空間繪制貝塞爾曲線(鋼筆,點(diǎn)p1,點(diǎn)p2,點(diǎn)p3,點(diǎn)p4):繪制由四個點(diǎn)結(jié)構(gòu)定義的貝塞爾曲線。公共空間繪制貝塞爾曲線(鋼筆,PointFp1,pointfp2,pointfp3,pointfp4):繪制由四點(diǎn)結(jié)構(gòu)定義的貝塞爾曲線。公共空間繪制貝塞爾曲線(鋼筆,浮點(diǎn)x1,浮點(diǎn)y1,浮點(diǎn)x2,浮點(diǎn)y2,浮點(diǎn)x3,浮點(diǎn)y3,浮點(diǎn)x4,浮點(diǎn)y4):繪制由表示點(diǎn)的四個有序坐標(biāo)對定義的貝塞爾曲線。27,保留所有權(quán)利,8繪制閉合曲線使用圖形的繪制閉合曲線方法,您可以閉合曲線。公共空間繪制閉合曲線(鋼筆,點(diǎn)p):繪制由點(diǎn)結(jié)構(gòu)陣列定義的閉合基數(shù)樣條。公共空間繪制閉合曲線(鋼筆,PointF p):繪制由PointF結(jié)構(gòu)數(shù)組定義的閉合基數(shù)樣條。公共空間繪制閉合曲線(鋼筆、點(diǎn)p、浮動t、填充模式

溫馨提示

  • 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

提交評論