[DllImport("gdi32.dll")]
static extern IntPtr CreateDIBSection(IntPtr hdc, [In] ref BITMAPINFO pbmi,
uint pila, out IntPtr ppvBits, IntPtr hSection, uint dwOffset);
<DllImport("gdi32.dll")> _
Private Shared Function CreateDIBSection(ByVal hdc As Int32, _
ByRef pbmi As BITMAPINFO, ByVal iUsage As System.UInt32, _
ByRef ppvBits As Int32, ByVal hSection As Int32, _
ByVal dwOffset As System.UInt32) As Int32
End Function
The BITMAPINFO structure defines the dimensions and color information for a DIB, it contains the members
BITMAPINFOHEADER structure (contains information about the dimensions of color format) and bmiColors which contains one of the following:
hSection is a handle to a file mapping object that the function will use to create the DIB and can be NULL. If hSection is not NULL, it must be a handle to a file mapping object created by calling the CreateFileMapping function (otherwise CreateDIBSection will fail). Moreover, the CreateDIBSection function will locate the bitmap’s bit values at offset dwOffset in the file mapping object referred to by hSection. An application can retrieve the hSection handle by calling the GetObject function with the HBITMAP returned by CreateDIBSection.
If hSection is NULL, the O/S will allocate memory for the DIB (CreateDIBSection will ignore the dwOffset parameter). An application cannot later obtain a handle to this memory: the dshSection member of the DIBSECTION structure will be NULL.
dwOffset specifies the offset from the beginning of the file mapping object referenced by hSection where storage for the bitmap’s bit values is to begin (ignored if hSection is NULL). The bitmap’s bit values are aligned on doubleword boundaries, so dwOffset must be a multiple of the size of a DWORD.
If the function succeeds, the return value is a handle to the newly created device-independent bitmap (and ppvBits will point to the bitmap’s bit values). If the function fails, the return value is NULL (and ptr ppvBits will be NULL). To get extended error information, call GetLastError.
Please add some!
Please add some!
Do you know one? Please contribute it!