到底bitmap.GetHbitmap()会返回什么 [英] what on earth bitmap.GetHbitmap() will return
问题描述
我试图使用
I was trying to get a handle to GDI object(DDB) from managed code(C#), using
bitmap.GetHbitmap(), MSDN表示此函数将返回GDI对象句柄,
bitmap.GetHbitmap(), MSDN says this function will return a GDI object handle,
但是我希望使用透明颜色制作位图,这意味着我将使用
however I hope to make the bitmap with a transparent color, which means I will use
SetBkColor(dcBmp,crTransparent),但无法正常工作.
注意:如果我在非托管代码中使用 LoadImage(...)来获取句柄(HBITMAP),然后使用 SetBkColor(..)
Note: if I use LoadImage(...) in unmanaged code to get a handle(HBITMAP), then using SetBkColor(..)
它将正常工作.
所以我想知道到底是什么 bitmap.GetHbitmap()会返回.以及.NET如何分配这部分内存.
So I wonder what on earth bitmap.GetHbitmap() will return. and how does .NET allocate this part of memory.
如何对这部分内存进行一些操作.不仅可以阅读而且可以更改.
如果有人可以给我一个线索,非常感谢.
推荐答案
GetHbitmap内部调用 SafeNativeMethods . GdipCreateHBITMAPFromBitmap 方法,该方法又会创建并返回本机位图.
GetHbitmap internally calls SafeNativeMethods.Gdip.GdipCreateHBITMAPFromBitmap method which in its turn creates and returns native bitmap.
这篇关于到底bitmap.GetHbitmap()会返回什么的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!