亚洲免费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

        亚洲欧美乱综合图片区小说区 | 国产91精品高潮白浆喷水| 亚洲av本道一本二本三区 | 日本加勒比一区二区在线观看| 国产色婷婷久久又粗又爽| 国产精品视频免费播放 | 一区二区三区视频| 亚洲深深色噜噜狠狠爱网站| 99RE6在线观看国产精品| 91久久精品一区二区| 亚洲乱码中文字幕久久孕妇黑人| 男人进去女人爽免费视频| 伊人色综合视频一区二区三区| 国内久久婷婷精品人双人| 在线免费午夜视频一区二区| 亚洲一区二区在线观看网址| 台湾佬中文网站| 国产在线观看无码免费视频| 国产一级农村无码| 日韩av在线不卡观看| 国产精品亚洲一区二区三区久久 | 久久99精品久久久久久9蜜桃| 大香视频伊人精品75| 能看的网站中文字幕不卡av| 美女很黄很色国产av| 国产一区二区波多野结衣| 国产亚洲AV无码一区二区二三区| 青青草99久久精品国产综合| 亚洲中文字幕精品久久a| 午夜天堂av天堂久久久| 夫妇交换性三中文字幕| 馬与人黃色毛片一部| 中文字幕成人乱码亚洲| 亚洲一区二区三区四区精品在线| 成人特黄a级毛片免费视频| 又大又粗弄得我出好多水| 国产亚洲一区二区三区成人 | 成人永久福利在线观看不卡| 国产一区二区免费在线观看视频| 精品国产sm最大网站| 中文字幕日韩人妻不卡一区|