打印

GIF文件解压缩算法

[复制链接]
2923|7
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
yang_sir|  楼主 | 2007-9-20 17:51 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
沙发
yang_sir|  楼主 | 2007-9-20 17:52 | 只看该作者

re

同志们朋友们,多多献计献策呀!

使用特权

评论回复
板凳
whereis| | 2007-9-20 18:48 | 只看该作者

.

你的PMP是什么软件平台?
minigui,qt,gtk,directfb都有现成的函数调用,显示1个gif文件。
只要构建这些平台的时候,--enable-gif,且交叉编译了gif的动态库。


使用特权

评论回复
地板
yang_sir|  楼主 | 2007-9-22 13:59 | 只看该作者

re

minigui平台的2次开发。
WHEREIS,PMP要做图片浏览的功能,而输入的GIF文件是压缩过的,需要解压,而且还需要做SCALER的功能,所以才需要用到LZW的算法来实现。

使用特权

评论回复
5
yang_sir|  楼主 | 2007-9-22 14:04 | 只看该作者

RE

WHEREIS的意思是说MINIGUI有函数可以调用吗?
我看过他的编程指南,好像没有哟。
当然,他是有一些PNG,JPEG等文件的显示函数,比如PAINTIMAGE,FILLBOX之类。

使用特权

评论回复
6
whereis| | 2007-9-22 16:06 | 只看该作者

.

输入的GIF文件是压缩过的,需要解压??

不会是tar过了吧,呵呵。。

minigui里面显图,好像是LoadBitmap()之类的,具体细节问飞漫。
directfb里面显图,用DFBCHECK (dfb->CreateImageProvider (dfb, DATADIR"/XXX.gif", &provider));

使用特权

评论回复
7
yang_sir|  楼主 | 2007-9-24 09:59 | 只看该作者

re

GIF文件是有编码的,输入的图片是已经编码过的,需要解码的,算法主要就是LZW,阵痛之后,现在已经差不多了,软件可以实现文本的压缩解压了。加上PNG文件的格式解析就可以收工了。
JPEG文件的解码要复杂的多呢!有大量的算法,LZ77只是辅助算法,这个东西可能会更难做一些。
MINIGUI的画图函数只是把给定的图片文件打印出来,但是要实现预览,SCALER等功能的话,就需要自己来解码了,比如说U盘的图片文件夹打开,预览等功能。
whereis ,谢谢你的解答!

使用特权

评论回复
8
yang_sir|  楼主 | 2007-9-26 10:26 | 只看该作者

re

对于静态的GIF图片,把文件头和文件尾巴去掉后,使用LZW解压算法,再把解压后的文件最前加上BMP文件头,就可以把文件解成BMP格式了。÷
对于动画效果的GIF文件解成BMP格式就复杂些,需要把一幅一幅的图片分开,只需解压图象数据部分。
工作过程中发现其实GIF文件的压缩率并不高,不过也和图片有关系,和BMP比较起来,空间还是少的惊人。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1

主题

23

帖子

0

粉丝