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