解决方案 »
- 怎样在接口类里定义集合,请路过的朋友帮忙,多谢!!!
- winform获得百度地图服务接口
- 前辈:c#如何接收vc写的ocx中用SendMessage发的消息
- 在线等懂采集的进..有个网站我用程序获取不到源文件(HTML代码)
- C#自动刷新页面,在线等
- c#,怎样将指定数据库的所有表的关系用XML文件输出?
- 请问c#中有没有类似delphi的beforeDelete事件呢?
- 怎样把下拉列表中的项通过一个按钮事件添加到列表视图里面?
- HtmlAgilityPack Xpath 问题
- 如何实现动态弹出一个窗口里面显示其中一个 TabPage 的内容
- 使用HttpWebRequest,带cookie提交,还是提示要登录啊。。。
- txtbox里的 数字字符串,转为INT 如何弄?
public struct PVS_APIIF_DATA
{
/// INT->int
public int Length;
/// CHAR* 图片
intptr b;
}
public struct PVS_APIIF_DATA
{
/// INT->int
public int Length;
/// CHAR* 图片
public IntPtr Data;
} [StructLayoutAttribute(LayoutKind.Sequential, CharSet = CharSet.Ansi)]
public struct PVS_APIIF_GUI_BITMAP
{
/// INT->int
public int Width;
/// INT->int
public int Height;
/// PVS_APIIF_DATA*
public IntPtr BitmapData;
}
还有,你把那个调用的C++函数也贴出来,同时贴出你在C#的映射定义,看看这里有没有出错
PVS_APIIF_DATA p = (PVS_APIIF_DATA)Marshal.PtrToStructure(pBitmapArea.BitmapData, typeof(PVS_APIIF_DATA));
string dd = Marshal.PtrToStringAuto(p.Data, p.Length);
byte[] Result = System.Text.Encoding.Default.GetBytes(dd);
Bitmap bitmap = new Bitmap(pBitmapArea.Width, pBitmapArea.Height);
for (int x = 0; x < pBitmapArea.Width; x++)
{
for (int y = 0; y < pBitmapArea.Height; y++)
{
bitmap.SetPixel(x, y, Color.Black);
}
}
bitmap.Save(memoryStream, ImageFormat.Bmp);
string dd = Marshal.PtrToStringAuto(p.Data, p.Length);
取出来的数据前面是BM6?后面感觉不对,图片也没有显示出来
PVS_APIIF_RESULT Pvs_APIIFGuiStatusCallback(PVS_APIIF_GUI_STATE GuiState,
PVS_APIIF_GUI_MESSAGE message,
PVS_APIIF_GUI_BITMAP *pBitmapArea)
函数功能: 回调函数,返回放手提示信息和实时捕捉到的掌静脉图片。
输入参数: PVS_APIIF_GUI_STATE GuiState //返回信息类型,说明返回数据是静脉图片还是
文字提示信息。
输入参数: PVS_APIIF_GUI_MESSAGE message //返回的文字信息ID,根据ID显示相应提示
信息
输入参数: PVS_APIIF_GUI_BITMAP *pBitmapArea //返回捕捉到的掌静脉图片信息
返回值: PVS_APIIF_OK,表示正常退出回调函数
读出图像
PVS_APIIF_GUI_BITMAP *pBitmap = new PVS_APIIF_GUI_BITMAP(*pBitmapArea);
pBitmap->BitmapData = new PVS_APIIF_DATA(*pBitmapArea->BitmapData);
pBitmap->BitmapData->Data = new CHAR[pBitmapArea->BitmapData->Length];
memcpy(pBitmap->BitmapData->Data, pBitmapArea->BitmapData->Data,
pBitmapArea->BitmapData->Length);
这样取数据对吗
现在我知道图片是BMP格式,该如何做出来,以上的方法都试了,最终结果是显示都是黑屏,谁帮帮忙