HBITMAP *位图到.net位图
HBITMAP *Bitmap to .net Bitmap
我有一个Dll和它的头文件,我正试图在c++中创建一个COM包装器在c#中使用。
对于大多数函数来说,它非常简单,因为它们返回的是int
或string
。
我在头文件中有这个结构体。
virtual HRESULT STDMETHODCALLTYPE GetBMP(
int Width,
int Height,
HBITMAP *Bitmap) = 0;
我的问题是,因为我的方式与我的联盟与c++我不知道如何转换HBITMAP
的东西更适合于。net风格
提前感谢,请原谅我写了一些愚蠢的事情
更新:我尝试这样做:
HBITMAP GetBMP(int Width, int Height)
{
HBITMAP bm = 0;
m_piHelper->GetBMP(Width,Height,&bm);
return bm ;
}
问题显然是之后,在c#如何转换从'HBITMAP__*'到'System。使用bitmap.fromHbitmap
参数应为out IntPtr
然后你可以创建一个额外的函数,它将调用GetBMP
,然后调用Bitmap.FromHbitmap
返回一个位图。这样的函数必须DeleteObject
原来的hbitmap
你可以试试System.IntPtr.
相关文章:
- C / C++ 移位/偏移/向左或向右移动位图?
- 如何在 64 位 vb.net Windows 应用程序中引用 32 位 dll
- 如何在快板的屏幕中显示子位图的绘制?
- CreateDIBSection为同一图像返回不一致的位图位值
- C++ 位图中的 ttc 字体
- 使用 GDI+ 旋转位图,然后转换为 HDC
- 难以从 CImageList 设置菜单项位图
- 如何将位图拉伸到父面板(wxWidgets 自定义)
- 如何使用 freetype2 访问单色位图中的像素状态
- 将位图 (bmp) 转换为具有透明度的 png (Windows c++)
- 安卓工作室 |CPP 文件错误错误: 位图库中对"AndroidBitmap_unlockPixels"的未定义引用
- 位图到垫子/2D 数组
- Gdiplus位图没有Alpha通道
- 如何从路径字符串加载Gdiplus::位图
- 在C++中使用Gdiplus创建透明位图
- 用C++压缩内存中的位图
- C++gdi::内存中的位图到PNG图像
- 如何在C++(没有 .NET)将 PDF 转换为位图(栅格化)
- C++ .NET - 如何释放位图
- HBITMAP *位图到.net位图