GetObject函数用于从指定的图形对象中获取信息,原型如下:
int GetObject(
HGDIOBJ hgdiobj, // handle to graphics object
int cbBuffer, // size of buffer for object information
LPVOID lpvObject // buffer for object information
);
其中
参数hgdiobj是图形对象的句柄,图形对象可以是如下几种:逻辑位图、刷子、字体、调色板、画笔或者由函数CreateDIBSection创建的设备无关位图;
参数cbBuffer是即将写入到缓冲区中的图形对象信息的字节数;
参数lpvObject是指向接收图形对象信息的缓冲区的指针,下表是每一种图形对象对应获取到的缓冲区中的信息;
关于返回值:
- 当函数执行成功且参数lpvObject为NULL时,返回值是保存获取的信息的缓冲区需要的字节数;
- 当函数执行成功且参数lpvObject是有效地指针时,返回值是存储到缓冲区中的数据的字节数;
- 当函数执行失败时,返回值是0。
GetObject(hBitmap,sizeof(BITMAP),&Bitmap);
cxSource=Bitmap.bmWidth;
cySource=Bitmap.bmHeight;
函数简介编辑
SelectObject()函数详解
SelectObject
把一个对象(位图、画笔、画刷等)选入指定的设备描述表。新的对象代替同一类型的老对象。
HGDIOBJ
SelectObject(
HDC
hdc,
// handle to DC
HGDIOBJ
hgdiobj
// handle to object
);
|
参数
- hdc 设备描述表句柄(要载入的设备描述表句柄)
- hgdiobj 选择要载入的对象的句柄
但该对象的句柄必须使用以下函数创建才有效:
Bitmap(位图) CreateBitmap, CreateBitmapIndirect,
CreateCompatibleBitmap, CreateDIBitmap,
CreateDIBSection
Brush(画刷) CreateBrushIndirect, eateDIBPatternBrush,
CreateDIBPatternBrushPt, CreateHatchBrush,
CreatePatternBrush, CreateSolidBrush
Font(字体) CreateFont, CreateFontIndirect
Pen(画笔) CreatePen, CreatePenIndirect
Region(区域) CombineRgn, CreateEllipticRgn,
CreateEllipticRgnIndirect,
CreatePolygonRgn, CreateRectRgn,
CreateRectRgnIndirect