工控编程吧
标题:
上位机LZW与RLE压缩解压算法原代码下载及使用方法
[打印本页]
作者:
qq263946146
时间:
2021-2-17 21:12
标题:
上位机LZW与RLE压缩解压算法原代码下载及使用方法
LZW与RLE压缩解压算法是什么?
这里不是介绍它俩,而是提供源代码供大伙快速复制黏贴应用到自己的工程源代码去。
这种算法一般在我们使用PS等图片编辑软件,
保存图片为位图BMP时会看到保存选项,
如下图。
(, 下载次数: 2)
上传
点击文件名下载附件
保存为BMP时会有RLE等压缩选项。
使用压缩方法处理的图片会小很多。
压缩代码例程中,可以用于压缩与解压任意后缀类型文件。
也可使用关键的两个函数实现数据在内存的解压与压缩。
这里提供的源代码是使用VC6.0编写的。
我通过VS2010打开编译试运行,
所以其他版本应该也是可以直接编译通过的。
界面如下。
(, 下载次数: 2)
上传
点击文件名下载附件
例程压缩文件后,默认保存的文件后缀为foo。
选择此类型文件后,解码按钮可用,
选择其他类型文件后,编码按钮可用。
解压或压缩结束后,执行过程的相关信息事后会统一显示在界面上。
压缩时会事先添加数据描述信息。
8,"foo2002a" //固定的描述字符,长8字节;
2,16 //后面的字节数量,长2字节;
2,0 //压缩方法,0:lzw,1:rle,长2字节;
4,3838438 //被压缩的文件长,长4字节;
8,123 //压缩数据所用的时间,长8字节;
2,0x0e //文件名称长,长2字节;
// 再偏移0x0e字节的文件名,才为实际压缩后的数据;
再执行压缩。
要注意的事,执行压缩前还会将储存空间第一字节赋值为8,
偏移此一字节后才储存具体的压缩数据。
同样执行解压缩与会按顺序读取描述信息,再读取那一个字节的数据。
最后才执行解压。
例程是演示文件的压缩与解压,也可自己提取关键的代码,不要上边的描述信息。
用于内存数据的压缩与解压。
例程下载地址:
(, 下载次数: 0)
上传
点击文件名下载附件
欢迎光临 工控编程吧 (https://www.gkbc8.com/)
Powered by Discuz! X3.4