原dll说明:
函 数 原 型 :int WINAPI TtSaveFingerToFile(unsigned char*FingerBuf,char*strFingerName);
函数功能:把内存中的图像保存到 bmp 文件中。
函数参数:FingerBuf-存放指纹图像数据的缓冲区,缓冲区大小 304*256Byte。
strFingerName-指纹文件名称,如 C:\finger.bmp。
返回值: 成功返回 1,失败返回 0。 导入:
[DllImport("MXOTDLL.dll", EntryPoint = "TtSaveFingerToFile", CharSet = CharSet.Auto, CallingConvention = CallingConvention.StdCall)]
public static extern int TtSaveFingerToFile(byte[] FingerBuf, string FilePath); 调用:
string FilePath= "c:\finger.bmp";
TtSaveFingerToFile(FingerBuf,FilePath); 问题:我是打算把缓冲区的图像保存至c:\finger.bmp,函数也返回1成功,但c:\始终没有 finger.bmp这文件,请各位前辈指点下,估计是什么原因?
(红色是我自己估计出错的地方)
函 数 原 型 :int WINAPI TtSaveFingerToFile(unsigned char*FingerBuf,char*strFingerName);
函数功能:把内存中的图像保存到 bmp 文件中。
函数参数:FingerBuf-存放指纹图像数据的缓冲区,缓冲区大小 304*256Byte。
strFingerName-指纹文件名称,如 C:\finger.bmp。
返回值: 成功返回 1,失败返回 0。 导入:
[DllImport("MXOTDLL.dll", EntryPoint = "TtSaveFingerToFile", CharSet = CharSet.Auto, CallingConvention = CallingConvention.StdCall)]
public static extern int TtSaveFingerToFile(byte[] FingerBuf, string FilePath); 调用:
string FilePath= "c:\finger.bmp";
TtSaveFingerToFile(FingerBuf,FilePath); 问题:我是打算把缓冲区的图像保存至c:\finger.bmp,函数也返回1成功,但c:\始终没有 finger.bmp这文件,请各位前辈指点下,估计是什么原因?
(红色是我自己估计出错的地方)
TtSaveFingerToFile(FingerBuf,FilePath); 是这个笔误吗?
的确提醒了我双斜杠的问题,但不知道为什么 但c:\始终没有 finger.bmp这文件.根据原dll的说明:函 数 原 型 :int WINAPI TtSaveFingerToFile(unsigned char*FingerBuf,char*strFingerName); public static extern int TtSaveFingerToFile(byte[] FingerBuf, string FilePath); 调用:
string FilePath= "c:\\finger.bmp";
TtSaveFingerToFile(FingerBuf,FilePath); 我这样调用正确吗?
这样看不出有什么不对。
你可以先确认是否编码的问题 - FilePath是ASCII(用CharSet = CharSet.Ansi)还是Unicode(CharSet = CharSet.Unicode)。