了解GDI+圖形設(shè)備接口_第1頁(yè)
了解GDI+圖形設(shè)備接口_第2頁(yè)
了解GDI+圖形設(shè)備接口_第3頁(yè)
了解GDI+圖形設(shè)備接口_第4頁(yè)
了解GDI+圖形設(shè)備接口_第5頁(yè)
已閱讀5頁(yè),還剩23頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、第第3章章 屏幕圖形圖像應(yīng)用開(kāi)發(fā)屏幕圖形圖像應(yīng)用開(kāi)發(fā)本章學(xué)習(xí)目標(biāo)本章學(xué)習(xí)目標(biāo) 了解GDI+圖形設(shè)備接口 掌握常用的GDI+圖形繪制 掌握?qǐng)D像的繪制方法 掌握?qǐng)D形編程方法http:/www.ort- http:/ http:/ http:/ http:/ http:/www.light- http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/www.zg- http:/www.skf- http:/www.nsk- http:/w

2、ww.fag- http:/ http:/www.ntn- http:/ http:/ http:/ http:/ http:/ http:/www.xunchi- http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/http:/www.ort- http:/ http:/ http:/ http:/ http:/www.light- http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http

3、:/ http:/ http:/ http:/ http:/ http:/ http:/www.zg- http:/www.skf- http:/www.nsk- http:/www.fag- http:/ http:/www.ntn- http:/ http:/ http:/ http:/ http:/ http:/www.xunchi- http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/3.1 基于基于GDI屏幕繪圖屏幕繪圖 3.1.1 GDI+簡(jiǎn)介簡(jiǎn)介GDI+

4、:Graphics Device Interface Plus也就是圖形設(shè)備接口也就是圖形設(shè)備接口,它提供了各種豐富的圖形圖像處理功能,在,它提供了各種豐富的圖形圖像處理功能,在Windows CE系系統(tǒng)中,它充當(dāng)應(yīng)用程序和硬件設(shè)備之間的中間層,封裝與硬件統(tǒng)中,它充當(dāng)應(yīng)用程序和硬件設(shè)備之間的中間層,封裝與硬件交互所需的低級(jí)交互所需的低級(jí)API,這些,這些API函數(shù)可用于繪制圖形和文本。函數(shù)可用于繪制圖形和文本。 在在.NET Compact Framework中,中,GDI+通過(guò)一套部署為托管通過(guò)一套部署為托管代碼的類來(lái)展現(xiàn),這套類被稱為代碼的類來(lái)展現(xiàn),這套類被稱為GDI+的的“托管類接口托管

5、類接口”,GDI+主要提供了以下三類服務(wù)主要提供了以下三類服務(wù):http:/www.ort- http:/ http:/ http:/ http:/ http:/www.light- http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/www.zg- http:/www.skf- http:/www.nsk- http:/www.fag- http:/ http:/www.ntn- http:/ http:/ http:/ h

6、ttp:/ http:/ http:/www.xunchi- http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/http:/www.ort- http:/ http:/ http:/ http:/ http:/www.light- http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/www.zg-

7、http:/www.skf- http:/www.nsk- http:/www.fag- http:/ http:/www.ntn- http:/ http:/ http:/ http:/ http:/ http:/www.xunchi- http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ 二維矢量圖形:二維矢量圖形:GDI+提供了存儲(chǔ)圖形基元自身信息的類提供了存儲(chǔ)圖形基元自身信息的類(或結(jié)構(gòu)或結(jié)構(gòu)體體)、存儲(chǔ)圖形基元繪制方式信息的類以及實(shí)際進(jìn)行繪制的類。、存儲(chǔ)圖形

8、基元繪制方式信息的類以及實(shí)際進(jìn)行繪制的類。 圖像處理:大多數(shù)圖片都難以劃定為直線和曲線的集合,無(wú)法圖像處理:大多數(shù)圖片都難以劃定為直線和曲線的集合,無(wú)法使用二維矢量圖形方式進(jìn)行處理。因此,使用二維矢量圖形方式進(jìn)行處理。因此,GDI+為我們提供了為我們提供了Bitmap、Image等類等類,它們可用于顯示、操作和保存它們可用于顯示、操作和保存BMP、JPG、GIF等圖像格式。等圖像格式。文字顯示:文字顯示:GDI+支持使用各種字體、字號(hào)和樣式來(lái)顯示文本。支持使用各種字體、字號(hào)和樣式來(lái)顯示文本。我們要進(jìn)行圖形編程,就必須了解我們要進(jìn)行圖形編程,就必須了解Graphics類,同時(shí)我們還必須類,同時(shí)我

9、們還必須掌握掌握Pen、Brush和和Rectangle等這幾種類。等這幾種類。http:/www.ort- http:/ http:/ http:/ http:/ http:/www.light- http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/www.zg- http:/www.skf- http:/www.nsk- http:/www.fag- http:/ http:/www.ntn- http:/ http:/

10、http:/ http:/ http:/ http:/www.xunchi- http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/http:/www.ort- http:/ http:/ http:/ http:/ http:/www.light- http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/

11、www.zg- http:/www.skf- http:/www.nsk- http:/www.fag- http:/ http:/www.ntn- http:/ http:/ http:/ http:/ http:/ http:/www.xunchi- http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/3.1.2 設(shè)備繪圖表面設(shè)備繪圖表面在嵌入式設(shè)備上使用在嵌入式設(shè)備上使用GDI+進(jìn)行繪圖時(shí),得到的圖形可以放在進(jìn)行繪圖時(shí),得到的圖形可以放在兩種目標(biāo)環(huán)境中,一種是屏

12、幕上窗口,另一種是內(nèi)存中的位兩種目標(biāo)環(huán)境中,一種是屏幕上窗口,另一種是內(nèi)存中的位圖。每一個(gè)環(huán)境都有一個(gè)繪圖表面,而繪圖表面包括兩種,圖。每一個(gè)環(huán)境都有一個(gè)繪圖表面,而繪圖表面包括兩種,矢量表面和光柵表面。矢量表面和光柵表面。 1、矢量表面、矢量表面2、光柵表面、光柵表面在矢量表面上,圖元是用一種實(shí)體表示的,該實(shí)體具有在矢量表面上,圖元是用一種實(shí)體表示的,該實(shí)體具有特定的坐標(biāo)、方向、大小等屬性。特定的坐標(biāo)、方向、大小等屬性。 在光柵表面上,圖元是一組著了色的像素集合在光柵表面上,圖元是一組著了色的像素集合 。http:/www.ort- http:/ http:/ http:/ http:/ h

13、ttp:/www.light- http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/www.zg- http:/www.skf- http:/www.nsk- http:/www.fag- http:/ http:/www.ntn- http:/ http:/ http:/ http:/ http:/ http:/www.xunchi- http:/ http:/ http:/ http:/ http:/ http:/ htt

14、p:/ http:/ http:/ http:/ http:/ http:/ http:/3、使用、使用Graphics類創(chuàng)建繪圖表面類創(chuàng)建繪圖表面在在GDI+中可以利用中可以利用Graphics類創(chuàng)建一個(gè)與目標(biāo)環(huán)境相關(guān)的類創(chuàng)建一個(gè)與目標(biāo)環(huán)境相關(guān)的繪圖表面,即產(chǎn)生對(duì)應(yīng)的繪圖表面,即產(chǎn)生對(duì)應(yīng)的Graphics對(duì)象,對(duì)象,Graphics對(duì)象與對(duì)象與特定的設(shè)備上下文關(guān)聯(lián),并提供繪制圖形圖像到顯示設(shè)備的特定的設(shè)備上下文關(guān)聯(lián),并提供繪制圖形圖像到顯示設(shè)備的方法,這樣就可以在該表面上進(jìn)行圖形組件的繪制。方法,這樣就可以在該表面上進(jìn)行圖形組件的繪制。 有四種方法可以創(chuàng)建有四種方法可以創(chuàng)建Graphics對(duì)

15、象,分別如下:對(duì)象,分別如下:(1) Graphics.FromHdc方法方法 該方法用于從一個(gè)設(shè)備環(huán)境句柄中創(chuàng)建一個(gè)繪圖表面,在編該方法用于從一個(gè)設(shè)備環(huán)境句柄中創(chuàng)建一個(gè)繪圖表面,在編程中用這種方法創(chuàng)建繪圖表面可以將程中用這種方法創(chuàng)建繪圖表面可以將GDI+中托管對(duì)象和非托中托管對(duì)象和非托管對(duì)象聯(lián)系在一起。管對(duì)象聯(lián)系在一起。http:/www.ort- http:/ http:/ http:/ http:/ http:/www.light- http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ h

16、ttp:/ http:/ http:/ http:/ http:/www.zg- http:/www.skf- http:/www.nsk- http:/www.fag- http:/ http:/www.ntn- http:/ http:/ http:/ http:/ http:/ http:/www.xunchi- http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/(2) Graphics.FromImage方法方法 該方法用于從內(nèi)存中的一個(gè)位圖對(duì)象去創(chuàng)建繪圖表

17、面,這該方法用于從內(nèi)存中的一個(gè)位圖對(duì)象去創(chuàng)建繪圖表面,這樣在繪圖表面上繪制的圖形都將被保存在位圖中。樣在繪圖表面上繪制的圖形都將被保存在位圖中。例如: Bitmap m_bitmp=new Bitmap(My.bmp); Graphics g= Graphics.FormImage(m_bitmp); (3) 使用控件類的使用控件類的CreateGraphics方法方法調(diào)用某控件或窗體的調(diào)用某控件或窗體的CreateGraphics方法以獲取對(duì)方法以獲取對(duì)Graphics對(duì)象的引用,該對(duì)象表示該控件或窗體的繪圖圖面對(duì)象的引用,該對(duì)象表示該控件或窗體的繪圖圖面 。例如:Graphics g= t

18、his.CreateGraphics()http:/www.ort- http:/ http:/ http:/ http:/ http:/www.light- http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/www.zg- http:/www.skf- http:/www.nsk- http:/www.fag- http:/ http:/www.ntn- http:/ http:/ http:/ http:/ http:/

19、 http:/www.xunchi- http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/http:/www.ort- http:/ http:/ http:/ http:/ http:/www.light- http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/www.zg- http:/www.sk

20、f- http:/www.nsk- http:/www.fag- http:/ http:/www.ntn- http:/ http:/ http:/ http:/ http:/ http:/www.xunchi- http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ (4) 在窗體或控件的在窗體或控件的Paint事件處理方法中創(chuàng)建事件處理方法中創(chuàng)建Graphics對(duì)象對(duì)象通過(guò)窗體或控件觸發(fā)通過(guò)窗體或控件觸發(fā)Paint事件,并在事件,并在Paint事件中接收對(duì)事件中接

21、收對(duì)圖形對(duì)象的引用圖形對(duì)象的引用 。例如:private void Form1_Paint(object sender,System. Windows.Forms.PaintEventArgs e) Graphics g=e.Graphics; 也可以直接重載控件或窗體的OnPaint方法,如下所示: protected override void OnPaint(PaintEventArgs e) Graphics g = e.Graphics; http:/www.ort- http:/ http:/ http:/ http:/ http:/www.light- http:/ http:/

22、 http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/www.zg- http:/www.skf- http:/www.nsk- http:/www.fag- http:/ http:/www.ntn- http:/ http:/ http:/ http:/ http:/ http:/www.xunchi- http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http

23、:/ http:/ http:/http:/www.ort- http:/ http:/ http:/ http:/ http:/www.light- http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/www.zg- http:/www.skf- http:/www.nsk- http:/www.fag- http:/ http:/www.ntn- http:/ http:/ http:/ http:/ http:/ htt

24、p:/www.xunchi- http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/3.1.3 繪圖操作工具繪圖操作工具在創(chuàng)建了在創(chuàng)建了Graphics對(duì)象后,就可以用它開(kāi)始繪圖了,如可以對(duì)象后,就可以用它開(kāi)始繪圖了,如可以畫(huà)線、填充圖形、顯示文本等等,其中主要用到的對(duì)象有:畫(huà)線、填充圖形、顯示文本等等,其中主要用到的對(duì)象有:Pen、Brush、Color 、Font、 Point以及以及Rectangle 對(duì)象。對(duì)象。1、Pen類類Pen類用于繪制直線或曲線對(duì)象,通過(guò)

25、它本身的屬性能夠繪類用于繪制直線或曲線對(duì)象,通過(guò)它本身的屬性能夠繪制具有指定寬度和樣式的直線。制具有指定寬度和樣式的直線。 例如:創(chuàng)建Pen對(duì)象的兩種方法:Pen redPen=new Pen(Color.Red) Pen redPen=new Pen(Color.Red,3)http:/www.ort- http:/ http:/ http:/ http:/ http:/www.light- http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ htt

26、p:/ http:/www.zg- http:/www.skf- http:/www.nsk- http:/www.fag- http:/ http:/www.ntn- http:/ http:/ http:/ http:/ http:/ http:/www.xunchi- http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/http:/www.ort- http:/ http:/ http:/ http:/ http:/www.light- http:/ http:

27、/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/www.zg- http:/www.skf- http:/www.nsk- http:/www.fag- http:/ http:/www.ntn- http:/ http:/ http:/ http:/ http:/ http:/www.xunchi- http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ htt

28、p:/ http:/ http:/2、Brush類類Brush類定義用于填充圖形形狀內(nèi)部的對(duì)象,類定義用于填充圖形形狀內(nèi)部的對(duì)象,Brush類是一個(gè)類是一個(gè)抽象基類,不能進(jìn)行實(shí)例化處理。如果需要?jiǎng)?chuàng)建一個(gè)畫(huà)刷對(duì)象抽象基類,不能進(jìn)行實(shí)例化處理。如果需要?jiǎng)?chuàng)建一個(gè)畫(huà)刷對(duì)象,則需要,則需要Brush類的派生類。類的派生類。SolidBrush類和類和TextureBrush類類都是都是Brush類的子類,位于類的子類,位于System.Drawing命名空間中命名空間中 。例如,下面的代碼創(chuàng)建了一個(gè)實(shí)心畫(huà)刷和位圖畫(huà)刷。SolidBrush myBrush = new SolidBrush(Color.B

29、lue);TextureBrush tBrush=new TextureBrush(Properties. Resources.Bitmap); http:/www.ort- http:/ http:/ http:/ http:/ http:/www.light- http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/www.zg- http:/www.skf- http:/www.nsk- http:/www.fag- htt

30、p:/ http:/www.ntn- http:/ http:/ http:/ http:/ http:/ http:/www.xunchi- http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/3、Color結(jié)構(gòu)結(jié)構(gòu)GDI+用用System.Drawing.Color結(jié)構(gòu)來(lái)描述顏色,在結(jié)構(gòu)來(lái)描述顏色,在.NET CF類庫(kù)中類庫(kù)中GDI+使用使用RGB顏色。顏色。例如:Color mm = Color.FormArgb(0,255,0); 4、Font類類Font類定

31、義特定文本格式,包括字體、字號(hào)和字形類定義特定文本格式,包括字體、字號(hào)和字形屬性屬性 。例如:Font font = new Font(“Arial”,16,FontStyle.Bold);http:/www.ort- http:/ http:/ http:/ http:/ http:/www.light- http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/www.zg- http:/www.skf- http:/www.n

32、sk- http:/www.fag- http:/ http:/www.ntn- http:/ http:/ http:/ http:/ http:/ http:/www.xunchi- http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/5、Point類類Point類對(duì)象用于指定坐標(biāo)初始化類對(duì)象用于指定坐標(biāo)初始化Point類的新實(shí)例。類的新實(shí)例。 例如:Point pt1=new Point(30,30);6、Rectangle類類Rectangle類對(duì)象存儲(chǔ)一組整

33、數(shù),共四個(gè),表示一個(gè)矩形類對(duì)象存儲(chǔ)一組整數(shù),共四個(gè),表示一個(gè)矩形的位置和大小。的位置和大小。 Rectangle結(jié)構(gòu)的構(gòu)造函數(shù)為:public Rectangle(int x,int y,int width ,int height);http:/www.ort- http:/ http:/ http:/ http:/ http:/www.light- http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/www.zg- http

34、:/www.skf- http:/www.nsk- http:/www.fag- http:/ http:/www.ntn- http:/ http:/ http:/ http:/ http:/ http:/www.xunchi- http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/3.1.4 常用圖形的繪制常用圖形的繪制方法名稱說(shuō)明DrawLine繪制線條DrawRectangle繪制矩形DrawPolygon繪制多邊形DrawEllipse繪制橢圓形FillEll

35、ipse填充橢圓FillRectangle填充矩形通過(guò)通過(guò)GDI+可以繪制直線、矩形、橢圓、弧線、多邊形和基可以繪制直線、矩形、橢圓、弧線、多邊形和基數(shù)樣條等矢量圖形數(shù)樣條等矢量圖形 。http:/www.ort- http:/ http:/ http:/ http:/ http:/www.light- http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/www.zg- http:/www.skf- http:/www.nsk

36、- http:/www.fag- http:/ http:/www.ntn- http:/ http:/ http:/ http:/ http:/ http:/www.xunchi- http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/1、畫(huà)直線、畫(huà)直線2、畫(huà)橢圓、畫(huà)橢圓3、畫(huà)矩形、畫(huà)矩形使用Graphics類的DrawLine方法。格式為:DrawLine(畫(huà)筆,x1,y1,x2,y2)使用Graphics類的DrawEllipse方法。格式1為:DrawEllip

37、se (畫(huà)筆,矩形結(jié)構(gòu)數(shù)據(jù))。使用Graphics類的DrawRectangle方法。格式1為:DrawRectangle (畫(huà)筆,矩形結(jié)構(gòu)數(shù)據(jù))。http:/www.ort- http:/ http:/ http:/ http:/ http:/www.light- http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/www.zg- http:/www.skf- http:/www.nsk- http:/www.fag- ht

38、tp:/ http:/www.ntn- http:/ http:/ http:/ http:/ http:/ http:/www.xunchi- http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/4、畫(huà)多邊形、畫(huà)多邊形5、填充橢圓、填充橢圓6、填充矩形、填充矩形使用Graphics類的DrawPolygon方法。格式為:DrawPolygon (畫(huà)筆,Point points)使用Graphics類的FillEllipse方法。格式1為: FillEllipse(B

39、rush F,矩形結(jié)構(gòu)數(shù)據(jù))使用Graphics類的FillRectangle方法,格式1為:FillRectangle(Brush F,矩形結(jié)構(gòu)數(shù)據(jù))http:/www.ort- http:/ http:/ http:/ http:/ http:/www.light- http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/www.zg- http:/www.skf- http:/www.nsk- http:/www.fag-

40、http:/ http:/www.ntn- http:/ http:/ http:/ http:/ http:/ http:/www.xunchi- http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/3.1.5 繪制文本繪制文本在在.NET Compact Framework中,利用中,利用GDI+庫(kù)中的庫(kù)中的Graphics類的類的DrawString方法可以實(shí)現(xiàn)文本的繪制工作。方法可以實(shí)現(xiàn)文本的繪制工作。1、對(duì)于Graphics類的DrawString方法有四個(gè)

41、重載方法:(1) public void DrawString(string str,F(xiàn)ont ft,Brush bh,RectangleF rf);(2) public void DrawString(string str,F(xiàn)ont ft,Brush bh,RectangleF rf,StringFormat ft);(3) public void DrawString(string str,F(xiàn)ont ft,Brush bh,float x,float y);http:/www.ort- http:/ http:/ http:/ http:/ http:/www.light- http:/

42、http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/www.zg- http:/www.skf- http:/www.nsk- http:/www.fag- http:/ http:/www.ntn- http:/ http:/ http:/ http:/ http:/ http:/www.xunchi- http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:

43、/ http:/ http:/ http:/(4) public void DrawString(string str,F(xiàn)ont ft,Brush bh,float x,float y, StringFormat ft);3.1.6 繪制圖像繪制圖像1、用屏幕作繪圖表面進(jìn)行繪圖、用屏幕作繪圖表面進(jìn)行繪圖(1)在指定的位置按原始大小繪制指定的Image圖像。 方法為:public void DrawImage (Image image,int x,int y)(2)對(duì)Image圖像進(jìn)行縮放方法為:public void DrawImage (Image image,Rectangle destR

44、ect,Rectangle srcRect,GraphicsUnit srcUnit)http:/www.ort- http:/ http:/ http:/ http:/ http:/www.light- http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/www.zg- http:/www.skf- http:/www.nsk- http:/www.fag- http:/ http:/www.ntn- http:/ http

45、:/ http:/ http:/ http:/ http:/www.xunchi- http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/2、用內(nèi)存中位圖作繪圖表面、用內(nèi)存中位圖作繪圖表面例如下面MyDrawBitMap方法表示用指定大小的內(nèi)存位圖創(chuàng)建一個(gè)繪圖表面:private void MyDrawBitMap()/Bitmap m_bmp=new Bitmap(width,height);Graphics g= Graphics .FromImage(m_bmp)

46、;g.FillRectangle(參數(shù));g.DrawString(參數(shù));private void MainForm_Paint(object sender,EventArgs e)e.Graphics.DrawImage(m_bmp,0,0);/將內(nèi)存中繪制完成的位圖顯示在屏幕上。http:/www.ort- http:/ http:/ http:/ http:/ http:/www.light- http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/

47、 http:/ http:/www.zg- http:/www.skf- http:/www.nsk- http:/www.fag- http:/ http:/www.ntn- http:/ http:/ http:/ http:/ http:/ http:/www.xunchi- http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/3、將、將Image圖像保存為文件圖像保存為文件在一個(gè)內(nèi)存位圖的繪圖表面上完成繪圖工作以后,希望將圖像結(jié)果保存為文件,以備今后瀏覽或使用

48、,Bitmap類提供了Save方法用于完成這一工作。方法為:public void Save(string filename,ImageFormat format);http:/www.ort- http:/ http:/ http:/ http:/ http:/www.light- http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/www.zg- http:/www.skf- http:/www.nsk- http:/ww

49、w.fag- http:/ http:/www.ntn- http:/ http:/ http:/ http:/ http:/ http:/www.xunchi- http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/3.2 手寫(xiě)筆簽名程序開(kāi)發(fā)手寫(xiě)筆簽名程序開(kāi)發(fā)3.2.1 程序功能設(shè)計(jì)程序功能設(shè)計(jì)1、功能描述、功能描述 程序?qū)崿F(xiàn)的功能是在程序?qū)崿F(xiàn)的功能是在Windows CE設(shè)備上用手寫(xiě)筆點(diǎn)設(shè)備上用手寫(xiě)筆點(diǎn)下并劃動(dòng)觸摸屏?xí)r,將記錄所有經(jīng)過(guò)的點(diǎn),并將它們連接下并劃動(dòng)觸摸屏

50、時(shí),將記錄所有經(jīng)過(guò)的點(diǎn),并將它們連接在一起,這樣整個(gè)圖形就可以看成是由一個(gè)個(gè)線條構(gòu)成的在一起,這樣整個(gè)圖形就可以看成是由一個(gè)個(gè)線條構(gòu)成的,如果單擊清除按鈕,則擦除剛剛所寫(xiě)的內(nèi)容,單擊保存,如果單擊清除按鈕,則擦除剛剛所寫(xiě)的內(nèi)容,單擊保存文件按鈕,就會(huì)保持前一次所寫(xiě)內(nèi)容,單擊轉(zhuǎn)載文件按鈕文件按鈕,就會(huì)保持前一次所寫(xiě)內(nèi)容,單擊轉(zhuǎn)載文件按鈕,將前一次保持的文件裝載并顯示在屏幕正下方。,將前一次保持的文件裝載并顯示在屏幕正下方。 http:/www.ort- http:/ http:/ http:/ http:/ http:/www.light- http:/ http:/ http:/ http:/

51、 http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/www.zg- http:/www.skf- http:/www.nsk- http:/www.fag- http:/ http:/www.ntn- http:/ http:/ http:/ http:/ http:/ http:/www.xunchi- http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http

52、:/2、手寫(xiě)筆事件響應(yīng)處理、手寫(xiě)筆事件響應(yīng)處理程序手寫(xiě)筆事件處理說(shuō)明手寫(xiě)筆事件程序事件對(duì)應(yīng)的操作Click事件當(dāng)手寫(xiě)筆單擊觸摸屏?xí)r,響應(yīng)事件。MouseDown事件當(dāng)手寫(xiě)筆接觸到觸摸屏?xí)r,開(kāi)啟一個(gè)新的線條MouseMove事件當(dāng)手寫(xiě)筆接觸到觸摸屏并移動(dòng)手寫(xiě)筆時(shí),陸續(xù)連接手寫(xiě)筆經(jīng)過(guò)的一個(gè)個(gè)連續(xù)的點(diǎn),以便構(gòu)成一個(gè)線條。MouseUp事件當(dāng)手寫(xiě)筆離開(kāi)觸摸屏?xí)r,結(jié)束連接當(dāng)前的最后一個(gè)點(diǎn)。http:/www.ort- http:/ http:/ http:/ http:/ http:/www.light- http:/ http:/ http:/ http:/ http:/ http:/ http:/

53、http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/www.zg- http:/www.skf- http:/www.nsk- http:/www.fag- http:/ http:/www.ntn- http:/ http:/ http:/ http:/ http:/ http:/www.xunchi- http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/3.2.2 程序功能實(shí)現(xiàn)程序功能實(shí)現(xiàn)1、

54、創(chuàng)建手寫(xiě)筆程序工程項(xiàng)目、創(chuàng)建手寫(xiě)筆程序工程項(xiàng)目2、SignatureControl組件類功能實(shí)現(xiàn)組件類功能實(shí)現(xiàn)http:/www.ort- http:/ http:/ http:/ http:/ http:/www.light- http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/www.zg- http:/www.skf- http:/www.nsk- http:/www.fag- http:/ http:/www.ntn-

55、 http:/ http:/ http:/ http:/ http:/ http:/www.xunchi- http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/3、項(xiàng)目窗體功能設(shè)計(jì)、項(xiàng)目窗體功能設(shè)計(jì)http:/www.ort- http:/ http:/ http:/ http:/ http:/www.light- http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/

56、http:/ http:/ http:/ http:/ http:/www.zg- http:/www.skf- http:/www.nsk- http:/www.fag- http:/ http:/www.ntn- http:/ http:/ http:/ http:/ http:/ http:/www.xunchi- http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/手寫(xiě)筆運(yùn)行界面手寫(xiě)筆運(yùn)行界面http:/www.ort- http:/ http:/ http:

57、/ http:/ http:/www.light- http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/www.zg- http:/www.skf- http:/www.nsk- http:/www.fag- http:/ http:/www.ntn- http:/ http:/ http:/ http:/ http:/ http:/www.xunchi- http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/3.3 圖片瀏覽程序開(kāi)發(fā)圖片瀏覽程序開(kāi)發(fā)3.3.1 程序功能設(shè)計(jì)程序功能設(shè)計(jì)圖片瀏覽程序功能有三部分:圖片瀏覽程序功能有三部分:定時(shí)在觸摸屏中顯示每一張圖片。定時(shí)在觸摸屏中顯示每一張圖片。當(dāng)顯示完每一張圖片之后,再把剛才顯示的所有圖片以小當(dāng)顯示完每一張圖片之后,再把剛才顯示的所有圖片以小 畫(huà)面的形式重新展現(xiàn)在屏幕中。畫(huà)面的形式重新展現(xiàn)在屏幕中。當(dāng)用手寫(xiě)筆點(diǎn)擊屏幕中所有圖片中的任意一個(gè)小畫(huà)面時(shí),當(dāng)用手寫(xiě)筆點(diǎn)擊屏幕中所有圖片中的任意一個(gè)小畫(huà)面時(shí),該圖

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論