Delphi中畫(huà)布應(yīng)用兩則_第1頁(yè)
Delphi中畫(huà)布應(yīng)用兩則_第2頁(yè)
Delphi中畫(huà)布應(yīng)用兩則_第3頁(yè)
Delphi中畫(huà)布應(yīng)用兩則_第4頁(yè)
Delphi中畫(huà)布應(yīng)用兩則_第5頁(yè)
全文預(yù)覽已結(jié)束

下載本文檔

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

文檔簡(jiǎn)介

Delphi中畫(huà)布應(yīng)用兩則

關(guān)鍵字:Delphi、畫(huà)布、背景色、分割圖像

----在Delphi中,窗體、BitBtn控件、SpeedButton控件和PaintBox等控件都具有畫(huà)布屬性。調(diào)用Canvas的作圖函數(shù)可以在屏幕上畫(huà)圖,如畫(huà)圓、畫(huà)線等。另外,Canvas有一個(gè)屬性叫Pixels,Pixels是一個(gè)二維數(shù)組,它的一個(gè)元素對(duì)應(yīng)著屏幕上的一個(gè)像素點(diǎn),數(shù)組元素的值代表像素點(diǎn)的顏色。利用Canvas的屬性Pixels可以實(shí)現(xiàn)一些有趣的功能,下面介紹它的兩則應(yīng)用。

----1.制作背景色

----我們?cè)谝恍┸浖陌惭b界面可以看到由深到淺的背景色,看起來(lái)效果相當(dāng)不錯(cuò)。在Delphi中利用Canvas的屬性Pixels可以制作這樣的背景色,只要按行或按列改變像素點(diǎn)的顏色就可以了。一個(gè)示例程序的編制過(guò)程

----建立一個(gè)新的應(yīng)用程序。

----把Form1的屬性BorderStyle改為bsNone,在Form1的OnDblClick事件中,鍵入代碼后如下所示:

(Sender:TObject);

varMyColor:Longint;

x,y:Word;

begin

MyColor:=$33;{顏色基數(shù)}

withCanvasdo

begin

{當(dāng)x坐標(biāo)在外循環(huán),y坐標(biāo)在內(nèi)

循環(huán)時(shí),顏色按列逐漸變化;反之則按行變化}

forx:=0toWidthdo

begin

ifxmod4=0then{每隔4列變化一次顏色}

begin

MyColor:=MyColor+1;{顏色增量為1}

end;

fory:=0toHeightdo

begin

Pixels[x,y]:=RGB(0,0,MyColor);

{用API函數(shù)宏RGB合成顏色}

end;

end;

end;

end;

----運(yùn)行程序,在窗體中雙擊鼠標(biāo)左鍵,觀看運(yùn)行結(jié)果。

----按Alt+F4鍵,結(jié)束運(yùn)行。

----以上程序在24位色、800*600的分辨率下調(diào)試通過(guò)。

----2.分割圖像

----有時(shí)候我們需要把一個(gè)圖像分割成幾部分。比如做一個(gè)拼版游戲時(shí),就需要把圖像分割成16塊。利用Canvas的屬性Pixels可以實(shí)現(xiàn)這一功能。下面的例子演示了如何把Image控件中的圖像分成左右兩部分并把它們復(fù)制到窗體的畫(huà)布上。本示例程序的制作步驟

----建立一個(gè)新的應(yīng)用程序。

----在窗體中加入一個(gè)Image控件,名字為Image1。把屬性Picture設(shè)置為Delphi目錄下的Image“Buttons“。

----在類(lèi)TForm1的private部分,加入語(yǔ)句:

procedureDivideCanvas(formBegX,

ImageBaseX,HalfImageWidth:Integer);

在單元的implementation部分加

上過(guò)程DivideCanvas的實(shí)現(xiàn)。

procedure

(formBegX,

ImageBaseX,HalfImageWidth:Integer);

varx,y:integer;

begin

forx:=0toHalfImageWidth-1do

begin

fory:=

begin

[formBegX+x,y]:=

[ImageBaseX+x,y];

end;

end;

end;

----在Form1的OnPaint事件中,加入代碼后如下所示:

(Sender:TObject);

varHalfImageWidth:integer;

begin

HalfImageWidth:=;

DivideCanvas(0,0,HalfImageWidth);

{復(fù)制圖像的左半部分}

DivideCanvas(HalfImageWidth+50,

HalfI

溫馨提示

  • 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ù)網(wǎng)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論