GifCodec

所属分类:GDI/图象编程
开发工具:Visual C++
文件大小:428KB
下载次数:8
上传日期:2015-01-17 20:22:25
上 传 者shamozhihuzhubohu
说明:  参考网上的资料写的gif编解码。 编码用gdi解析常用图片格式,然后组装成gif 解码吧gif的每一帧转换成dib gif文件格式网上有很多介绍 gif用的变长lzw压缩算法: 没弄懂原理,只知道过程。压缩取一个字符作为后缀,看看字符串是否存在。存在,用对应的编码作为前缀继续取;不存在把字符串添加到字典,前缀添加到输出流,后缀作为前缀继续取。解压取一个编码看看字典中是否存在。存在用对应的字符串的第一个字符作为后缀,看看当前字符串是否存在,不存在添加到字典中,后缀作为前缀,前缀对应的字符串添加到输出流,继续取;编码不存在,前缀对应的字符串的第一个字符作为后缀(这时当前字符串肯定不存在,字典中下一个可用编码肯定等于刚取出的编码),字符串添加到字典中,编码作为前缀,前缀对应的字符串添加到输出流,继续取。 编码流转换成字节流是按位从低到高的,window是小端模式(低字节在低地址),字节内低位在右边。 24位dib转换成8位dib时使用的八叉树算法 图片拉伸时参考的网上的双线性插值算法。 字典满了位数加一,位数是12时不加
(Online reference materials written gif codec. Encoded using gdi resolve common image formats, and then assembled into a gif Each frame decode it into a gif dib There are many online gif file format introduced gif lzw with variable length compression algorithm: Did not understand the principle, only know the process. Compression takes a character as a suffix, and see if there is a string. Exist as a prefix to continue to take with the corresponding encoding there is no string to add to the dictionary, a prefix added to the output stream, the suffix as a prefix to continue to take. Take a look at extracting coding dictionary exists. Exist with the corresponding first character string as a suffix to see the current string exists, there is no add to the dictionary, the suffix as a prefix, the corresponding string to the output stream, continue to take coding does not exist, prefix corresponding first character string as a suffix (when the current string certainly does not exis)

文件列表:
GifCode\Debug\GifCode.ilk (1563544, 2015-01-06)
GifCode\GifCode\common\DefGifStruct.h (2721, 2014-11-28)
GifCode\GifCode\common\HelpStretch.cpp (4389, 2014-11-28)
GifCode\GifCode\common\HelpStretch.h (302, 2014-11-28)
GifCode\GifCode\common\LZWGif.cpp (7922, 2015-01-06)
GifCode\GifCode\common\LZWGif.h (801, 2014-12-02)
GifCode\GifCode\Debug\BuildLog.htm (27706, 2015-01-06)
GifCode\GifCode\decode\GifDecode.cpp (4261, 2014-11-28)
GifCode\GifCode\decode\GifDecode.h (184, 2014-11-28)
GifCode\GifCode\decode\GiftImageItem.cpp (2916, 2014-11-28)
GifCode\GifCode\decode\GiftImageItem.h (466, 2014-11-28)
GifCode\GifCode\decode\MemHelp.cpp (4134, 2014-12-02)
GifCode\GifCode\decode\MemHelp.h (674, 2014-12-02)
GifCode\GifCode\DlgDecode.cpp (4898, 2014-11-28)
GifCode\GifCode\DlgDecode.h (789, 2014-11-28)
GifCode\GifCode\DlgEncode.cpp (5767, 2014-12-01)
GifCode\GifCode\DlgEncode.h (1080, 2014-12-01)
GifCode\GifCode\encode\GifEncode.cpp (11070, 2014-12-01)
GifCode\GifCode\encode\GifEncode.h (1244, 2014-12-01)
GifCode\GifCode\encode\OctTree.cpp (4547, 2014-12-01)
GifCode\GifCode\encode\OctTree.h (1098, 2014-12-02)
GifCode\GifCode\GifCode.aps (106456, 2014-12-01)
GifCode\GifCode\GifCode.cpp (1666, 2014-11-27)
GifCode\GifCode\GifCode.h (451, 2014-11-27)
GifCode\GifCode\GifCode.rc (6630, 2014-12-01)
GifCode\GifCode\GifCode.vcproj (6947, 2014-12-02)
GifCode\GifCode\GifCode.vcproj.PC-201405121907.Administrator.user (1427, 2015-01-06)
GifCode\GifCode\GifCodeDlg.cpp (4006, 2014-12-02)
GifCode\GifCode\GifCodeDlg.h (822, 2014-11-27)
GifCode\GifCode\Release\BuildLog.htm (16710, 2015-01-06)
GifCode\GifCode\res\GifCode.ico (67777, 2007-11-28)
GifCode\GifCode\res\GifCode.rc2 (363, 2014-11-27)
GifCode\GifCode\resource.h (1321, 2014-12-01)
GifCode\GifCode\stdafx.cpp (140, 2014-11-27)
GifCode\GifCode\stdafx.h (2044, 2014-12-02)
GifCode\GifCode\targetver.h (1030, 2014-11-27)
GifCode\GifCode.exe (128512, 2015-01-06)
GifCode\GifCode.sln (887, 2014-11-27)
GifCode\GifCode.suo (66560, 2015-01-06)
... ...

================================================================================ MICROSOFT 基础类库: GifCode 项目概述 =============================================================================== 应用程序向导已为您创建此 GifCode 应用程序。此应用程序不仅演示使用 Microsoft 基础类的基本知识,而且可作为编写应用程序的起点。 此文件包含组成 GifCode 应用程序的各个文件的内容摘要。 GifCode.vcproj 这是使用应用程序向导生成的 VC++ 项目的主项目文件。 它包含有关生成文件的 Visual C++ 版本的信息,以及有关使用应用程序向导选择的平台、配置和项目功能的信息。 GifCode.h 这是应用程序的主要头文件。它包括其他项目特定的头文件(包括 Resource.h),并声明 CGifCodeApp 应用程序类。 GifCode.cpp 这是包含应用程序类 CGifCodeApp 的主要应用程序源文件。 GifCode.rc 这是程序使用的所有 Microsoft Windows 资源的列表。它包括 RES 子目录中存储的图标、位图和光标。此文件可以直接在 Microsoft Visual C++ 中进行编辑。项目资源位于 2052 中。 res\GifCode.ico 这是用作应用程序图标的图标文件。此图标包括在主要资源文件 GifCode.rc 中。 res\GifCode.rc2 此文件包含不是由 Microsoft Visual C++ 编辑的资源。您应该将不可由资源编辑器编辑的所有资源放在此文件中。 ///////////////////////////////////////////////////////////////////////////// 应用程序向导创建一个对话框类: GifCodeDlg.h,GifCodeDlg.cpp - 对话框 这些文件包含 CGifCodeDlg 类。该类定义应用程序主对话框的行为。该对话框的模板位于 GifCode.rc 中,该文件可以在 Microsoft Visual C++ 中进行编辑。 ///////////////////////////////////////////////////////////////////////////// 其他功能: ActiveX 控件 应用程序包括对使用 ActiveX 控件的支持。 打印及打印预览支持 应用程序向导已通过从 MFC 库调用 CView 类中的成员函数,生成了用于处理打印、打印设置和打印预览命令的代码。 ///////////////////////////////////////////////////////////////////////////// 其他标准文件: StdAfx.h, StdAfx.cpp 这些文件用于生成名为 GifCode.pch 的预编译头(PCH)文件和名为 StdAfx.obj 的预编译类型文件。 Resource.h 这是标准头文件,它定义新资源 ID。 Microsoft Visual C++ 将读取并更新此文件。 GifCode.manifest Windows XP 使用应用程序清单文件描述应用程序 对特定版本并行程序集的依赖性。加载程序使用此 信息从程序集缓存加载相应程序集或 从应用程序加载私有信息。应用程序清单可能作为 与应用程序可执行文件安装在同一文件夹中的外部 .manifest 文件包括在内以便重新发布, 也可能以资源的形式包括在该可执行文件中。 ///////////////////////////////////////////////////////////////////////////// 其他注释: 应用程序向导使用“TODO:”指示应添加或自定义的源代码部分。 如果应用程序在共享 DLL 中使用 MFC,则将需要重新发布 MFC DLL。如果应用程序所用与操作系统的区域设置不同,则也将必须重新发布对应的本地化资源 MFC90XXX.DLL。 有关这两个主题的详细信息,请参阅 MSDN 文档中有关重新发布 Visual C++ 应用程序的部分。 /////////////////////////////////////////////////////////////////////////////

近期下载者

相关文件


收藏者