Udostępnij za pośrednictwem


CDC::BitBlt

Kopiuje bitmapy z kontekstu urządzenia źródłowego do tego bieżącego kontekstu urządzenia.

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

Parametry

  • x
    Określa logiczną współrzędną x lewego górnego rogu prostokąt docelowy.

  • y
    Określa logiczną współrzędną y lewego górnego rogu prostokąt docelowy.

  • nWidth
    Określa szerokość (w jednostkach logicznych) bitmapy docelowy prostokąt i źródła.

  • nHeight
    Określa wysokość (w jednostkach logicznych) bitmapy docelowy prostokąt i źródła.

  • pSrcDC
    Wskaźnik do CDC obiekt, który identyfikuje kontekstu urządzenia, z którego zostaną skopiowane bitmapy.Musi być NULL Jeśli dwRop określa operację rastrowych, która nie zawiera źródła.

  • xSrc
    Określa logiczną współrzędną x lewego górnego rogu źródłowa bitmapa.

  • ySrc
    Określa logiczną współrzędną y lewego górnego rogu źródłowa bitmapa.

  • dwRop
    Określa wykonywanej operacji rastrowe.Kody operacji rastrowych zdefiniować jak interfejs GDI łączy kolory w operacji wyjścia, obejmujących bieżący pędzel, bitmapy możliwe źródło i mapy bitowej miejsca przeznaczenia.Zobacz BitBlt w Windows SDK dla listy kodów operacji rastrowych dwRop i ich opisy.

Pełną listę kodów operacji rastrowych, zobacz O kodów operacji rastrowych w Windows SDK.

Wartość zwracana

Niezerowa, jeśli funkcja jest pomyślne; 0 inaczej.

Uwagi

Wniosek można wyrównać windows lub obszary klienta bajt granic w celu zapewnienia, że BitBlt operacji występuje na prostokąty wyrównany bajt.(Ustawianie CS_BYTEALIGNWINDOW lub CS_BYTEALIGNCLIENT flagi podczas rejestrowania klasy okna.)

BitBltoperacje na wyrównany bajt prostokąty są znacznie szybsze niż BitBlt operacji na prostokąty, które nie są wyrównane bajt.Jeśli chcesz określić style klasy, takie jak wyrównanie bajt kontekstu urządzenia trzeba będzie zarejestrować klasy okna polegając na klasy Microsoft Foundation dla Ciebie zrobić.Użyj funkcji globalnej AfxRegisterWndClass.

Przekształca GDI nWidth i nHeight, raz przy użyciu kontekstu urządzenia docelowego i raz przy użyciu kontekstu urządzenia źródłowego.Jeśli wynikowa zakresów nie pasują do siebie, GDI używa systemu Windows StretchBlt funkcji kompresowania lub Rozciągnij źródłowa bitmapa to konieczne.

Jeśli przeznaczenia, źródła i mapy bitowe wzorzec nie ma ten sam format kolor BitBlt funkcja konwertuje bitmapy źródła i deseń do miejsca przeznaczenia.Kolory pierwszego planu i tła bitmapy przeznaczenia są używane w konwersji.

Gdy BitBlt funkcja konwertuje kolor bitmap monochromatycznych, ustawia bity białe (1) kolor tła i bitów (0) czarny kolor pierwszego planu.Są używane kolory pierwszego planu i tła kontekstu urządzenia docelowego.Aby przekonwertować kolor monochromatycznych, BitBlt ustawia piksele, które odpowiadają kolorowi tła na biały i ustawia wszystkie pozostałe piksele na czarny.BitBltużywa kolorów narzędzia i tła kolor kontekstu urządzenia do konwersji z kolorów na monochromatyczny.

Należy zauważyć, że nie wszystkie konteksty urządzenie obsługuje BitBlt.Aby sprawdzić, czy obsługuje kontekstu danego urządzenia BitBlt, użyj GetDeviceCaps Członkowskich funkcję i określić RASTERCAPS indeksu.

Przykład

Zobacz przykład dla CDC::CreateCompatibleDC.

Wymagania

Nagłówek: afxwin.h

Zobacz też

Informacje

Klasa CDC

Diagram hierarchii

CDC::GetDeviceCaps

CDC::PatBlt

CDC::SetTextColor

CDC::StretchBlt

StretchDIBits

BitBlt