共用方式為


CDC::StretchBlt

複製來源矩形的點陣圖的目的矩形,必要時,自動縮放或壓縮點陣圖至適合目的矩形的維度。

BOOL StretchBlt(
   int x,
   int y,
   int nWidth,
   int nHeight,
   CDC* pSrcDC,
   int xSrc,
   int ySrc,
   int nSrcWidth,
   int nSrcHeight,
   DWORD dwRop 
);

參數

  • x
    指定 X 座標 (以邏輯單位 (Logical Unit) 的目的矩形的左上角。

  • y
    指定 Y 座標 (以邏輯單位 (Logical Unit) 的目的矩形的左上角。

  • nWidth
    指定寬度 (以邏輯單位 (Logical Unit) 的目的矩形。

  • nHeight
    指定高度 (以邏輯單位 (Logical Unit) 目的矩形。

  • pSrcDC
    指定來源裝置內容。

  • xSrc
    指定 X 座標 (以邏輯單位 (Logical Unit) 來源矩形的左上角。

  • ySrc
    指定 X 座標 (以邏輯單位 (Logical Unit) 來源矩形的左上角。

  • nSrcWidth
    指定寬度 (以邏輯單位 (Logical Unit) 的來源矩形。

  • nSrcHeight
    指定高度 (以邏輯單位 (Logical Unit) 來源矩形。

  • dwRop
    指定要執行的光柵作業。 光柵作業程式碼定義 GDI 如何合併在涉及一個目前筆刷、一個可能的來源點陣圖和目的點陣圖的 I/O 作業的色彩。 這個參數可以是下列其中一個值:

    • BLACKNESS 關閉所有輸出黑色。

    • DSTINVERT 反轉目的點陣圖。

    • 使用布林值 AND 運算子,MERGECOPY 合併模式和來源點陣圖。

    • 使用布林值或運算子,MERGEPAINT 合併逆轉之來源點陣圖與目的點陣圖。

    • NOTSRCCOPY 複製所轉換的來源點陣圖至目的端。

    • 使用布林值或運算子,NOTSRCERASE 反轉合併目的和來源點陣圖的結果。

    • PATCOPY 複製樣式至目的點陣圖。

    • 使用布林值 (Boolean) XOR 運算子,PATINVERT 合併目的點陣圖與這個模式。

    • 使用布林值或運算子,PATPAINT 合併逆轉之來源點陣圖的樣式。 使用布林值或運算子,合併這個作業的結果和目的點陣圖的。

    • 使用布林值 AND 運算子,SRCAND 合併目的和來源點陣圖的像素。

    • SRCCOPY 複寫來源點陣圖為目的點陣圖。

    • 使用布林值 AND 運算子,SRCERASE 反轉目的點陣圖和合併結果與來源點陣圖。

    • 使用布林值 (Boolean) XOR 運算子,SRCINVERT 合併目的和來源點陣圖的像素。

    • 使用布林值或運算子,SRCPAINT 合併目的和來源點陣圖的像素。

    • WHITENESS 關閉所有輸出白色。

傳回值

如果不是零,則會先繪製點陣圖,則為 0。

備註

函式使用目的裝置內容 (集合的自動縮放模式 SetStretchBltMode) 決定如何自動縮放或壓縮點陣圖。

StretchBltpSrcDC 函式從指定的來源裝置移動點陣圖成員函式呼叫的裝置內容 (由物件表示的目的裝置。 xSrc、 ySrc、 nSrcWidth和 nSrcHeight 參數定義來源矩形的左上角的位置和維度。 xy、 nWidth和 nHeight 參數指定目的端矩形的左上角的位置和維度。 指定的 dwRop 光柵作業定義來源點陣圖和位元已在目的裝置的組合方式。

如果 nSrcWidth 的標記和 nWidth 或 nSrcHeight 和 nHeight 參數不同, StretchBlt 函式建立點陣圖的鏡像。 如果 nSrcWidth 和 nWidth 具有不同的標記,函式會建立點陣圖的鏡像沿著 X 軸的。 如果 nSrcHeight 和 nHeight 具有不同的標記,函式會建立點陣圖的鏡像沿著 Y 軸的。

StretchBlt 函式自動縮放或壓縮記憶體中的來源點陣圖然後複製結果至目的端。 如果樣式合併的結果,則不會合併,直到自動縮放的來源點陣圖複製到目的端。 如果使用筆刷是,則這個選項的筆刷在目的裝置内容。 目的座標以目的裝置内容中被轉換,來源座標以來源裝置內容被轉換。

如果目的、來源和樣式點陣圖沒有相同的色彩格式, StretchBlt 轉換來源和樣式點陣圖符合目的點陣圖。 目的裝置内容的前景和背景色彩來轉換。

如果 StretchBlt 必須轉換單色點陣圖色彩,則會將空白欄位 (1) 成與黑色 (0 位元) 的前景色彩。 若要將色彩轉換為為黑白相片,其設定為符合背景色彩為白色 (1) 的像素並將其他像素 0 (黑色)。 使用裝置內容的前景和背景色彩中的色彩。

並非所有的裝置支援 StretchBlt 函式。 若要判斷裝置是否支援 StretchBlt,請呼叫 RASTERCAPS 索引的 GetDeviceCaps 成員函式並檢查傳回值 RC_STRETCHBLT 旗標。

需求

Header: afxwin.h

請參閱

參考

CDC 類別

階層架構圖

CDC::BitBlt

CDC::GetDeviceCaps

CDC::SetStretchBltMode

StretchBlt