将位图从 C# 传递到C++
Pass bitmap from C# to C++
如何将从 C# 加载的位图对象传递给本机代码C++实际上我正在努力包装一些要从 C# 使用的 OpenCV API但是我在从 c# 传递位图并在 c++ 上重建它时遇到了一个问题
任何代码或想法将不胜感激
您可以使用
LockBits
方法锁定内存中的Bitmap
像素,并使用 P/Invoke 调用将指针传递给第一个像素、尺寸和步幅以C++。
LockBits
概况 : https://web.archive.org/web/20141229164101/http://bobpowell.net/lockingbits.aspx
本机代码处理完图像后,您可以使用 UnlockBits
释放锁。
如果你有一个 .NET 位图对象,你可以使用函数 GetHBitmap() 来获取一个指针,指向可从非托管代码访问的图像。
您可以使用EmguCV,而不是实现自己的包装器。
相关文章:
- C / C++ 移位/偏移/向左或向右移动位图?
- 如何在快板的屏幕中显示子位图的绘制?
- 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图像
- LoadImage 函数不适用于 ImageMagick 创建的位图图像
- (位图)LoadImage() 返回 NULL,GetLastError() 返回 0
- 将Qt qml文件转换为位图图像
- 如何从资源文件(.rc 文件)加载位图?