下面是我要调用的C++文件中的一个接口函数:
int FCIterativeAdd(char* szimgpath[], // 需要叠加图像的路径
char szoutputimg[], // 输出图像文件路径
int nnum, // 叠加图像的数目
BOOL* pmask[] // 标志那层需要作溶合
);
调用是这样写的:
DllImport("FaceClone.dll", EntryPoint = "FCIterativeAdd", ExactSpelling = false,CharSet =CharSet.Ansi)]
public static extern int FCIterativeAdd(String[] szimgpath,// 需要叠加图像的路径
string szoutputimg, // 输出图像文件路径
int nnum, // 叠加图像的数目
bool[] pmask); //哪层需要融合
在使用的时候如下:
String szoutpath = "D:\\MyWebSite\\picture\\result.bmp";
String[] szadd=new String[6];
szadd[0] = "D:\\MyWebSite\\bk\\0.bmp";
szadd[1] = "D:\\MyWebSite\\body\\1.bmp";
szadd[2] = "D:\\MyWebSite\\cloth\\2.bmp";
szadd[3] = "D:\\MyWebSite\\hair\\4.bmp";
szadd[4] = "D:\\MyWebSite\\picture\\face.bmp";
szadd[5] = "D:\\MyWebSite\\hair\\5.bmp";
rcode = Win32API.FCIterativeAdd(szadd,szoutpath,5,pmask);
FCIterativeAdd()是一个叠加函数,目的是将一次性传入的五张bmp图片按数组索引次序依次叠加后生成一张新图:result.bmp输出,但每一次运行的结果rcode都等于-1003,也就是说是图片叠加失败,不知道问题出在什么地方?是因为类型转换问题还是其他?请高手指导下。在C++里都是成功实现的
int FCIterativeAdd(char* szimgpath[], // 需要叠加图像的路径
char szoutputimg[], // 输出图像文件路径
int nnum, // 叠加图像的数目
BOOL* pmask[] // 标志那层需要作溶合
);
调用是这样写的:
DllImport("FaceClone.dll", EntryPoint = "FCIterativeAdd", ExactSpelling = false,CharSet =CharSet.Ansi)]
public static extern int FCIterativeAdd(String[] szimgpath,// 需要叠加图像的路径
string szoutputimg, // 输出图像文件路径
int nnum, // 叠加图像的数目
bool[] pmask); //哪层需要融合
在使用的时候如下:
String szoutpath = "D:\\MyWebSite\\picture\\result.bmp";
String[] szadd=new String[6];
szadd[0] = "D:\\MyWebSite\\bk\\0.bmp";
szadd[1] = "D:\\MyWebSite\\body\\1.bmp";
szadd[2] = "D:\\MyWebSite\\cloth\\2.bmp";
szadd[3] = "D:\\MyWebSite\\hair\\4.bmp";
szadd[4] = "D:\\MyWebSite\\picture\\face.bmp";
szadd[5] = "D:\\MyWebSite\\hair\\5.bmp";
rcode = Win32API.FCIterativeAdd(szadd,szoutpath,5,pmask);
FCIterativeAdd()是一个叠加函数,目的是将一次性传入的五张bmp图片按数组索引次序依次叠加后生成一张新图:result.bmp输出,但每一次运行的结果rcode都等于-1003,也就是说是图片叠加失败,不知道问题出在什么地方?是因为类型转换问题还是其他?请高手指导下。在C++里都是成功实现的
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货