使用IJL15.dll
直接将DIB转jpg,可是转换后图象是上下颠倒的???
源码如下:
FILE * input_file;
char *input_filename="C:\\Documents and Settings\\Administrator\\桌面\\test.bmp";
char *output_filename="C:\\Documents and Settings\\Administrator\\桌面\\output.jpg";
input_file=fopen(input_filename,"rb"); JPEG_CORE_PROPERTIES jcprops;
ijlInit(&jcprops); BITMAPFILEHEADER bmfh;
BITMAPINFOHEADER bmih; fread(&bmfh,1,sizeof(BITMAPFILEHEADER),input_file);
fread(&bmih,1,sizeof(BITMAPINFOHEADER),input_file); long DIBLineSize=(bmih.biWidth*3)/4*4; jcprops.DIBChannels=3;
jcprops.DIBColor=IJL_BGR;
jcprops.DIBHeight=bmih.biHeight;
jcprops.DIBWidth=bmih.biWidth;
jcprops.DIBPadBytes=IJL_DIB_PAD_BYTES(jcprops.DIBWidth,jcprops.DIBChannels); jcprops.JPGHeight=bmih.biHeight;
jcprops.JPGWidth=bmih.biWidth; jcprops.JPGFile=output_filename; unsigned char *DIBBuffer=new unsigned char [DIBLineSize*bmih.biHeight];
fread(DIBBuffer,1,DIBLineSize*bmih.biHeight,input_file); jcprops.DIBBytes=DIBBuffer; ijlWrite(&jcprops,IJL_JFILE_WRITEWHOLEIMAGE); ijlFree(&jcprops); delete[] DIBBuffer;
fclose(input_file);
直接将DIB转jpg,可是转换后图象是上下颠倒的???
源码如下:
FILE * input_file;
char *input_filename="C:\\Documents and Settings\\Administrator\\桌面\\test.bmp";
char *output_filename="C:\\Documents and Settings\\Administrator\\桌面\\output.jpg";
input_file=fopen(input_filename,"rb"); JPEG_CORE_PROPERTIES jcprops;
ijlInit(&jcprops); BITMAPFILEHEADER bmfh;
BITMAPINFOHEADER bmih; fread(&bmfh,1,sizeof(BITMAPFILEHEADER),input_file);
fread(&bmih,1,sizeof(BITMAPINFOHEADER),input_file); long DIBLineSize=(bmih.biWidth*3)/4*4; jcprops.DIBChannels=3;
jcprops.DIBColor=IJL_BGR;
jcprops.DIBHeight=bmih.biHeight;
jcprops.DIBWidth=bmih.biWidth;
jcprops.DIBPadBytes=IJL_DIB_PAD_BYTES(jcprops.DIBWidth,jcprops.DIBChannels); jcprops.JPGHeight=bmih.biHeight;
jcprops.JPGWidth=bmih.biWidth; jcprops.JPGFile=output_filename; unsigned char *DIBBuffer=new unsigned char [DIBLineSize*bmih.biHeight];
fread(DIBBuffer,1,DIBLineSize*bmih.biHeight,input_file); jcprops.DIBBytes=DIBBuffer; ijlWrite(&jcprops,IJL_JFILE_WRITEWHOLEIMAGE); ijlFree(&jcprops); delete[] DIBBuffer;
fclose(input_file);
解决方案 »
- 重写CTreeView 类如何改变CTreeCtrl根节点的位置
- 问个关于WIN32_FIND_DATA结构体的问题
- 关于mfc的学习
- 高手才来哦
- 请问如何编程获得显示器物理尺寸等参数?
- 有关DLL中的对话框问题:
- 基础问题:怎样用ClassWizard创建派生新类?
- advanced windows的最新版是第几版?有对应的中文版吗?
- 关于odbc 连接数据库读取access中随机数据的问题
- 没有头绪!!!!!----win98下面在程序里面如何启动拨号网络服务器?
- 救命!!!求在MFC(EXE)中画一矩形,在矩形中画一绿色实心圆的代码!
- 在内存中通过一个流把exe文件的内容给你,直接运行exe,而不生成一个exe文件再执行。
http://community.csdn.net/Expert/TopicView.asp?id=3960434