CBuilder基本圖形編程PPT課件_第1頁
CBuilder基本圖形編程PPT課件_第2頁
CBuilder基本圖形編程PPT課件_第3頁
CBuilder基本圖形編程PPT課件_第4頁
CBuilder基本圖形編程PPT課件_第5頁
已閱讀5頁,還剩15頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、C+ Builder 基本基本圖形編程圖形編程薛 濤西 安 交 通 大 學 計 算 機 教 學 實 驗 中 心第1頁/共20頁顯示圖形的最簡單辦法 Shape構件可以將簡單形體加到窗體上。使用Shape構件很容易,只要放到窗體上并根據(jù)需要改變Brush、Pen和Shape屬性即可??梢岳L制圓、橢圓、矩形、正方形和帶圓角的矩形。改變Brush屬性可以修改形體的背景顏色,改變Pen屬性可以改變形體邊框的顏色或厚度。第2頁/共20頁顯示圖形的最簡單辦法 Image構件可以在窗體上顯示位圖,這個構件適合許多圖形操作,包括窗體的位圖背景。Image構件的Picture屬性是TPicture類的實例,可以

2、在設計時通過對象觀察器選擇圖形,也可以在運行時裝入圖形。例如,可以在運行時改變圖形如下:Imagel-Picture-Bitmap-LoadFromFile(bkgnd.bmp); Stretch屬性確定圖形可否縮放成適合構件的尺寸。Center屬性確定位圖是否在構件上居中顯示。AutoSize屬性可以迫使構件根據(jù)圖形尺寸調整尺寸。第3頁/共20頁顯示圖形的最簡單辦法 PaintBox構件,這個構件提供了畫布,可以在窗體的限定區(qū)域內繪圖。PaintBox構件唯一重要的屬性是Canvas屬性,是TCanvas類的實例。C Builder應用程序中大多數(shù)繪圖都是對這個類進行的第4頁/共20頁TCa

3、nvas類 TCanvas類的主要屬性屬性 說明Brush 用于填充到形體的畫刷顏色或圖案ClipRect 畫布的當前剪取矩形,將繪圖限制在這個矩形內。這個屬性是只讀的CopyMode 確定如何進行繪圖(正常、逆向、xor,等等)Font 畫布繪制文本所用的字體Handle 畫布的句柄(HDC),用于直接調用Windows APIPen 確定畫布上繪圖的線型和顏色PanPos 當前繪圖位置的x和y坐標Pixels 畫布像素的數(shù)組第5頁/共20頁TCanvas類 TCanvas類的主要方法方法 說明Arc 當前畫筆在畫布上畫圓弧BrushCopy 用透明背景顯示位圖CopyRect 將部分圖形復

4、制到畫布上Draw 將內存中的圖形復制到畫布上Ellipse 用當前畫筆在畫布上畫橢圓并用當前畫刷填充FloodFill 用當前畫刷填充畫布的一個區(qū)域LineTo 從當前繪圖位置向X、Y坐標指定的位置畫直線MoveTo 設置當前繪圖位置Pie 在畫布上畫一個餅形圖Polygon 用一組點在畫布上畫多邊形,并填上當前畫刷第6頁/共20頁TCanvas類 TCanvas類的主要方法方法 說明Polyline 用當前畫筆用一組點在畫布上畫折線,不自動閉合Rectangle 用當前畫筆在畫布上畫矩形外形線,并用當前畫刷填充RoundRect 畫帶圓角的填充矩形StretchDraw將位圖從內存中復制到

5、畫布上。位圖根據(jù)目標矩形的尺寸伸縮TextExtent 返回傳入Text參數(shù)的字串寬度和高(像素數(shù)),寬度用畫布當前字體計算TextHeight 返回傳入Text參數(shù)的字串寬度(像素數(shù)),寬度用畫布當前字體計算TextOut 用當前字體在畫布的指定位置上寫字TextRect 在剪取矩形中寫字第7頁/共20頁 在屏幕上繪制藍邊紅黑的圓CanvasBrushColor = clRed;CanvasPenColor = clBlue;CanvasEllipse(20, 20, 120, 120);第8頁/共20頁GDI對象 。最常用的GDI對象有畫筆、畫刷和字體,其它GDI對象有調用板、位圖和區(qū)域。

6、第9頁/共20頁畫筆 畫筆定義用于畫線的對象。線可以是從一點到另一點的單線,也可以是矩形、橢圓和多邊形的邊。畫筆通過TCanvas類的Pen屬性訪問。Pen屬性是TPen類的實例。第10頁/共20頁TPenTPen的屬性屬性 說明Color 設置線的顏色Handle 畫筆的句柄(HPEN),用于直接調用GDI對象Mode 確定畫線的方法(正常、逆、xor,等 等)Style 筆的樣式,實線、點線、劃線、點劃線、清除,等等Width 畫筆寬度(像素數(shù))第11頁/共20頁 下例是畫紅色劃線的代碼:Canvas-Pen-Color = clRed;Canvas-Pen-Style = psDash;

7、Canvas-MoveTo(20,20);Canvas-LineTo(120,20); 為了測試這個代碼,在窗體上放一個按鈕并將代碼輸入按鈕的OnClick處理器中。單擊按鈕時,窗體上即畫出一條直線。 提示:為了試驗TPen的不同屬性,可以在窗體上放一個Shape構件并修改形體的Pen屬性,這在檢查TPen類Mode屬性的效果時特別方便。第12頁/共20頁畫刷 畫刷表示圖形形體的填充區(qū)。繪制橢圓、矩形和多邊形時,形體會用當前畫刷填充。 TCanvas類的Brush屬性可以控制畫刷的樣子。Brush屬性是TBrush類的實例。第13頁/共20頁TBrushTBrush類的屬性屬性 說明Bitma

8、p 用作畫刷背景的位圖,對于Windows 95,位圖不得大于8x8Color 設置畫刷顏色Handle 畫刷句柄(HBRUSH),用于直接調用GDIStyle 畫刷樣式,包括實心、清除或幾種圖案之一第14頁/共20頁 缺省情況下,Style屬性設置為bsSolid。如果要填充圖案,則要將Style屬性設置為幾種圖案之一(bsHorizontal、bsVertical、bsFDiagonal、bsBDiagonal、bsCross或bsDiagCross)。第15頁/共20頁 下例用45度陰影線在窗體上畫圓:Canvas-Brush-Color = clBlue;Canvas-Brush-St

9、yle = bsDiagCross;Canvas-Ellipse(20, 20, 220, 220);第16頁/共20頁字體 為了改變畫布的字體,只要用下列代碼:Canvas-Font-Name = Courier New;Canvas-Font-Size = 14;Canvas-Font-Style = fsBold;Canvas-TextOut(20, 20, Testing);第17頁/共20頁繪制文本TextOut和TextRect() TextOut()方法是畫布上寫字的是最基本方法,只要傳入X位置、Y位置和要顯示的文本即可。例如:Canvas-TextOut(20, 20, Mas

10、on P.Reisdorph); TextRect()方法可以指定剪取矩形和顯示的文本,這個方法可以將文本限定在指定邊界內,邊界外的文本均被剪去。下列碼段保證顯示的文本不超過100像素:Canvas-TextRect(Rect(20,50,120,70),20,50,This is a very long line that might get clipped.); TextOut()方法和TextRect()都只能繪制一行文本,不能進行換行。第18頁/共20頁文本背景 改變文本背景顏色比較容易,這里可以讓文本背景顏色與文本顏色相同,做法如下:Canvas-Brush-Color=Color; 最好能使文本背景透明,方法如下:TBrushStyle oldStyle;oldStyle = Canvas-Brush-Style;Canvas-Bru

溫馨提示

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

評論

0/150

提交評論