a亚洲精品_精品国产91乱码一区二区三区_亚洲精品在线免费观看视频_欧美日韩亚洲国产综合_久久久久久久久久久成人_在线区

首頁 > 編程 > Delphi > 正文

Delphi數(shù)據(jù)壓縮處理(2)

2019-11-18 18:46:16
字體:
來源:轉載
供稿:網(wǎng)友
Delphi數(shù)據(jù)壓縮處理(2)

      Buffer: PChar;

      Count: Integer;

     Begin

      file://從被壓縮的圖像流中讀出原始圖像的尺寸

      ComPRessedStream.ReadBuffer(Count, SizeOf(Count));

      file://根據(jù)圖像尺寸大小為將要讀入的原始圖像流分配內(nèi)存塊

      GetMem(Buffer, Count);

      DestStream := TMemoryStream.Create;

      SourceStream := TDecompressionStream.Create(CompressedStream);

     Try

      file://將被壓縮的圖像流解壓縮,然后存入 Buffer內(nèi)存塊中

      SourceStream.ReadBuffer(Buffer^, Count);

      file://將原始圖像流保存至 DestStream流中

      DestStream.WriteBuffer(Buffer^, Count);

      DestStream.Position := 0;//復位流指針

      //從 DestStream流中載入原始圖像流

      Bmp.LoadFromStream(DestStream);

      finally

      FreeMem(Buffer);

      DestStream.Free;

     end;

    end;

   4.壓縮按鈕 OnClick事件

    procedure TForm1.Button1Click(Sender: TObject);

     var

      Bmp: TBitmap;

      CompressedStream: TMemoryStream;

     begin

      Bmp := TBitmap.Create;

      CompressedStream := TMemoryStream.Create;

     Try

       file://捕獲當前整個屏幕 ,將圖像保存至 Bmp對象中 GetScreen(Bmp);

      file://將 Bmp對象中的圖像保存至內(nèi)存流中

      Bmp.SaveToStream(CompressedStream);

      file://按缺省的壓縮比例對原始圖像流進行壓縮

      CompressBitmap(CompressedStream, clDefault);

      file://將壓縮之后的圖像流保存為自定義格式的文件

      CompressedStream.SaveToFile(‘ C:cj.dat’ );

      finally

      Bmp.Free;

      CompressedStream.Free;

     end;

    end;

   5.解壓縮按鈕 OnClick事件

     procedure TForm1.Button2Click(Sender: TObject);

      var

       CompressedStream: TFileStream;

       Bmp: TBitmap;

      begin

       Bmp := TBitmap.Create;

       file://以文件流的只讀方式打開自定義的壓縮格式文件

       CompressedStream := TFileStream.Create(‘ C:cj.dat’ , fmOpenRead);

      Try

       file://將被壓縮的圖像流進行解壓縮

       UnCompressBitmap(CompressedStream, Bmp);

       file://將原始圖像流還原為指定的 BMP文件

       Bmp.SaveToFile(‘ C:cj.bmp’ );

       finally

       Bmp.Free;

       CompressedStream.Free;

      end;

      end;

  此外 TCompressionStream對象還提供了 CompressionRate屬性,該屬性用于描述對原始數(shù)據(jù)進行壓縮后的壓縮比率,而 OnProgress事件在壓縮與解壓縮過程中都會被觸發(fā),開發(fā)人員可以在該事件中編寫用于顯示進度的代碼。

  以上代碼在 Delphi 5.0中調(diào)試運行通過。

上一篇:用Delphi制作中國式報表

下一篇:Delphi數(shù)據(jù)壓縮處理(1)

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

新聞熱點

疑難解答

圖片精選

網(wǎng)友關注

主站蜘蛛池模板: 国产网站在线播放 | 日韩精品无玛区免费专区又长又大 | 国产成人免费网站 | 91在线最新 | 日韩精品一区二区三区在线播放 | 国产免费观看一区二区三区 | 欧美黄色一区 | 国产精品久久久久国产a级 一区二区三区在线 | 日韩成人在线播放 | 日韩在线 | 91亚洲国产成人精品性色 | 亚洲色图第八页 | 四虎在线视频 | 精品国产31久久久久久 | 亚洲一二三在线 | 黄色免费观看网站 | 国产精品一区二区三区在线播放 | 久久九九久久精品 | 国产精品久久久久久久久久 | 久久一区 | 中文字幕乱码一区二区三区 | 99久久综合| 这里只有精品在线视频观看 | 天堂精品一区 | 中文字幕一区二区三区乱码图片 | 日本精品一区二区在线观看 | 日本福利视频网 | 日韩精品一区二区三区在线播放 | 激情免费视频 | 激情视频网站 | 欧美变态网站 | 美女一区| 久久国产精品免费视频 | 一区二区中文字幕在线观看 | 国产免费一区二区三区四区五区 | 欧美一二三区在线观看 | 夜夜久久 | 二区视频 | 综合激情av | 欧美涩涩视频 | 国产精品久久久久久久午夜 |