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