亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > Delphi > 正文

Delphi數據壓縮處理(1)

2019-11-18 18:46:16
字體:
來源:轉載
供稿:網友
Delphi數據壓縮處理(1) 

   Borland公司推出的 RAD開發工具 Delphi 5.0作為 Windows平臺上的主流開發工具,其可視化的開發環境和面向對象編程的強大功能已經吸引了無數的開發人員。但是,一些程序員在實際的開發過程中卻時常為對大量的數據進行壓縮而傷透腦筋,不得不去查找一些高效的壓縮算法或在網上查找第三方的控件來實現壓縮。難道 Delphi本身沒有提供這個功能嗎?其實 Delphi的程序設計師早就考慮到了這一點,他們提供了 Zlib.pas和 Zlibconst.pas兩個單元文件來解決數據壓縮問題,實現了很高的數據壓縮比率。這兩個文件保存在 Delphi 5.0安裝光盤上 InfoExtraslib目錄下,此外,在 InfoExtraslibObj目錄中還保存了 Zlib.pas單元引用的 Obj文件。下面本文以壓縮一個屏幕拷貝為例介紹如何使用這項功能。

  解決思路

  首先利用屏幕拷貝捕捉到當前整個屏幕的圖像,然后在內存中保存為 BMP文件格式。壓縮時,使用 TComPRessionStream對象對原始圖像進行壓縮并且保存為自定義的文件格式;解壓縮時,使用 TDecompressionStream對象對被壓縮的圖像進行解壓縮,還原為 BMP格式的圖像文件。

  具體實現

  新建一個項目文件,在主單元的接口部分引用 Zlib.pas,在主表單上放置兩個按鈕 Button1、 Button2,在它們的 OnClick事件中寫上相應的過程調用代碼。

  部分程序源代碼如下:

  unit Unit1;

  interface

  uses

   Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,StdCtrls, Zlib;

   type

    TForm1 = class(TForm)

    Button1: TButton;

    Button2: TButton;

    procedure Button1Click(Sender: TObject);

    procedure Button2Click(Sender: TObject);

   private

    { Private declarations }

   public

    { Public declarations }

   end;

   var

    Form1: TForm1;

    implementation

     {$ R* .DFM}

   1.捕捉全屏幕圖像

    procedure GetScreen(var Bmp: TBitmap);

    var

     Dc: HDC;

     MyCanvas: TCanvas;

     MyRect: TRect;

    begin

     Dc := GetWindowDC(0);

     MyCanvas := TCanvas.Create;

    try

     MyCanvas.Handle := Dc;

     MyRect:=Rect(0, 0,Screen.Width, Screen.Height);

     file://圖像為 24位真彩色,也可根據實際需要調整

     Bmp.PixelFormat := pf24bit;

     Bmp.Width := MyRect.Right;

     Bmp.Height := MyRect.Bottom;

     file://捕捉整個屏幕圖像

     Bmp.Canvas.CopyRect(MyRect, MyCanvas, MyRect);

     finally

     MyCanvas.Handle := 0;

     MyCanvas.Free;

     ReleaseDC(0, Dc);

    end;

   end;

 2.壓縮圖像

   procedure CompressBitmap(var CompressedStream: TMemoryStream;const CompressionLevel: TCompressionLevel);

    var

     SourceStream: TCompressionStream;

     DestStream: TMemoryStream;

     Count: Integer;

    Begin

     file://獲得圖像流的原始尺寸

     Count := CompressedStream.Size;

     DestStream := TMemoryStream.Create;

     SourceStream:=TCompressionStream.Create

     (CompressionLevel, DestStream);

     Try

      file://SourceStream中保存著原始的圖像流

      CompressedStream.SaveToStream(SourceStream);

      file://將原始圖像流進行壓縮, DestStream中保存著壓縮后的圖像流

      SourceStream.Free;

      CompressedStream.Clear;

      file://寫入原始圖像的尺寸

      CompressedStream.WriteBuffer(Count, SizeOf

      (Count));

      file://寫入經過壓縮的圖像流

      CompressedStream.CopyFrom(DestStream, 0);

      finally

      DestStream.Free;

     end;

    end;


   3.還原被壓縮圖像

    procedure UnCompressBitmap(const CompressedStream: TFileStream; var Bmp: TBitmap);

     var

      SourceStream: TDecompressionStream;

      DestStream: TMemoryStream;

上一篇:Delphi數據壓縮處理(2)

下一篇:在Delphi中編寫控件的基本方法

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
學習交流
熱門圖片

新聞熱點

疑難解答

圖片精選

網友關注

亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产日韩欧美91| 国产成人亚洲精品| 久久久国产精品免费| 一区二区三区精品99久久| 91av视频导航| 亚洲第一福利在线观看| 影音先锋欧美在线资源| 国产欧美日韩中文字幕| 久久99国产精品自在自在app| 亚洲一区www| 亚洲午夜国产成人av电影男同| 成人在线免费观看视视频| 欧美国产第二页| 18一19gay欧美视频网站| 国产精品免费一区豆花| 国产精品视频在线观看| 黑人巨大精品欧美一区免费视频| 2023亚洲男人天堂| 国产综合在线观看视频| 中文字幕亚洲图片| 亚洲欧美综合区自拍另类| 亚洲片国产一区一级在线观看| 亚洲最大成人免费视频| 国产日韩精品在线| 亚洲男人的天堂在线播放| 国产美女被下药99| 精品久久久久久| 国产精品∨欧美精品v日韩精品| 中文字幕欧美精品日韩中文字幕| 136fldh精品导航福利| 国产一区二区三区18| 欧美在线视频一区| 亚洲香蕉成视频在线观看| 国产成人一区二区三区电影| 国产精品精品国产| 日韩免费观看视频| 亚洲精品二三区| 亚洲精品久久久久久久久久久久久| 欧美一级淫片aaaaaaa视频| 国产日韩欧美在线视频观看| 午夜精品久久久久久久99热| 日韩在线免费高清视频| 精品日韩美女的视频高清| 在线观看国产精品91| 欧美成人午夜激情在线| 中文字幕亚洲欧美日韩2019| 亚洲视频在线免费观看| 成人日韩av在线| 91国产视频在线| 欧美精品videos性欧美| 中文在线不卡视频| 国产成人精品网站| 97精品一区二区视频在线观看| 欧美成aaa人片免费看| 亚洲第一精品夜夜躁人人爽| 国产精品扒开腿做爽爽爽的视频| 国产福利精品av综合导导航| 亚洲精品白浆高清久久久久久| 热久久免费视频精品| 97超级碰碰人国产在线观看| 日韩免费不卡av| 欧美另类69精品久久久久9999| 国产精品日韩精品| 日韩一级黄色av| 亚洲美女av黄| 国产精品久久久久久搜索| 国产精品中文在线| 成人日韩在线电影| 亚洲香蕉伊综合在人在线视看| 日本韩国在线不卡| 午夜精品一区二区三区在线播放| 亚洲精品女av网站| 日韩免费中文字幕| 久久人体大胆视频| 日韩亚洲欧美中文在线| 国产精品久久久久久五月尺| 日韩av电影免费观看高清| 成人久久18免费网站图片| 国内精品中文字幕| 国产91精品久久久| 欧美日韩一区二区免费在线观看| 欧美日韩美女在线观看| 亚洲精品资源美女情侣酒店| 亚洲电影免费在线观看| 中文字幕9999| 91影视免费在线观看| 日韩欧美精品免费在线| 国产美女精品视频| 欧美一区二区.| 亚洲天堂成人在线| 亚洲色图18p| 久久久久久久999精品视频| 亚洲第一区中文99精品| 国产精品久久久久久久7电影| 日韩欧美极品在线观看| 日韩精品在线免费| 日韩精品免费在线| 欧美老女人性视频| 在线观看国产成人av片| 日韩久久精品电影| 精品亚洲一区二区三区在线观看| 青青草原成人在线视频| 在线观看国产精品日韩av| 国产精品国产三级国产aⅴ9色| 大桥未久av一区二区三区| 国产日韩换脸av一区在线观看| 亚洲自拍偷拍色图| 亚洲有声小说3d| 亚洲娇小xxxx欧美娇小| 国产亚洲欧美另类中文| 91天堂在线视频| 成人午夜一级二级三级| 国产视频亚洲视频| 亚洲欧洲国产精品| 一个人看的www久久| 国产有码在线一区二区视频| 国产va免费精品高清在线观看| 欧美精品videossex性护士| 日韩欧美精品中文字幕| 日韩美女av在线免费观看| 国产亚洲精品美女久久久| 亚洲japanese制服美女| 精品国产福利视频| 日韩高清免费在线| 国产精品爽爽爽爽爽爽在线观看| 国内精品免费午夜毛片| 久久久精品久久| 亚洲国产天堂久久综合| 欧美性猛交xxxx乱大交| 午夜精品久久久久久久久久久久久| 国产精国产精品| 国产精品爽黄69天堂a| 欧美日韩精品中文字幕| 日韩小视频在线| 欧美激情亚洲视频| 中文字幕亚洲一区二区三区五十路| 国产日产亚洲精品| 亚洲国产精品成人一区二区| 最新国产成人av网站网址麻豆| 福利视频第一区| 最近2019年中文视频免费在线观看| 亚洲精品一区二区三区不| 精品无人区乱码1区2区3区在线| 中文字幕精品在线| 亚洲欧美一区二区三区在线| 欧美黑人xxxⅹ高潮交| 国产精品久久久久久亚洲调教| 色偷偷噜噜噜亚洲男人的天堂| 成人免费淫片aa视频免费| 久久精品99久久香蕉国产色戒| 欧美成年人网站| 久久久久久久久久久亚洲| 欧美一级视频一区二区| 色综合视频一区中文字幕| 亚洲欧美中文字幕| 久久高清视频免费| 激情av一区二区| 亚洲精品自拍偷拍| 日韩**中文字幕毛片| 日本国产欧美一区二区三区| 日韩美女视频免费看| 中文字幕不卡av| 日本午夜在线亚洲.国产| 国模精品视频一区二区|