资源说明:参考网上的资料写的gif编解码。
编码用gdi解析常用图片格式,然后组装成gif
解码吧gif的每一帧转换成dib
gif文件格式网上有很多介绍
gif用的变长lzw压缩算法:
没弄懂原理,只知道过程。压缩取一个字符作为后缀,看看字符串是否存在。存在,用对应的编码作为前缀继续取;不存在把字符串添加到字典,前缀添加到输出流,后缀作为前缀继续取。解压取一个编码看看字典中是否存在。存在用对应的字符串的第一个字符作为后缀,看看当前字符串是否存在,不存在添加到字典中,后缀作为前缀,前缀对应的字符串添加到输出流,继续取;编码不存在,前缀对应的字符串的第一个字符作为后缀(这时当前字符串肯定不存在,字典中下一个可用编码肯定等于刚取出的编码),字符串添加到字典中,编码作为前缀,前缀对应的字符串添加到输出流,继续取。
编码流转换成字节流是按位从低到高的,window是小端模式(低字节在低地址),字节内低位在右边。
24位dib转换成8位dib时使用的八叉树算法
图片拉伸时参考的网上的双线性插值算法。
本源码包内暂不包含可直接显示的源代码文件,请下载源码包。