到底bitmap.GetHbitmap()会返回什么 [英] what on earth bitmap.GetHbitmap() will return

查看:313
本文介绍了到底bitmap.GetHbitmap()会返回什么的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我试图使用

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 .

GetHbitmap internally calls SafeNativeMethods.Gdip.GdipCreateHBITMAPFromBitmap method which in its turn creates and returns native bitmap.


这篇关于到底bitmap.GetHbitmap()会返回什么的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆