小女子做数字图像处理,以前处理的为BMP文件格式的图片,现在需要在VC编译环境下打开JPEG(JPG)文件格式的图片,并将其转化成BMP文件格式,然后进行数字图像处理。我从一些网站上(主要是VC天堂和VC大本营)去寻找它的源码,苦于一直没找到;自己写,又没成功。只有向各位大哥请教,可否给点提示:哪里可以找到将JPEG(JPG)文件格式转化成BMP文件格式的源码?或者,哪位大哥有的话,可否发到我的信箱:[email protected].子叶将不胜感激!谢谢!
调试欢乐多
你去intel公司网站下一个jepg库,里面有你需要的还有VC写的例子
我以前用过的,挺好的
你去intel公司下一个JPEG库,里面一定有你想要的
还有VC写的例子,我以前用过的,挺好的
不过仍有问题,希望得到大家的继续帮助!
我进了intel公司网站(http://www.intel.com/software/products/perflib/ijl/ijldown.htm),但不知校园网速太慢,还是其他原因,下了很久,都不能把1.94 MB的JPEG库下载下来,哪位大哥可否把源码发到我的信箱,我将万分感激!!
to akiy:
查了相关资料,对于jpeg格式,我只知道有个文件头与文件尾,中间为数据部分,可以利用公式,将YCbCr格式转化成RGB格式,但具体的我不是很清楚,所以一直不知从何下手进行编程,来实现打开jpeg格式,并进行转换的功能?
经过仔细研究intel公司的JPEG库,我利用其中的一些源码写了我需要的程序。只在视图类里写了一个映射函数,用于打开jpg文件,该函数里调用了函数:BOOL GetImageFromJPG(const CString& csFileName),用于读取jpg文件信息;BOOL JPEG_to_RGB(BYTE* data,int nWidth,int nHeight)用于把jpg文件转换成bmp信息。然后用ONDRAW 函数,绘制了bmp 文件。在视图类的cpp文件里包含了intel公司的JPEG库:
#ifndef __IJL_H__
#include "ijl.h"
#endif
可一编译,就出错:
Compiling...
PurifyView.cpp
Generating Code...
Skipping... (no relevant changes detected)
Purify.cpp
Linking...
PurifyView.obj : error LNK2001: unresolved external symbol _ijlFree@4
PurifyView.obj : error LNK2001: unresolved external symbol _ijlErrorStr@4
PurifyView.obj : error LNK2001: unresolved external symbol _ijlRead@8
PurifyView.obj : error LNK2001: unresolved external symbol _ijlInit@4
Debug/Purify.exe : fatal error LNK1120: 4 unresolved externals
Error executing link.exe.Purify.exe - 5 error(s), 0 warning(s):( :(
我查看了帮助信息,仍没解决!我已经无计可施了:(
各位帮帮忙!告诉我什么原因,我该怎么做!
我试着把"ijl.h"添加进工程,在视图类中include "ijl.h",也是一样的问题,why?
还是用jpeglib6b