我无法弄清楚如何将C ++ CBitmap编组为C#Bitmap或Image类。
我的导入如下:
[DllImport(@“test.dll”,CharSet = CharSet.Unicode)] public static extern IntPtr GetBitmap(System.IntPtr hwnd,int nBMPWIDTH,int nBMPHEIGHT);
H文件部分如下所示:
Cbitmap * GetBitmap(HWND hwnd,int nBMPWIDTH,int nBMPHEIGHT);
如何将Cbitmap转换为可在C#中显示的内容?
非常感谢。
答案 0 :(得分:1)
.NET Framework中最接近的API是Image.FromHbitmap,但这需要您从CBitmap中提取HBITMAP,而这在C#中无法做到(至少在不知道CBitmap的内部结构的情况下)。如果您可以修改C ++ GetBitmap函数以返回HBITMAP而不是CBitmap包装器,那么这将是最简单的解决方案。这是你的选择吗?