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