大家应该熟悉cximage图形库的吧
我现在想自己做一个库,最好是动态链接库,库里面只有一个函数
函数入口参数为图像文件的路径,返回值为0或1表示图像转换是否成功
自建dll的目的是为了避免客户调用cximage中的函数,便于以后升级。
现在光是测试一个不带参数的程序都没有成功自建dll的头文件
extern "C" __declspec(dllexport) void __stdcall a();cpp文件
extern "C" __declspec(dllexport) void __stdcall a()
{
CxImage  image;   // 定义一个CxImage对象// 从bmp文件转换为jpg文件(bmp -> jpg)
image.Load("image.bmp", CXIMAGE_FORMAT_BMP);   //先装载bmp文件,需要指定文件类型
    // 判断加载的bmp文件是否存在。
if (image.IsValid())......{
       // Returns true if the image has 256 colors  and a linear grey scale palette.
    if(!image.IsGrayScale()) image.IncreaseBpp(24);   // param nbit: 4, 8, 24
    image.SetJpegQuality(99);                // 设置图像的压缩质量参数(从0到100,数值越大,质量越高)
    image.Save("image.jpg",CXIMAGE_FORMAT_JPG);          // 把压缩后的图像以jpg文件类型保存起来。
}
}测试程序
#include "c.h"
#pragma comment(lib,"../c/debug/c.lib")
int main(int argc,char* argv[])
{
a();
return 0;
}
编译链接全都通过,测试图像文件a.bmp,运行后的确生成了a.jpg,但是会报错
 
 报错内容:
Microsoft Visual C++ Debug Library
Debug Error~
Program:c:\new\test\b\debug\b.exe
module:
file:i386\chkesp.c
line:42
the valuse of esp was not properly saved across a funcion call.....
请问大师有什么线索解决吗