SetStretchBltMode函數設定在指定裝置內容中的伸展模式。
int SetStretchBltMode(
HDC hdc, // DC的HANDLE
int iStretchMode // 位元影像伸展模式
);
Hdc:輸入,裝置內容的HANDLE
iStretchMode:輸入,指定的伸展模式,參數可以下面值之一:
值
描述
BLACKONWHITE
執行一個布爾AND操作在要刪除的存在的圖素上。如果位元影像是一個單色位元影像,這個模式保留黑色的像素為白色的像素。
COLORONCOLOR
刪除像素,這個模式刪除所有待刪除的像素行,而不保留他們的資訊。
HALFTONE
從源矩形映射像素到指定的目標矩形。目標和源矩形的平均顏色是相似的。
在設定HALFTON伸展模式之後,應用程式必須調用SetBrushOrgEx函數來設定刷源。如果該調用失敗了,刷子將不對齊。
This option is not supported on Windows 95/98/Me.
STRETCH_ANDSCANS
Same as BLACKONWHITE.
STRETCH_DELETESCANS
Same as COLORONCOLOR.
STRETCH_HALFTONE
Same as HALFTONE.
STRETCH_ORSCANS
Same as WHITEONBLACK.
WHITEONBLACK
執行一個布爾或操作,使用待刪除的存在的像素的顏色。如果位元影像是一個單色的位元影像,這個模式將保留白色的像素為黑色像素。
傳回值:
如果函數成功,返回先前的伸展模式
如果失敗,返回0
WINDOWS NT/2000/XP:使用GetLastError可以得到更多的資訊,下面是其中之一:
值
意義
ERROR_INVALID_PARAMETER
一到多個參數無效
備忘:
伸展模式定義了程式調用StretchBlt函數的時候怎麼樣在顯示裝置上用存在的像素合并位元影像行或列。
BLACKONWHITE (STRETCH_ANDSCANS)和WHITEONBLACK (STRETCH_ORSCANS)典型的用來保留單色位元影像的前景像素。COLORONCOLOR (STRETCH_DELETESCANS)模式通常用來保留彩色位元影像中的顏色。
HALFTONE相對較慢,並要求更多的源圖象處理,但提供較高的映像品質。同樣SetBrushOrgEx也不惜是HALFTON模式以免刷子不對齊。
另外,伸展模式也依賴於裝置磁碟機的能力。
本文來自CSDN部落格,轉載請標明出處:http://blog.csdn.net/windcsn/archive/2005/09/28/491183.aspx