摘要载入中…    请稍等…












内容载入中…    请稍等…

如长时间看不到内容,请关闭浏览器,重新打开此页!

芯友首页 应用软件 编程开发 网络硬件 资源下载 动漫音乐 精美图库 芯友论坛 视频教程 电脑技术QQ群:72845454
 ★★photoshop学友-史上最强播放器★★
 位置:编程开发>Deiphi>Deiphi实例教程
◎→ 本类最新
在DELPHI中用线程排序
在Delphi中使用Queued Component
作非常规程序菜单掌握delphi
执行一个外部程序并等待它的完成
在应用程序中跟踪MOUSE的坐标
五子棋源代码
显示密码的原理
◎→相关资源
C语言入门视频教程
C#编程WinForm入门视频
Asp.net入门视频教程下载
VC++编程视频教程下载
VB窗体文章
HTML入门教程
Deiphi实例教程
Deiphi窗体文章
Deiphi数据库编程
Deiphi网络编程
Deiphi图形图象文章
Deiphi系统文件
◎→ 热门资源
图解Delphi 8 Eco 开发实战
用Delphi编写后台监控软件
用Delphi获取Windows及系统路径
用Delphi实现24位真彩色图标
用Delphi实现24位真彩色图标(2)
用Delphi实现24位真彩色图标(1)
用Delphi7.0实现漂亮的汉字窗口

Delphi数据压缩处理(2)


日期:2008-10-20 22:11:22    来源:
   
 ·图解Delphi 8 Eco 开发实战 ·Delphi数据库编程一日通(3)
 ·MSSQL压缩数据库 ·Photoshop照片处理好帮手:外挂滤镜55mm-14

Delphi数据压缩处理册 数字化校园网解决方案
   3.还原被压缩图像

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

     var

      SourceStream: TDecompressionStream;

      DestStream: TMemoryStream;

      Buffer: PChar;

      Count: Integer;

     Begin

      file://从被压缩的图像流中读出原始图像的尺寸

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

      file://根据图像尺寸大小为将要读入的原始图像流分配内存块

      GetMem(Buffer, Count);

      DestStream := TMemoryStream.Create;

      SourceStream := TDecompressionStream.Create(CompressedStream);

     Try

      file://将被压缩的图像流解压缩,然后存入 Buffer内存块中

      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对象中的图像保存至内存流中

      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属性,该属性用于描述对原始数据进行压缩后的压缩比率,而 OnProgress事件在压缩与解压缩过程中都会被触发,开发人员可以在该事件中编写用于显示进度的代码。

  以上代码在 Delphi 5.0中调试运行通过。  [1]

用Delphi编写后台监控软件

Delphi数据库编程一日通(2)

创建Zip压缩文件夹

Photoshop照片处理好帮手:外挂滤镜55mm-13

--->腾讯QQ IP数据库 2007.05.13┊附带IP数据维护工具V1.1┊珊瑚虫精简绿色特别版
--->腾讯QQ IP数据库 2007.05.06┊附带IP数据维护工具V1.1┊珊瑚虫精简绿色特别版
--->QQ IP数据库 2006.6.13 珊瑚虫精简版
--->Web Downloader V1.0.8.00┊可处理所有的因特网下载文件任务┊英文绿色免费版
--->CIH破坏的硬盘数据修复工具
Tags:  Delphi 数据 压缩 处理

芯友网版权所有 1999-2006 | 著作权与商标声明 | 法律声明 | 服务条款 | 隐私声明 | 联系我们