• <sub id="h4knl"><ol id="h4knl"></ol></sub>
    <sup id="h4knl"></sup>
      <sub id="h4knl"></sub>

      <sub id="h4knl"><ol id="h4knl"><em id="h4knl"></em></ol></sub><s id="h4knl"></s>
      1. <strong id="h4knl"></strong>

      2. 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

        国产高潮无套免费视频_久久九九兔免费精品6_99精品热6080YY久久_国产91久久久久久无码
      3. <sub id="h4knl"><ol id="h4knl"></ol></sub>
        <sup id="h4knl"></sup>
          <sub id="h4knl"></sub>

          <sub id="h4knl"><ol id="h4knl"><em id="h4knl"></em></ol></sub><s id="h4knl"></s>
          1. <strong id="h4knl"></strong>

          2. 一级加勒比视频在线观看 | 亚洲伦理AⅤ一区二区三区 在线观看免费h视频网站 | 一本色道久久88亚洲精品综合 | 色就是色亚洲欧洲视频 | 日本精品一区久久久久久 | 亚洲国产美女精品久久久久 |