• Gif图像解码器


    上一篇LZW压缩算法解码器实现中,实现了lzw压缩算法的解码,如果完成那一步,其实gif的解码已经实现大一半了,可以说攻克了技术难点,本文给出gif图像文件的解码器实现,对算法和gif图像有兴趣的同学可以下载下去研究。注:算法需要静下来来慢慢研究,心急气躁,急功近利者就免了,以防走火入魔,:)

    声明:jillzhang的gif图像解码器有如下的特点

    1)  解码效率很高,高到什么地步,大体上就是说能高到顶尖水平,基本上再改善算法,也不会有数量级上的提升了。举例来说比codeproject上NGif项目的解码器效率至少高200倍以上
    2)  解码完全,按照gif的文件格式,能解析出所有的数据段,包括注释扩展块,应用程序扩展块,图形文本扩展块,逻辑屏幕描述等。
    3)  将gif文件解析的更加完全,如果你看不懂长达 几千行的其他解码算法,你可以看看这个,看完后,就知道我这个庖丁是如何解牛的了,:)
    4)  完全开放源码,而且会在后面的篇幅中逐步说明算法设计原理和实现思路

    特别声明:美国Unisys公司申请了此格式所用到核心压缩算法LZW的专利保护,在没有向该公司交纳版税而获得授权的前提下都不能使用GIF格式进行创作和发布.但此项专利已经在2003年6月20号过期了, 而Unisys也没有继续申请专利延期(估计是被骂得太狼狈, 自己也不好意思了)。所以本文研究的Gif图像解码是合法的,但作者仍郑重声明:此实现只用于技术研究,请勿用于商业,否则后果自负。下载使用或者修改必须保留原作者信息:jillzhang,我在实现过程中也参考了NGif中的部分实现,实现代码中也有足够的声明。

    本解码器的一些应用:

    1)  获取gif的每一帧图像
    2)  获取gif图像中的隐藏注释信息
    3)  获取gif文件中隐藏的应用程序扩展信息
    4)  获取gif文件中隐藏的文本信息
    5)  获取gif文件的背景色
    6)  获取gif文件的文件头
    7) 
    获取gif背景文件大小
    8) 
    获取gif文件的全局颜色表

    解码器项目源文件:

     /Files/jillzhang/GifUtility.rar

    目前可能出现的问题 :

    1) Gif在编码中有两种数据排列方式,顺序方式和交织方式。顺序方式我已经有了比较多的测试,应该不会有问题,而交织方式的gif我一直没有找到,所以还没有来的急测试,可能会有异常,希望有人发现后,反馈给我。

  • 相关阅读:
    爱信诺面试总结
    项目进展日志6
    项目进展日志5
    项目进展日志4
    项目进展日志3
    项目进展日志2
    项目阶段总结
    项目进展日志
    事物的ACID特性
    5.27作业
  • 原文地址:https://www.cnblogs.com/jillzhang/p/1084196.html
Copyright © 2020-2023  润新知