[DllImport("gdi32.dll")]
static extern int GetObject(IntPtr hgdiobj, int cbBuffer, IntPtr lpvObject);
<DllImport("gdi32.dll")> _
Private Shared Function GetObject(hgdiobj As IntPtr, cbBuffer As Integer, lpvObject As IntPtr) As Integer
End Function
None.
Had a terrible time getting this to work to retrieve a BITMAP object from a HBITMAP, this code finally worked.
(EDIT: Before going through all this check out the tips & tricks section for an official API to do this)
BITMAP bmpScreen;
GCHandle hndl = GCHandle.Alloc(bmpScreen, GCHandleType.Pinned);
IntPtr ptrToBitmap = hndl.AddrOfPinnedObject();
GDI32.GetObject(hBitmap, Marshal.SizeOf<GDI32.BITMAP>(), ptrToBitmap);
bmpScreen = Marshal.PtrToStructure<GDI32.BITMAP>(ptrToBitmap);
hndl.Free();
A better option than the above example would be to leverage Image.FromHbitmap
Image.FromHbitmap Documentation on MSDN: https://msdn.microsoft.com/en-us/library/k061we7x
Please add some!
Do you know one? Please contribute it!