|
| 出处:21ic 时间: 2007-09-26 |
|
yang_sir 发布于 2007-9-20 17:51:00 手上的项目是PMP,需要做图片解码的功能,看了看JPEG,GIF的压缩和解压算法,都挺变态的,GIF的MS简单些,打算先做GIF的解压,哪位仁兄之前干过这件事呀,帮忙解答解答嘛,有源码可以参考就最好了!
yang_sir 发布于 2007-9-20 17:52:00 同志们朋友们,多多献计献策呀!
whereis 发布于 2007-9-20 18:48:00 你的PMP是什么软件平台? minigui,qt,gtk,directfb都有现成的函数调用,显示1个gif文件。 只要构建这些平台的时候,--enable-gif,且交叉编译了gif的动态库。
* - 本贴最后修改时间:2007-9-20 18:50:33 修改者:whereis yang_sir 发布于 2007-9-22 13:59:00 minigui平台的2次开发。 WHEREIS,PMP要做图片浏览的功能,而输入的GIF文件是压缩过的,需要解压,而且还需要做SCALER的功能,所以才需要用到LZW的算法来实现。
yang_sir 发布于 2007-9-22 14:04:00 WHEREIS的意思是说MINIGUI有函数可以调用吗? 我看过他的编程指南,好像没有哟。 当然,他是有一些PNG,JPEG等文件的显示函数,比如PAINTIMAGE,FILLBOX之类。
whereis 发布于 2007-9-22 16:06:00 输入的GIF文件是压缩过的,需要解压??
不会是tar过了吧,呵呵。。
minigui里面显图,好像是LoadBitmap()之类的,具体细节问飞漫。 directfb里面显图,用DFBCHECK (dfb->CreateImageProvider (dfb, DATADIR"/XXX.gif", &provider));
yang_sir 发布于 2007-9-24 9:59:00 GIF文件是有编码的,输入的图片是已经编码过的,需要解码的,算法主要就是LZW,阵痛之后,现在已经差不多了,软件可以实现文本的压缩解压了。加上PNG文件的格式解析就可以收工了。 JPEG文件的解码要复杂的多呢!有大量的算法,LZ77只是辅助算法,这个东西可能会更难做一些。 MINIGUI的画图函数只是把给定的图片文件打印出来,但是要实现预览,SCALER等功能的话,就需要自己来解码了,比如说U盘的图片文件夹打开,预览等功能。 whereis ,谢谢你的解答!
yang_sir 发布于 2007-9-26 10:26:00 对于静态的GIF图片,把文件头和文件尾巴去掉后,使用LZW解压算法,再把解压后的文件最前加上BMP文件头,就可以把文件解成BMP格式了。÷ 对于动画效果的GIF文件解成BMP格式就复杂些,需要把一幅一幅的图片分开,只需解压图象数据部分。 工作过程中发现其实GIF文件的压缩率并不高,不过也和图片有关系,和BMP比较起来,空间还是少的惊人。
|
| 【关闭】 【打印】 |
|
|
|
|