StretchDIBits將DIB中矩形區(qū)域內(nèi)像素使用的顏色數(shù)據(jù)拷貝到指定的目標(biāo)矩形中。如果目標(biāo)矩形比源矩形大小要大,那么函數(shù)對顏色數(shù)據(jù)的行和列進行拉伸,以與目標(biāo)矩形匹配。如果目標(biāo)矩形大小要比源矩形小,那么該函數(shù)通過使用指定的光柵操作對行列進行壓縮。
stretchdibits的參數(shù)有哪些?
hdc:指向目標(biāo)設(shè)備環(huán)境的句柄。
XDest:指定目標(biāo)矩形左上角位置的X軸坐標(biāo),按邏輯單位來表示坐標(biāo)。
YDest:指定目標(biāo)矩形左上角的Y軸坐標(biāo),按邏輯單位表示坐標(biāo)。
nDestWidth:指定目標(biāo)矩形的寬度。
nDestHeight:指定目標(biāo)矩形的高度。
XSrc:指定DIB中源矩形(左上角)的X軸坐標(biāo),坐標(biāo)以像素點表示。
YSrc:指定DIB中源矩形(左上角)的Y軸坐標(biāo),坐標(biāo)以像素點表示。
nSrcWidth:按像素點指定DIB中源矩形的寬度。
nSrcHeight:按像素點指定DIB中源矩形的高度。
lpBits:指向DIB位的指針,這些位的值按字節(jié)類型數(shù)組存儲,有關(guān)更多的信息,參考下面的備注一節(jié)。
lpBitsInfo:指向BITMAPINFO結(jié)構(gòu)的指針,該結(jié)構(gòu)包含有關(guān)DIB方面的信息。
iUsage:表示是否提供了BITMAPINFO結(jié)構(gòu)中的成員bmiColors,如果提供了,那么該bmiColors是否包含了明確的RGB值或索引。參數(shù)iUsage必須取下列值,這些值的含義如下:
DIB_PAL_COLORS:表示該數(shù)組包含對源設(shè)備環(huán)境的邏輯調(diào)色板進行索引的16位索引值。
DIB_RGB_COLORS:表示該顏色表包含原義的RGB值,若想了解更多的信息,請參考下面?zhèn)渥⒁还?jié)。
dwRop:指定源像素點、目標(biāo)設(shè)備環(huán)境的當(dāng)前刷子和目標(biāo)像素點是如何組合形成新的圖像。若想了解更多信息,請參考下面的備注一節(jié)。
返回值:如果函數(shù)執(zhí)行成功,那么返回值是拷貝的掃描線數(shù)目,如果函數(shù)執(zhí)行失敗,那么返回值是GDI_ERROR。
Windows NT:若想獲取更多錯誤信息,請調(diào)用GetLastError函數(shù)。Windows 98、Windows NT 5.0及以后版本:如果設(shè)備驅(qū)動程序不支持傳送給StretchDIBits的JPEG文件格式的圖像,則該函數(shù)將失敗,并返回GEI_ERROR。
備注:自底向上的DIB的起始點為左下角,自頂向下DIB的起始點為左上角。如果nSrcWidth和nDestWidth參數(shù)的符號不同?;蚴莕SrcHeight和nDesHeight參數(shù)的符號不同。那么函數(shù)StretchDIBits將創(chuàng)建位圖的鏡像。如果NsrcWidth和NdestWidth符號不同,那么函數(shù)將沿著X軸創(chuàng)建位圖鏡像。如果NsrcHeight和NdestHeight符號不同,那么函數(shù)將沿著Y軸創(chuàng)建位圖鏡像。
對于Windows 98、Windows NT 5.0及以后版本:該函數(shù)允許將JPEG圖像用作源圖像,每個參數(shù)如何使用其實仍是一樣的。如果BITMAPINFOHEADER結(jié)構(gòu)中的成員biCompression為BI_JPEG,那么參數(shù)lpBits指向的是一個包含JPEG圖像的緩沖區(qū)。BITMAPINFOHEADER結(jié)構(gòu)中的biSizeImage成員指定了該緩沖區(qū)的大小。參數(shù)iUsage必須設(shè)為DIB_RGB_COLORS。dwRop必須設(shè)為SRCCOPY。為確保打印時可以有正確的圖元文件假脫機操作。應(yīng)用程序應(yīng)在調(diào)用StretchDIBits函數(shù)之前調(diào)用CHECKJPEGFORMAT轉(zhuǎn)義符,以確認打印機識別JPEG圖像。
ICM:執(zhí)行顏色管理。如果指定的BITMAPINFO結(jié)構(gòu)中的bmiHeader不包含BITMAPV4HEADER或BITMAPV5HEADER,那么當(dāng)前設(shè)備環(huán)境的顏色配置(profile)被用作源顏色配置(profile)。如果沒有顏色檔案,那么就使用RGB。如果指定的BITMAPINFO結(jié)構(gòu)中的成員bmiHeader包含了BITMAPV4HEADER或BITMAPV5HEADER,那么將把位圖標(biāo)頭中指定的顏色配置(profile)用作源顏色配置。
速查:Windows NT:3.1及以上版本;Windows:95及以上版本;Windows CE:不支持;頭文件:wingdi.h:庫文件:gdi32.lib。
關(guān)鍵詞: stretchdibits是什么意思 stretchdibits的參數(shù)有哪些 StretchDIBits速度測試 StretchDIBits用法