CreateCompatibleBitmap

CreateCompatibleBitmap,其原型是HBITMAP CreateCompatibleBitmap( HDC hdc, int nWidth, int nHeight);。該函式用於創建與指定的設備環境相關的設備兼容的點陣圖。由CreateCompatibleBitmap函式創建的點陣圖的顏色格式與由參數hdc標識的設備的顏色格式匹配,該點陣圖可以選入任意記憶體設備環境中,並且記憶體設備環境允許彩色和單色兩種點陣圖。

基本介紹

  • 中文名:CreateCompatibleBitmap
  • 外文名:CreateCompatibleBitmap
函式功能,函式原型,VB聲明,參數,示例,

函式功能

該函式創建與指定的設備環境相關的設備兼容的點陣圖。

函式原型

HBITMAP CreateCompatibleBitmap(HDC hdc,int nWidth,int nHeight);

VB聲明

Declare Function CreateCompatibleBitmap Lib "gdi32" Alias "CreateCompatibleBitmap" (ByVal hdc As Long, ByVal nWidth As Long, ByVal nHeight As Long) As Long

參數

hdc: 設備環境句柄。
nWidth:指定點陣圖的寬度,單位為像素。
nHeight:指定點陣圖的高度,單位為像素。
返回值:如果函式執行成功,那么返回值是點陣圖的句柄;如果函式執行失敗,那么返回值為NULL。若想獲取更多錯誤信息,請調用GetLastError。
備註:由CreateCompatibleBitmap函式創建的點陣圖的顏色格式與由參數hdc標識的設備的顏色格式匹配。該點陣圖可以選入任意一個與原設備兼容的記憶體設備環境中。由於記憶體設備環境允許彩色和單色兩種點陣圖。因此當指定的設備環境是記憶體設備環境時,由CreateCompatibleBitmap函式返回的點陣圖格式不一定相同。然而為非記憶體設備環境創建的兼容點陣圖通常擁有相同的顏色格式,並且使用與指定的設備環境一樣的色彩調色板
當你不再需要這個點陣圖的時候,調用DeleteObject刪除它。
速查:Windows NT:3.1及以上版本;Windows:95及以上版本;Windows CE:1.0及以上版本;頭檔案:wingdi.h;庫檔案:gdi32.lib。
PS:需要與CreateCompatibleDC配合使用

示例

HDC hdc=GetDC(hwnd);HDC memdc=CreateCompatibleDC(hdc);RECT rc;BITMAP bmp;HBITMAP holdbmp,hbmp=LoadBitmap(hInstDVBRes,MAKEINTRESOURCE(IDB_CLOCK));//從資源載入點陣圖holdbmp=(HBITMAP)SelectObject(memdc,hbmp);//這裡把hbmp的點陣圖選擇到兼容DC memdc,之後這個兼容DC就擁有和//hbmp同樣大小的繪圖區域,注意超出點陣圖返回的GDI輸出都是無效的.GetObject(hbmp,sizeof(BITMAP),&bmp);//這裡獲取點陣圖的大小信息,事實上也是兼容DC繪圖輸出的範圍SetRect(&rc,0,0,bmp.bmWidth,bmp.bmHeight);DrawText(memdc,"Center Line Text" -1,&rc,DT_VCENTER|DT_SINGLELINE|DT_CENTER);//在兼容DC中間位置輸出字元串//這樣以來我們就相當於把hbmp這個點陣圖加上了文字標註,我們可以把這個增加了文字標註的點陣圖保存起來.一個簡單的圖像處理基本就OK了.SelectObject(memdc,holdbmp);//復原兼容DC數據.DeleteDC(memdc);ReleaseDC(hwnd, hdc);

相關詞條

熱門詞條

聯絡我們