BitBlt
9/9/2008
Essa função transfere pixels de um retângulo origem especificado para um retângulo destino especificado, a alteração de pixels de acordo com a codificar operação de varredura selecionado (ROP).
Syntax
BOOL BitBlt(
HDC hdcDest,
int nXDest,
int nYDest,
int nWidth,
int nHeight,
HDC hdcSrc,
int nXSrc,
int nYSrc,
DWORD dwRop
);
Parameters
- hdcDest
[no] Identificador para o contexto dispositivo destino.
- nXDest
[no] Especifica o x lógica-coordenar do upper-left corner do retângulo de destino.
- nYDest
[no] Especifica a y lógica-coordenar do upper-left corner do retângulo de destino.
- nWidth
[no] Especifica a largura lógica de retângulos de origem e destino.
- nHeight
[no] Especifica a altura lógica da origem e de retângulos destino.
- hdcSrc
[no] Identificador para o contexto dispositivo origem.
- nXSrc
[no] Especifica o x lógica-coordenar do upper-left corner do retângulo de origem.
- nYSrc
[no] Especifica a y lógica-coordenar do upper-left corner do retângulo de origem.
dwRop
[no] Especifica uma varredura-codificar operação.Esses códigos definem como os dados cor para o retângulo origem é para ser combinada com os dados cor para o retângulo destino para atingir a cor final.
A seguinte lista mostra algumas comum códigos operação de varredura.
Valor Descrição BLACKNESS
Preenche o retângulo destino usando a cor associado com índice 0 no físico paleta.
Essa cor é preta para o físico usar como padrão paleta.
DSTINVERT
Inverte o retângulo destino.
MERGECOPY
Mescla as cores do retângulo de origem com o padrão especificado, usando o operador Boolean AND.
MERGEPAINT
Mescla as cores do retângulo de origem invertida com as cores do retângulo de destino usando o Boolean operador OR.
NOTSRCCOPY
Copia o retângulo invertido origem para o destino.
NOTSRCERASE
Combina as cores dos retângulos de origem e destino usando o Boolean operador OR e, em seguida, inverte a cor resultante.
PATCOPY
Copia o padrão especificado para o bitmap destino.
PATINVERT
Combina as cores do padrão especificado com as cores do retângulo de destino usando o operador Boolean XOR.
PATPAINT
Combina as cores do padrão com as cores do retângulo de origem invertido usando o Boolean operador OR.
O resultado dessa operação é combinado com as cores do retângulo de destino usando o Boolean operador OR.
SRCAND
Combina as cores dos retângulos de origem e destino usando o operador Boolean AND.
SRCCOPY
Copia o retângulo origem diretamente para retângulo de destino.
SRCERASE
Combina as cores invertidas do retângulo de destino com as cores do retângulo de origem usando o operador Boolean AND.
SRCINVERT
Combina as cores dos retângulos de origem e destino usando o operador Boolean XOR.
SRCPAINT
Combina as cores dos retângulos de origem e destino usando o Boolean operador OR.
WHITENESS
Preenche o retângulo destino usando a cor associado com índice 0 no físico paleta.
Essa cor é branco para o físico usar como padrão paleta.
Para o lista completa dos códigos de operações de varredura, consulte Operações de varredura ternários.
Return Value
Nonzero indica sucesso. Zero indica falha. Para informações de erro estendidas get, chamar GetLastError.
Exemplo de código
O seguinte exemplo de código mostra como usar BitBlt Para copiar todos os pixels em um bitmap em outro bitmap.
Observação
Para fazer o seguinte exemplo de código mais fácil de ler, verificação de erro não está incluído.Esta exemplo de código não devem ser usadas em uma configuração versão a menos que ele foi modificado para incluir Seguro manipulação de erro.
HBITMAP CopyBitmap( HBITMAP hbm) {
HDC hdcSrc = CreateCompatibleDC(NULL);
HDC hdcDst = CreateCompatibleDC(NULL);
HBITMAP hbmOld, hbmOld2, hbmNew;
BITMAP bm;
GetObject(hbm, sizeof(bm), &bm);
hbmOld = SelectObject(hdcSrc, hbm);
hbmNew = CreateBitmap( bm.bmWidth, bm.bmHeight, bm.bmPlanes,
bm.bmBitsPixel,
NULL);
hbmOld2 = SelectObject(hdcDst, hbmNew);
BitBlt(hdcDst, 0, 0, bm.bmWidth, bm.bmHeight, hdcSrc, 0, 0, SRCCOPY);
SelectObject(hdcSrc, hbmOld);
DeleteDC(hdcSrc);
DeleteDC(hdcDst);
return hbmNew;
}
Remarks
Se uma transformação de rotação ou distorcer é aplicado no contexto de dispositivo origem, BitBlt Retorna um erro.
Se houver outras transformações no contexto de dispositivo origem (e um compatível transformação não é aplicado no contexto de dispositivo destino), o retângulo no contexto de dispositivo destino é alongado, compactado ou girado conforme necessário.
Se os formatos cor dos contextos de dispositivo origem e destino não coincidirem, o BitBlt função converte o formato cor origem para corresponder ao formato de destino.
Quando um metarquivo avançado está sendo gravada, ocorrerá um erro se o contexto dispositivo origem identifica um avançado-contexto dispositivo metarquivo.
Nem todos os dispositivos suporte a BitBlt função.
Para obter mais informações, consulte a entrada funcionalidade de varredura RC_BITBLT in a GetDeviceCaps função, bem como a MaskBlt e StretchBlt funções.
BitBlt Retorna um erro se a origem e destino contextos dispositivo representam dispositivos diferentes.
Para obter informações sobre como blitting para exibe com right-to-left orientações, consulte Criando os bitmaps.
Windows CE 1.0 e 1.01, o dwRop parâmetro só pode ser atribuído a seguinte valores:
- SRCAND
- SRCCOPY
- SRCINVERT
- SRCPAINT
No Windows CE 2.0 e posterior, o dwRop parâmetro pode ser qualquer ROP3. Para obter mais informações, consulte Criando os bitmaps.
Requirements
Header | windows.h |
Library | coredll.lib |
Windows Embedded CE | Windows CE 1.0 and later |
Windows Mobile | Windows Mobile Version 5.0 and later |
See Also
Reference
GetDeviceCaps
MaskBlt
StretchBlt
GDI Functions
Ternary Raster Operations