Sdílet prostřednictvím


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

Viz také

Referenční dokumentace

Třída Nemocnosti

Graf hierarchie

CDC::BitBlt

CDC::GetDeviceCaps

CDC::SetStretchBltMode

StretchBlt