CBuilder圖形程序設(shè)計入門PPT課件_第1頁
CBuilder圖形程序設(shè)計入門PPT課件_第2頁
CBuilder圖形程序設(shè)計入門PPT課件_第3頁
CBuilder圖形程序設(shè)計入門PPT課件_第4頁
CBuilder圖形程序設(shè)計入門PPT課件_第5頁
已閱讀5頁,還剩13頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、第1010章 C+BuilderC+Builder圖形程序設(shè)計簡介第1頁/共18頁第1010章 C+BuilderC+Builder圖形程序設(shè)計簡介 10.1 Windows10.1 Windows圖形編程知識 10.2 10.2 基本圖形類 10.3 10.3 基本圖形圖像組件 10.4 BCB10.4 BCB圖形程序示例第2頁/共18頁10.1 Windows10.1 Windows圖形編程知識 10.1.1 Windows10.1.1 Windows編程的特點 設(shè)備無關(guān)性 windowswindows使用圖形設(shè)備接口(GDI)(GDI)及設(shè)備驅(qū)動程序?qū)崿F(xiàn)圖形的設(shè)備無關(guān)性. . 基于消息驅(qū)

2、動 消息是關(guān)于用戶接口改變的事件產(chǎn)生的。如鼠標、鍵盤、窗口變化等。一般用一個專用符號常量表示一種對應(yīng)消息。以WM_WM_開頭。第3頁/共18頁10.1 Windows10.1 Windows圖形編程知識 10.1.2 10.1.2 圖形設(shè)備接口GDIGDI WindowsWindows操作系統(tǒng)具有一系列組建模塊,分別負責系統(tǒng)管理的某個方面,與繪圖聯(lián)系最密切的組建是圖形設(shè)備接口(GDIGDI)。GDIGDI管理像畫筆、位圖及調(diào)色板這樣的圖形對象,每個GDIGDI對象都使用某種方式控制GDIGDI提供的繪圖例程的動作。畫筆確定了GDIGDI畫的線條的屬性,畫刷影響GDIGDI如何填充屏幕的不同區(qū)域

3、,當窗口需要重畫時,WindowsWindows類使用WHITE_BRUSHWHITE_BRUSH填充窗口的整個背景。第4頁/共18頁10.1 Windows10.1 Windows圖形編程知識 10.1.3 Windows10.1.3 Windows坐標系統(tǒng) WindowsWindows通常使用的是三種類型的坐標 屏幕坐標(象素坐標) 原點固定在屏幕左上角,坐標的單位是象素(也稱圖形元素,它對應(yīng)于屏幕上的一個彩色點)。 窗口坐標 原點在整個窗口的左上角(包括標題欄和窗口邊框)。 用戶坐標 原點在窗口的可繪圖區(qū)域的左上角。 不同坐標系統(tǒng)應(yīng)用的一個特殊例子:鼠標消息用客戶坐標提供位置數(shù)據(jù),而Ge

4、tCursorPosGetCursorPos()()是以屏幕坐標獲取鼠標指針的當前位置。第5頁/共18頁10.2 10.2 基本圖形類10.2.1 10.2.1 TCanvasTCanvas圖形類 在C+BuilderC+Builder中,繪圖操作經(jīng)常是作用在對象的畫布(Canvas)(Canvas)上,而不是直接在對象上繪制。畫布是指在窗體、圖形控制、打印機或位圖上按位映射的作圖表面。畫布類變量常用作窗體或其它控件的屬性,同時它本身也是對象。畫布提供了一個用戶作圖區(qū)域,程序運行期間可以在該區(qū)域作圖。 CanvasCanvas的主要優(yōu)點是能有效管理資源和設(shè)備描述表,它封裝了WindowsWin

5、dows中與GDIGDI有關(guān)的APIAPI,這意味著可以不必關(guān)心GDIGDI的概念。在程序設(shè)計中,不管是向屏幕、打印機還是位圖上繪圖,都只需使用同樣的方法。第6頁/共18頁10.2.1 10.2.1 TCanvasTCanvas圖形類10.2.1.1 Canvas10.2.1.1 Canvas的主要屬性 屬 性說 明Brush確定圖形和背景的顏色和圖案。通過Tbrush對象的屬性設(shè)置ClipRect畫布的裁剪矩形,將繪圖區(qū)域限制在該區(qū)域CopyMode指定圖形的復制模式Font指定文本字體,通過Tfont對象的屬性設(shè)置HandleCanvas的設(shè)備描述表句柄,可直接調(diào)用WindowsAPIPe

6、n指定畫筆類型,通過TPen對象的屬性設(shè)置PenPos設(shè)置當前畫筆的x、y坐標Pixel設(shè)置當前區(qū)域象素的顏色第7頁/共18頁10.2.1 10.2.1 TCanvasTCanvas圖形類10.2.1.2 Canvas10.2.1.2 Canvas的主要方法 方 法功 能Are畫圓弧BrushCopy以透明背景顯示位圖CopyRect復制剪裁矩形內(nèi)的圖形到畫布Draw在畫布上復制內(nèi)存中的圖形DrawFocusRec在當前矩形區(qū)域繪制矩形Ellipse畫橢圓,并用當前畫刷填充FillRect填充畫布上指定的矩形FloodFill填充畫布上的封閉多邊形LineTo從當前畫筆位置向指定的(x、y)坐

7、標點畫直線MoveTo設(shè)置當前畫筆位置Pie畫餅形圖PolyBezier畫Bezier曲線第8頁/共18頁10.2.1 10.2.1 TCanvasTCanvas圖形類10.2.1.2 Canvas10.2.1.2 Canvas的主要方法 方 法功 能Polygon畫多邊形,并用當前畫刷填充Polyline畫折線,不自動閉合Rectangle畫矩形輪廓線,并用當前畫刷填充Refresh取消選定的畫筆、畫刷和字體,但不改變其屬性值RoundRect畫園角填充矩形StretchDraw從內(nèi)存中復制位圖到畫筆上,尺寸可伸縮TextExtent返回傳入Text參數(shù)的AnsiString類字符串的高度和

8、寬度TextHeight返回傳入Text參數(shù)的AnsiString類字符串的高度TextOut使用當前字體在畫筆上輸出文本TextRect在剪裁矩形內(nèi)輸出文本TextWidth返回傳入Text參數(shù)的AnsiString類字符串的寬度第9頁/共18頁10.2.1 10.2.1 TCanvasTCanvas圖形類10.2.1.3 10.2.1.3 圖形語句示例 (1)(1)繪直線 Canvas-MoveTo(x1, y1);Canvas-MoveTo(x1, y1); CanvadCanvad-LineTo(x2, x2);-LineTo(x2, x2);(2)(2)繪矩形 Canvas-Rect

9、angle(x1,y1, x2,y2);Canvas-Rectangle(x1,y1, x2,y2);(3)(3)繪橢圓 Canvas-Ellipse(x1,y1, x2,y2);Canvas-Ellipse(x1,y1, x2,y2);(4)(4)繪園角矩形 Canvas-RoundRect(x1,y1, x2,y2);Canvas-RoundRect(x1,y1, x2,y2);(5)(5)繪園弧 Canvas-Arc(x1,y1, x2,y2, x3,y3, x4,y4);Canvas-Arc(x1,y1, x2,y2, x3,y3, x4,y4);(6)(6)繪多邊形 Canvas-C

10、anvas-Polygon(constPolygon(const Windows:TpointWindows:Tpoint * *Points, const Points, const intint Points_SizePoints_Size););(7)(7)繪文本 Canvas-Canvas-TextOut(intTextOut(int x, x, intint y, const y, const AnsiStringAnsiString Text); Text);第10頁/共18頁10.2.2 10.2.2 TPenTPen類 PenPen屬性的值為一個TPenTPen類,使用TPen

11、TPen類可以描述WindowsWindows的筆(Pen)(Pen)屬性用以控制畫布上繪制的線或幾何圖形(shape)(shape)的邊框線。常用屬性有:WidthWidth:線寬(象素數(shù)),默認值為1 1;ColorColor:其屬性值是一個TColorTColor對象,TColorTColor對象有三種賦值方式: (1)RGB(1)RGB: CancasCancas-Pen-Color = RGB(255,0,0);/-Pen-Color = RGB(255,0,0);/紅色 (2)(2)顏色常量:Canvas-Pen-Color = Canvas-Pen-Color = clGreen

12、clGreen; /; /綠色 (3)(3)二進制碼:Canvas-Pen-Color = 0 x00FF0000;/Canvas-Pen-Color = 0 x00FF0000;/藍色StyleStyle:設(shè)置線型 Canvas-Pen-Style = Canvas-Pen-Style = psClearpsClear; /; /不繪圖形輪廓 Canvas-Pen-Style = Canvas-Pen-Style = psDashpsDash; /; /短劃線 Canvas-Pen-Style = Canvas-Pen-Style = psDashDotpsDashDot; /; /點劃線

13、Canvas-Pen-Style = Canvas-Pen-Style = psDashDotDotpsDashDotDot; /; /雙點劃線 Canvas-Pen-Style = Canvas-Pen-Style = psDotpsDot; /; /點線 Canvas-Pen-Style = Canvas-Pen-Style = psInsideFramepsInsideFrame; /; /實線,寬度大于1 1時可變色 Canvas-Pen-Style = Canvas-Pen-Style = psSolidpsSolid; /; /實線ModeMode:確定筆的顏色與畫布顏色的作用規(guī)律

14、。第11頁/共18頁10.2.3 10.2.3 TBrushTBrush類 TBrushTBrush類用于圖形填充,如填充多邊形、圓形、矩形等。可選擇填充圖案和顏色。(1 1)圖案設(shè)置 Canvas-Brush-Style = Canvas-Brush-Style = bsSolidbsSolid; /; /實心填充 Canvas-Brush-Style = Canvas-Brush-Style = bsClearbsClear; /; /不填充 Canvas-Brush-Style = Canvas-Brush-Style = bsBDiagonalbsBDiagonal; /; /斜線填充

15、 Canvas-Brush-Style = Canvas-Brush-Style = bsFDiagonalbsFDiagonal; /; /反斜線填充 Canvas-Brush-Style = Canvas-Brush-Style = bsCrossbsCross; /; /十字線填充 Canvas-Brush-Style = Canvas-Brush-Style = bsDiagCrossbsDiagCross; /; /交叉線填充 Canvas-Brush-Style = Canvas-Brush-Style = bsHorizotalbsHorizotal; /; /水平線填充 Can

16、vas-Brush-Style = Canvas-Brush-Style = bsVerticalbsVertical; /; /垂直線填充(2 2)顏色設(shè)置 Canvas-Brush-Color = Canvas-Brush-Color = clTealclTeal; /; /紫色刷子第12頁/共18頁10.3 10.3 圖形圖像組件 10.3.1 10.3.1 TMainMenuTMainMenu組件 10.3.2 10.3.2 TImageTImage組件 10.3.3 10.3.3 TShapeTShape組件 10.3.4 10.3.4 文件I/OI/O組件第13頁/共18頁10.3

17、.1 10.3.1 TMainMenuTMainMenu組件 TMainMenuTMainMenu組件為菜單設(shè)計控件。 它打開一個MainMenuMainMenu窗體,用戶可以靈活的用它設(shè)計程序菜單。第14頁/共18頁10.3.2 10.3.2 TImageTImage組件 TImageTImage組件是一個顯示圖像和繪制圖形的組件。在設(shè)計階段以虛框顯示,運行時并不可見。 它支持JPGJPG、BMPBMP、ICOICO、EMFEMF等多種格式的圖像文件。 TImageTImage組件的基本屬性: AutoSizeAutoSize:確定圖像組件是否調(diào)整自身大小以適應(yīng)所包含的圖像。 CanvasC

18、anvas:定義一個TCanvasTCanvas對象,提供一個繪圖界面,可用來顯示位圖、繪制圖像、輸出文字。 CenterCenter:指定圖像是否居中顯示。 PicturePicture:確定在TImageTImage中顯示的圖像。 StretchStretch:確定在TImageTImage中顯示的圖像是否調(diào)整自身以適應(yīng)TImageTImage的大小。 TransparentTransparent:確定TImageTImage組件的背景是否透明。第15頁/共18頁10.3.3 10.3.3 TShapeTShape組件 TShapeTShape是一個窗口裝飾組件??梢栽诖翱谏袭嫵龈鞣N幾何圖形、不同底紋和邊框的圖形。 TShapeTShape組件的常用屬性: BrushBrush:指定填充ShapeShape組件的顏色和樣式,其兩個子屬性為ColorColor和StyleStyle。 PenPen:指定繪制ShapeShape邊框所使用的畫筆。PenPen的子屬性有:ColorColor、ModeMode、StyleStyle和WidthWidth。 ShapeShape:設(shè)定TShapeTShape組件的形狀: stRectanglestRectangle(矩形) stSquarest

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論