怎么用C语言读取gif图片内容文件

来源:百度知道 编辑:UC知道 时间:2024/05/17 23:19:00
怎么用C语言读取gif图片内容文件 假如文件中有6个gif图片,只读取第一个图片;读完后写入一个空文件中

用二进制文件方法打开。
(1)读gif_id,输出gif_id, 6 bytes
(2)读logical_screen_descriptor(结构),并输出
(3)如果 ScrHd.flag_GC_table == 1,
则有全局色表,则读全局色表,并输出
(4)循环,
检查gif块的类型,按块的类型读块,并输出
若:
case: 0x2c -- 它是,Image Descriptor(结构),读块并输出
判断有无色表,有则读块并输出,
下面 1 byte 表示 lZW min Code Size,读并输出
子块 (include size, bytes*size data) 读块并输出
子块 (include size, bytes*size data) 读块并输出
可能有很多子块,读块并输出
直到 0x00 读块并输出,
break;
若case: 0x21 0xf9 -- 控制块,读到 0x00, 并输出
break;
若case: 0x21 0xFe -- 注解块,读到 0x00,并输出
break;
若case: 0x21 0x01 -- 普通文本块,读到 0x00,并输出
break;
若case: 0x21 0xff -- 应用程序块,读到 0x00,并输出
break;
若case: 0x3B -- END 第一个图片完毕的标识,并输出
break;
default: 打印“文件错误”break;
(5)关闭文件。