CDC::StretchBlt
Zkopíruje bitmapu ze zdrojového obdélníku do cílového obdélníku a roztáhne nebo ji zkomprimuje tak, aby odpovídala rozměrům cílového obdélníku.
BOOL StretchBlt(
int x,
int y,
int nWidth,
int nHeight,
CDC* pSrcDC,
int xSrc,
int ySrc,
int nSrcWidth,
int nSrcHeight,
DWORD dwRop
);
Parametry
x
Určuje souřadnici x (v logických jednotkách) levého horního rohu cílového obdélníku.y
Určuje souřadnici y (v logických jednotkách) levého horního rohu cílového obdélníku.nWidth
Určuje šířku (v logických jednotkách) cílového obdélníku.nHeight
Určuje výšku (v logických jednotkách) cílového obdélníku.pSrcDC
Určuje kontext zdrojového zařízení.xSrc
Určuje souřadnici x (v logických jednotkách) levého horního rohu zdrojového obdélníku.ySrc
Určuje souřadnici y (v logických jednotkách) levého horního rohu zdrojového obdélníku.nSrcWidth
Určuje šířku (v logických jednotkách) zdrojového obdélníku.nSrcHeight
Určuje výšku (v logických jednotkách) zdrojového obdélníku.dwRop
Určuje rastrovou operaci, která má být provedena.Kódy rastrové operace určují, jak rozhraní GDI kombinuje barvy ve výstupních operacích, které zahrnují aktuální štětec, možnou zdrojovou bitmapu a cílovou bitmapu.Tento parametr může mít jednu z následujících hodnot:BLACKNESS Veškerý výstup změní na černou.
DSTINVERT Obrátí cílovou bitmapu.
MERGECOPY Kombinuje vzor a zdrojovou bitmapu pomocí logického operátoru AND.
MERGEPAINT Kombinuje obrácenou zdrojovou bitmapu s cílovou bitmapou pomocí logického operátoru OR.
NOTSRCCOPY Kopíruje obrácenou zdrojovou bitmapu do cíle.
NOTSRCERASE Obrátí výsledek kombinace cílové a zdrojové bitmapy pomocí logického operátoru OR.
PATCOPY Kopíruje vzor do cílové bitmapy.
PATINVERT Kombinuje cílovou bitmapu se vzorem pomocí logického operátoru XOR.
PATPAINT Kombinuje obrácenou zdrojovou bitmapu se vorem pomocí logického operátoru OR.Kombinuje výsledek této operace s cílovou bitmapou pomocí logického operátoru OR.
SRCAND Kombinuje pixely cílové a zdrojové bitmapy pomocí logického operátoru AND.
SRCCOPY Kopíruje zdrojovou bitmapu do cílové bitmapy.
SRCERASE Obrátí cílovou bitmapu a kombinuje výsledek se zdrojovou bitmapou pomocí logického operátoru AND.
SRCINVERT Kombinuje pixely cílové a zdrojové bitmapy pomocí logického operátoru XOR.
SRCPAINT Kombinuje pixely cílové a zdrojové bitmapy pomocí logického operátoru OR.
WHITENESS Veškerý výstup změní na bílý.
Vrácená hodnota
Nenulové, pokud je bitmapa nakreslena; jinak 0.
Poznámky
Funkce používá režim roztažení kontextu cílového zařízení (nastaveno SetStretchBltMode) k určení způsobu roztažení nebo komprimování bitmapy.
Funkce StretchBlt přesune bitmapu ze zdrojového zařízení určeného pSrcDC do cílového zařízení reprezentovaného objektem kontextu zařízení, jehož členská funkce je volána.Parametry xSrc, ySrc, nSrcWidth a nSrcHeight definují levý horní roh a rozměry zdrojového obdélníku.Parametry x, y, nWidth a nHeight uvádějí levý horní roh a rozměry cílového obdélníku.Rastrová operace určená dwRop definuje způsob kombinace zdrojové bitmapy a bitů, které se již nacházejí v cílovém zařízení.
Funkce StretchBlt vytvoří zrcadlový obraz bitmapy, pokud se znaménka parametrů nSrcWidth a nWidth nebo nSrcHeight a nHeight liší.Pokud parametry nSrcWidth a nWidth mají odlišná znaménka, funkce vytvoří zrcadlový obraz bitmapy podél osy x.Pokud parametry nSrcHeight a nHeight mají odlišná znaménka, funkce vytvoří zrcadlový obraz bitmapy podél osy y.
Funkce StretchBlt roztáhne nebo komprimuje zdrojovou bitmapu v paměti a poté zkopíruje výsledek do cíle.Pokud je třeba s výsledkem sloučit vzor, vzor se nesloučí, dokud se rozložená zdrojová bitmapa nezkopíruje do cíle.Pokud se používá štětec, jedná se o štětec vybraný v kontextu cílového zařízení.Cílové souřadnice jsou transformovány podle kontextu cílového zařízení; zdrojové souřadnice jsou transformovány podle kontextu zdrojového zařízení;
Pokud bitmapy cíle, zdroje a vzoru nemají stejný formát barev, StretchBlt převede bitmapy zdroje a vzoru tak, aby odpovídaly cílovým bitmapám.Během převodu se použijí barvy popředí a pozadí kontextu cílového zařízení.
Pokud StretchBlt musí převést černobílou bitmapu na barevnou, nastaví bílé bity (1) na barvu pozadí a černé bity (0) na barvu popředí.V případě převodu barevného na černobílé zobrazení nastaví pixely, které odpovídají barvě pozadí, na bílé (1) a všechny ostatní pixely nastaví na černé (0).Použijí se barvy popředí a pozadí kontextu cílového zařízení s barvou.
Funkci StretchBlt nepodporují všechna zařízení.Chcete-li zjistit, zda zařízení funkci StretchBlt podporuje, volejte členskou funkci GetDeviceCaps s indexem RASTERCAPS a ověřte návratovou hodnotu pro příznak RC_STRETCHBLT.
Požadavky
Hlavička: afxwin.h