亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        動(dòng)態(tài)圖像瀏覽器的設(shè)計(jì)與應(yīng)用

        2013-12-31 00:00:00劉暢

        摘 要:隨著Internet的普及與快速發(fā)展,網(wǎng)頁瀏覽人數(shù)與日俱增, 為了增強(qiáng)網(wǎng)頁的動(dòng)態(tài)性,動(dòng)態(tài)圖像廣泛使用,而動(dòng)態(tài)圖像瀏覽器的設(shè)計(jì)與應(yīng)用逐漸引起業(yè)界人士的重視,本文主要介紹了一款通過Delphi控件所設(shè)計(jì)并應(yīng)用的動(dòng)態(tài)圖像瀏覽器。

        關(guān)鍵詞:動(dòng)態(tài)圖像瀏覽器;Delphi;控件

        中圖分類號(hào):TP311

        1 動(dòng)態(tài)圖像瀏覽器的設(shè)計(jì)

        本文要設(shè)計(jì)一個(gè)動(dòng)態(tài)圖像瀏覽器,當(dāng)點(diǎn)擊“開始”按鈕時(shí),在窗口中的圖像將向上滾動(dòng),通過調(diào)節(jié)滾動(dòng)條的值可以調(diào)整滾動(dòng)的速度。另外,組成位圖的基本單位是像素,存儲(chǔ)每個(gè)像素所需的位數(shù)可以不同,也就可以說不同位圖所使用的顏色數(shù)量可以不同,這就是顏色深度的概念。本文設(shè)置了三個(gè)菜單項(xiàng)和一個(gè)工具欄,其中工具欄上的按鈕和滾動(dòng)條是用來控制圖像滾動(dòng)的,在運(yùn)行程序時(shí)是不可見的,通過執(zhí)行“選項(xiàng)”菜單中的命令調(diào)出。本文設(shè)計(jì)的核心是實(shí)現(xiàn)圖像在窗口中的滾動(dòng),響應(yīng)”開始“按鈕的單擊事件代碼中有一個(gè)外部循環(huán)和一個(gè)內(nèi)部循環(huán),外部循環(huán)用于重復(fù)滾動(dòng)操作,位圖有多少行就滾動(dòng)多少次;而內(nèi)部循環(huán)則是通過將位圖的每一行數(shù)據(jù)向前復(fù)制一次來執(zhí)行滾動(dòng)操作。圖像的每一行數(shù)據(jù)臨時(shí)存儲(chǔ)在動(dòng)態(tài)分配的內(nèi)存區(qū)的一個(gè)內(nèi)存塊中,可以通過訪問內(nèi)存地址來獲得。滾動(dòng)操作是通過調(diào)用Delphi的Move函數(shù)來實(shí)現(xiàn)的,該函數(shù)不能以變量的內(nèi)存地址作為參數(shù),所以需要應(yīng)用到指針變量作為轉(zhuǎn)換的橋梁。要顯示當(dāng)前位圖的顏色深度,需要調(diào)用Pixel Format屬性即可。

        2 動(dòng)態(tài)圖像瀏覽器的應(yīng)用

        2.1 創(chuàng)建一個(gè)新的標(biāo)準(zhǔn)工程。如果Delphi已經(jīng)運(yùn)行,可以創(chuàng)建一個(gè)名為“Form1”的新窗體。

        2.2 為窗體創(chuàng)建三個(gè)菜單項(xiàng)。為窗體添加上MainMenu圖標(biāo)后,為窗體添加“文件”、“選項(xiàng)”、“關(guān)于”三個(gè)菜單選項(xiàng)及下屬命令。

        2.3 為窗體添加上Panel控件,將Align屬性設(shè)置為alTop,Visible屬性設(shè)置為False。再將Panel作為父容器,在其上添加兩個(gè)BitBtn控件、一個(gè)Label控件和一個(gè)TrackBar控件。分別將BitBtn控件的Caption屬性設(shè)為“開始”和“停止”,再為它們添加上有功能提示作用的圖像,將“停止”按鈕的Enabled屬性設(shè)置為False。為窗體添加上OpenDialog控件作為打開文件之用。再為窗體添加上Image控件,將Align屬性設(shè)置為alClient。

        2.4 首先在程序的初始階段定義整型變量nLines和布爾型變量fCancel:

        var

        Form1:TForm1;

        nLines:Interger;

        fCancel:Boolean;

        2.5 雙擊窗體的空白處,在彈出的代碼窗口中為窗體的初始化添加以下代碼:

        procedure tform1.formcreate(sender:tobject);

        begin

        TrackBar1Change(self);

        end;

        2.6 以下是“開始”按鈕OnClick時(shí)間處理程序的完整代碼:

        Procedure TForm1.BitBtn1Click(Sender:TObject);

        Var

        W,H,I,J,LineBytes:integer;

        Line:PbyteArray;

        Bmp:TBitmap;

        R:TRect;

        Begin

        fCancel:=False;

        BitBtn1.Enabled:=False;

        BitBtn2.Enabled:=Ture;

        Bmp:=Image1.Picture.Bitmap;

        W:=Bmp.Width;

        H;=Bmp.Height;

        LineBytes:=Abs(Integer(Bmp.ScanLine[1]) Integer(Bmp.ScanLine[0]));

        Line:=AlloMem(LineBytes);

        for I:=0 to H-1 do

        begin

        if fCancel then

        Break;

        Move((Bmp.ScanLine[0])^,Line^,LineByters);

        for J:=0 to H-1 do

        begin

        Move((Bmp.ScanLine[J])^,Bmp.ScanLine[J-1]^,LineByters);

        If(J mod nLines=0) then

        begin

        R:=Rect(0,Panell,Height+J-nLines,W,Panell.Height+j);

        InvalidateRect(Handle,@R,F(xiàn)alse);

        UpdateWindow(Handle);

        end

        end;

        end;

        BitBtn1.Enabled:=True; //激活“開始”按鈕

        BitBtn2.Enabled:=False; //“停止”按鈕失效

        end;

        2.7 為“停止”按鈕的OnClick事件編寫代碼,當(dāng)執(zhí)行圖像滾動(dòng)時(shí),點(diǎn)擊“停止”按鈕,則改變標(biāo)志fCancel的值,從而停止圖像滾動(dòng)。

        procedure tform1.bitbtn2click(sender:tobject);

        begin

        fCancel:=Ture;

        end;

        2.8 用戶還可以通過調(diào)整滾動(dòng)條的值來改變圖像滾動(dòng)的速度,為滾動(dòng)條的OnChange件添如下代碼:

        procedure TForm1.TrackBar1Change(sender:Tobject);

        begin

        nLines:=TrackBar1.Position;

        TrackBar1.Hint:=IntToStr(TrackBar1.Position);

        End;

        2.9 同時(shí)可以為當(dāng)前圖像顏色深度和菜單命令添加驅(qū)動(dòng)代碼,限于篇幅,不在詳細(xì)列出。

        2.10 完成所有步驟之后,就可以進(jìn)行編譯和運(yùn)行,如果程序無誤,就可以運(yùn)行程序。

        3 總結(jié)

        本文主要介紹了動(dòng)態(tài)圖像瀏覽器的設(shè)計(jì)思想和具體開發(fā)應(yīng)用的操作, 通過具體事例實(shí)現(xiàn)了動(dòng)態(tài)圖像瀏覽器的應(yīng)用。

        參考文獻(xiàn):

        [1]Marco Cantu.Delphi 7從入門到精通[M].北京:電子工業(yè)出版社,2003,08.

        [2]網(wǎng)冠科技.Delphi控件時(shí)尚編程百例[M].北京:機(jī)械工業(yè)出版社,2001,07.

        作者簡介:劉暢(1978-),研究方向:計(jì)算機(jī)網(wǎng)絡(luò)研究方向。

        作者單位:吉林工商學(xué)院,長春 130062

        99久久精品日本一区二区免费| 中文字幕亚洲一区视频| 日韩三级一区二区不卡| 色天使综合婷婷国产日韩av| 青青草国产成人99久久| 熟女少妇av免费观看| 日本精品一区二区三区在线观看| 麻豆婷婷狠狠色18禁久久 | 亚洲国产精品成人久久| 中文字幕爆乳julia女教师| 色欲AV无码久久精品有码| 色婷婷久久综合中文久久一本| 成人片黄网站a毛片免费| 亚洲色欲色欲www在线播放| 久久这里有精品国产电影网| 少妇熟女天堂网av天堂| 国产精品久久久久9999无码| 国产人碰人摸人爱视频| 国产人妖一区二区在线| 亚洲国产av一区二区三区精品| 亚洲av午夜国产精品无码中文字| 亚洲天堂中文| 午夜宅男成人影院香蕉狠狠爱| 久久婷婷色香五月综合缴缴情| 久久精品一区二区三区av| 国产自精品在线| 亚洲自拍偷拍一区二区三区| 久久综合亚洲色hezyo国产| 亚洲人在线观看| 美腿丝袜一区在线观看| 人人妻人人添人人爽欧美一区| 国产成人亚洲精品无码h在线| 亚洲第一区二区快射影院| 亚洲激情一区二区三区不卡| 人人爽久久涩噜噜噜丁香| 国产V日韩V亚洲欧美久久| 日本女u久久精品视频| 午夜爽爽爽男女污污污网站| 国产国拍亚洲精品mv在线观看| 亚洲色图在线视频观看| 十八禁视频在线观看免费无码无遮挡骂过|