长夜漫漫,偶才整出这玩意儿-___-b想想大学时BBS上有个牛人花了一个月弄出MPEG来, 偶连做个jpeg都花了这么长时间。聊以自慰的是还算是啃得比较透了。
原定的要求是:
1.要纯C,不带汇编和C++,便于移植;(话说回来,真要让偶用汇编优化也不是那么容易的事)
2.要支持渐近模式;(云风兄的文档上没有介绍渐近模式,但偶发现实际应用中还是挺多的,比如偶D盘上某个隐藏目录下面就有N多这样的图-___-|||)
3.不使用浮点运算;(想象ing:在51单片机上,在小X王986的6502芯片上,在电饭煲的面板上…无处不显露着superarhow's jpeg的LOGO~~~~~ 流口水ing....)
4.要方便。目前的使用起来就一句话:HBITMAP jpeg_load_from_file(LPCTSTR filename)就OK。当然,自己处理的API还是有的。
目前还没有实现的功能,或者说是遗憾有:
1.不支持DNL动态大小(虽然在代码里面有留,但是没有实际的图实在是难测试)
2.不支持CMYK格式(这种格式少,但也不是没有,以前有做美术的兄弟就发给过偶这种图,记得好像是用PS存的,可现在要找个PS好难)
3.不支持数学编码(估计永远都8会支持了-___-b)
工程不算大,就分篇贴出来了。有兴趣的参考。
windows下的主控单元
jpegwin32.h
***************************************