<dfn id="w48us"></dfn><ul id="w48us"></ul>
  • <ul id="w48us"></ul>
  • <del id="w48us"></del>
    <ul id="w48us"></ul>
  • Delphi中畫布應用

    時間:2024-07-24 22:28:38 計算機應用畢業論文 我要投稿
    • 相關推薦

    Delphi中畫布應用兩則

    關鍵字:Delphi、畫布、背景色、分割圖像
    ---- 在Delphi 中, 窗 體(Form)、BitBtn 控 件、SpeedButton 控件和PaintBox等控件都具有畫布(Canvas)屬性。調用Canvas的作圖函數可以在屏幕上畫圖,如畫圓、畫線等。另外,Canvas有一個屬性叫Pixels,Pixels是一個二維數組,它的一個元素對應著屏幕上的一個像素點,數組元素的值代表像素點的顏色。利用Canvas的屬性Pixels可以實現一些有趣的功能,下面介紹它的兩則應用。
    ----1.制作背景色
    ----我們在一些軟件的安裝界面可以看到由深到淺(或由淺到深)的背景色,看起來效果相當不錯。在Delphi中利用Canvas的屬性Pixels可以制作這樣的背景色,只要按行或按列改變像素點的顏色就可以了。一個示例程序的編制過程如下:
    ----(1)建立一個新的應用程序。
    ----(2)把Form1的屬性BorderStyle改為bsNone,在Form1的OnDblClick事件中,鍵入代碼后如下所示:

    procedureTForm1.FormDblClick(Sender:TObject);
    varMyColor:Longint;
    x,y:Word;
    begin
    MyColor:=$33;{顏色基數}
    withCanvasdo
    begin
    {當x坐標在外循環,y坐標在內
    循環時,顏色按列逐漸變化;反之則按行變化}
    forx:=0toWidthdo
    begin
    ifxmod4=0then{每隔4列變化一次顏色}
    begin
    MyColor:=MyColor 1;{顏色增量為1}
    end;
    fory:=0toHeightdo
    begin
    Pixels[x,y]:=RGB(0,0,MyColor);
    {用API函數宏RGB合成顏色}
    end;
    end;
    end;
    end;
    ----(3)運行程序,在窗體中雙擊鼠標左鍵,觀看運行結果。
    ----(4)按Alt F4鍵,結束運行。
    ----以上程序在24位色、800*600的分辨率下調試通過。
    ----2.分割圖像
    ----有時候我們需要把一個圖像分割成幾部分。比如做一個拼版游戲時,就需要把圖像分割成16塊。利用Canvas的屬性Pixels可以實現這一功能。下面的例子演示了如何把Image控件中的圖像分成左右兩部分并把它們復制到窗體的畫布上。本示例程序的制作步驟如下:
    ----(1)建立一個新的應用程序。
    ----(2)在窗體中加入一個Image控件,名字為Image1。把屬性Picture設置為Delphi目錄下的ImageButtonsAbort.bmp。
    ----(3)在類TForm1的private部分,加入語句:

    procedureDivideCanvas(formBegX,
    ImageBaseX,HalfImageWidth:Integer);
    在單元的implementation部分加
    上過程DivideCanvas的實現。
    procedure
    TForm1.DivideCanvas(formBegX,
    ImageBaseX,HalfImageWidth:Integer);
    varx,y:integer;
    begin
    forx:=0toHalfImageWidth-1do
    begin
    fory:=0toImage1.Height-1do
    begin
    Canvas.Pixels[formBegX x,y]:=
    Image1.Canvas.Pixels[ImageBaseX x,y];
    end;
    end;
    end;

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

    procedureTForm1.FormPaint(Sender:TObject);
    varHalfImageWidth:integer;
    begin
    HalfImageWidth:=Image1.Widthdiv2;
    DivideCanvas(0,0,HalfImageWidth);
    {復制圖像的左半部分}
    DivideCanvas(HalfImageWidth 50,
    HalfImageWidth,HalfImageWidth);
    {復制圖像的右半部分}
    end;
    ----(5)運行程序進行測試。
    ----以上兩個演示程序在Delphi6.0和Delphi7.0中均調試通過。論文出處(作者):
    VBA在限定Excel工作表用戶按鈕中的應用
    淺析規劃管理信息整合與服務——以南昌市規劃管理信息系

    【Delphi中畫布應用】相關文章:

    在Delphi中巧用Windows 的API函數03-20

    Delphi 5 數據庫應用中ODBC數據源的自動管理03-18

    利用Delphi開發網絡數據庫應用03-03

    基于Delphi的試卷智能生成系統設計Delphi+SQL11-23

    delphi題庫系統(一)03-07

    文件自動分類系統Delphi03-08

    紅外遙控在汽車中的應用03-19

    淺析力學在機械中的應用05-19

    竹子在設計中的應用價值12-02

    RPMS在煉化企業中的應用12-09

    主站蜘蛛池模板: 精品一区二区久久久久久久网站| 久久久久国产日韩精品网站| 国产精品亚洲日韩欧美色窝窝色欲 | 中文字幕精品无码久久久久久3D日动漫 | 国产精品99久久精品| 久久久精品久久久久特色影视 | 午夜精品久久久久久中宇| 四虎在线精品视频一二区| 亚洲国产一成人久久精品| 日韩蜜芽精品视频在线观看| 久久国产精品久久国产精品| 亚洲精品白浆高清久久久久久| 国产91精品黄网在线观看| 无码囯产精品一区二区免费| 老湿亚洲永久精品ww47香蕉图片| 精品久久一区二区| 久久久久99精品成人片直播| 99久久久精品| 亚洲av日韩精品久久久久久a | 国内精品伊人久久久久AV影院| 老汉精品免费AV在线播放| 欧美精品人人做人人爱视频| 97久人人做人人妻人人玩精品| 2021久久国自产拍精品| 亚洲AV永久无码精品网站在线观看 | 99久久亚洲综合精品网站| 国产精品亚洲片夜色在线| 久热这里只有精品12| 亚洲视频在线精品| 国内精品久久久久国产盗摄 | 久久精品国产亚洲77777| 91大神精品全国在线观看| 久久精品国产影库免费看| 国产亚洲精品自在久久| 精品亚洲成a人片在线观看少妇| 欧美日韩精品一区二区三区不卡| 国产精品白丝jkav网站| 精品欧美小视频在线观看| 欧美精品亚洲精品日韩专区 | 日韩精品无码中文字幕一区二区| 亚洲中文久久精品无码|