Udostępnij za pośrednictwem


CDC::StretchBlt

Kopiuje mapę bitową z prostokąta źródłowego do prostokąta docelowego, w razie potrzeby rozciągając ją lub zmniejszając, aby dopasować ją do wymiarów prostokąta docelowego.

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

Parametry

  • x
    Określa współrzędną x (w jednostkach logicznych) lewego górnego rogu prostokąta docelowego.

  • y
    Określa współrzędną y (w jednostkach logicznych) lewego górnego rogu prostokąta docelowego.

  • nWidth
    Określa szerokość (w jednostkach logicznych) prostokąta docelowego.

  • nHeight
    Określa wysokość (w jednostkach logicznych) prostokąta docelowego.

  • pSrcDC
    Określa kontekst urządzenia źródłowego.

  • xSrc
    Określa współrzędną x (w jednostkach logicznych) lewego górnego rogu prostokąta źródłowego.

  • ySrc
    Określa współrzędną y (w jednostkach logicznych) lewego górnego rogu prostokąta źródłowego.

  • nSrcWidth
    Określa szerokość (w jednostkach logicznych) prostokąta źródłowego.

  • nSrcHeight
    Określa wysokość (w jednostkach logicznych) prostokąta źródłowego.

  • dwRop
    Określa operację rastrową, która ma być wykonana.Kody operacji rastrowych definiują, jak interfejs GDI łączy kolory w operacjach wyjściowych, które obejmują aktualny pędzel, możliwą źródłową mapę bitową i docelową mapę bitową.Ten parametr może przybierać jedną z następujących wartości:

    • BLACKNESS   Zmienia efekt wyjściowy na czerń.

    • DSTINVERT   Odwraca docelową mapę bitową.

    • MERGECOPY   Łączy deseń i źródłową mapę bitową użyciu operatora logicznego AND.

    • MERGEPAINT   Łączy odwróconą źródłową mapę bitową z docelową mapą bitową za pomocą operatora logicznego OR.

    • NOTSRCCOPY   Kopiuje odwróconą źródłową mapę bitową do miejsca docelowego.

    • NOTSRCERASE   Odwraca wynik połączenia docelowej i źródłowej mapy bitowej przy użyciu operatora logicznego OR.

    • PATCOPY   Kopiuje deseń do docelowej mapy bitowej.

    • PATINVERT   Łączy deseń i docelową mapę bitową użyciu operatora logicznego XOR.

    • PATPAINT   Łączy odwróconą źródłową mapę bitową z deseniem za pomocą operatora logicznego OR.Łączy wynik tej operacji z docelową mapą bitową za pomocą operatora logicznego OR.

    • SRCAND   Łączy piksele docelowej i źródłowej mapy bitowej przy użyciu operatora logicznego AND.

    • SRCCOPY   Kopiuje źródłową mapę bitową do docelowej mapy bitowej.

    • SRCERASE   Odwraca docelową mapę bitową i łączy wynik ze źródłową mapą bitową przy użyciu operatora logicznego AND.

    • SRCINVERT   Łączy piksele docelowej i źródłowej mapy bitowej przy użyciu operatora logicznego XOR.

    • SRCPAINT   Łączy piksele docelowej i źródłowej mapy bitowej przy użyciu operatora logicznego OR.

    • WHITENESS   Zmienia efekt wyjściowy na biel.

Wartość zwracana

Różne od zera, jeśli mapa bitowa jest rysowana; w przeciwnym razie 0.

Uwagi

Funkcja używa trybu rozciągania kontekstu urządzenia docelowego (ustawionego przez SetStretchBltMode), aby określić, jak rozciągnąć lub zmniejszyć mapę bitową.

Funkcja StretchBlt przenosi mapę bitową z urządzenia źródłowego podanego przez pSrcDC do urządzenia docelowego, reprezentowanego przez obiekt kontekstu urządzenia, którego funkcja elementu członkowskiego jest wywoływana.Parametry xSrc, ySrc, nSrcWidth I nSrcHeight definiują lewy górny róg i wymiary prostokąta źródłowego.Parametry x, y, nWidth i nHeight podają lewy górny róg i wymiary prostokąta docelowego.Operacja rastrowa określona przez dwRop definiuje sposób łączenia źródłowej mapy bitowej i bitów już obecnych na urządzeniu docelowym.

Funkcja StretchBlt tworzy obraz lustrzany mapy bitowej, jeżeli znaki parametrów nSrcWidth i nWidth lub nSrcHeight i nHeight są różne.Jeśli nSrcWidth i nWidth mają różne znaki, funkcja tworzy obraz lustrzany mapy bitowej, wzdłuż osi x.Jeśli nSrcHeight i nHeight mają różne znaki, funkcja tworzy obraz lustrzany mapy bitowej, wzdłuż osi y.

Funkcja StretchBlt rozciąga lub kompresuje źródłową mapę bitową w pamięci, a następnie kopiuje wynik do miejsca docelowego.Jeśli deseń ma być połączony z wynikiem, nie jest łączony, dopóki rozciągnięta źródłowa mapa bitowa nie zostanie skopiowana do miejsca docelowego.Jeśli jest używany pędzel, jest to wybrany pędzel w kontekście urządzenia docelowego.Współrzędne miejsca przeznaczenia są przekształcane zgodnie z kontekstem urządzenia docelowego; współrzędne źródła są przekształcane zgodnie z kontekstem urządzenia źródłowego.

Jeśli mapy bitowe docelowa, źródłowa i desenia nie mają tego samego formatu koloru, StretchBlt konwertuje źródłową mapę bitową i deseń, aby dopasować je do docelowej mapy bitowej.Kolory pierwszego planu i tła kontekstu urządzenia docelowego są używane do konwersji.

Jeśli StretchBlt musi przekonwertować monochromatyczną mapę bitową na kolor, to ustawia bity białe (1) dla koloru tła i bity czarne (0) dla koloru pierwszego planu.Aby przekonwertować kolor na monochromatyczny, ustawia piksele, które odpowiadają kolorowi tła, na biały (1), a wszystkie inne piksele ustawia na czarny (0).Używane są kolory pierwszego planu i tła kontekstu urządzenia z kolorem.

Nie wszystkie urządzenia obsługują funkcję StretchBlt.Aby sprawdzić, czy urządzenie obsługuje StretchBlt, wywołaj funkcję elementu członkowskiego GetDeviceCaps z indeksem RASTERCAPS i sprawdź wartość zwracaną dla flagi RC_STRETCHBLT.

Wymagania

Nagłówek: afxwin.h

Zobacz też

Informacje

Klasa CDC

Diagram hierarchii

CDC::BitBlt

CDC::GetDeviceCaps

CDC::SetStretchBltMode

StretchBlt