gpt4 book ai didi

C# Marshal/Pinvoke CBitmap?

转载 作者:行者123 更新时间:2023-11-28 08:31:42 27 4
gpt4 key购买 nike

我不知道如何将 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# 中显示的内容?

非常感谢。

最佳答案

.NET Framework 中最接近的 API 是 Image.FromHbitmap,但这需要您从 CBitmap 中提取 HBITMAP,而这在 C# 中是做不到的(至少在不了解 CBitmap 内部结构的情况下做不到)。如果您可以修改 C++ GetBitmap 函数以返回 HBITMAP 而不是 CBitmap 包装器,那将是最简单的解决方案。这是您的选择吗?

关于C# Marshal/Pinvoke CBitmap?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1727015/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com