Função PlgBlt (wingdi.h)

A função PlgBlt executa uma transferência de bloco de bits dos bits de dados de cor do retângulo especificado no contexto do dispositivo de origem para o parallelogram especificado no contexto do dispositivo de destino. Se o identificador do bitmask identificar um bitmap monocromático válido, a função usará esse bitmap para mascarar os bits de dados de cor do retângulo de origem.

Sintaxe

BOOL PlgBlt(
  [in] HDC         hdcDest,
  [in] const POINT *lpPoint,
  [in] HDC         hdcSrc,
  [in] int         xSrc,
  [in] int         ySrc,
  [in] int         width,
  [in] int         height,
  [in] HBITMAP     hbmMask,
  [in] int         xMask,
  [in] int         yMask
);

Parâmetros

[in] hdcDest

Um identificador para o contexto do dispositivo de destino.

[in] lpPoint

Um ponteiro para uma matriz de três pontos no espaço lógico que identifica três cantos do paralelogramo de destino. O canto superior esquerdo do retângulo de origem é mapeado para o primeiro ponto nessa matriz, o canto superior direito para o segundo ponto nessa matriz e o canto inferior esquerdo para o terceiro ponto. O canto inferior direito do retângulo de origem é mapeado para o quarto ponto implícito no paralelogramo.

[in] hdcSrc

Um identificador para o contexto do dispositivo de origem.

[in] xSrc

A coordenada x, em unidades lógicas, do canto superior esquerdo do retângulo de origem.

[in] ySrc

A coordenada y, em unidades lógicas, do canto superior esquerdo do retângulo de origem.

[in] width

A largura, em unidades lógicas, do retângulo de origem.

[in] height

A altura, em unidades lógicas, do retângulo de origem.

[in] hbmMask

Um identificador para um bitmap monocromático opcional que é usado para mascarar as cores do retângulo de origem.

[in] xMask

A coordenada x, em unidades lógicas, do canto superior esquerdo do bitmap monocromático.

[in] yMask

A coordenada y, em unidades lógicas, do canto superior esquerdo do bitmap monocromático.

Valor retornado

Se a função for bem-sucedida, o valor retornado será diferente de zero.

Se a função falhar, o valor retornado será zero.

Comentários

A função PlgBlt funciona com bitmaps dependentes do dispositivo.

O quarto vértice do paralelismo (D) é definido tratando os três primeiros pontos (A, B e C ) como vetores e computação D = B +CA.

Se a máscara de bits existir, um valor de um na máscara indicará que a cor do pixel de origem deve ser copiada para o destino. Um valor zero na máscara indica que a cor do pixel de destino não deve ser alterada. Se o retângulo da máscara for menor que os retângulos de origem e destino, a função replicará o padrão da máscara.

Transformações de escala, tradução e reflexão são permitidas no contexto do dispositivo de origem; no entanto, as transformações de rotação e de distorção não são. Se o bitmap de máscara não for um bitmap monocromático, ocorrerá um erro. O modo de alongamento para o contexto do dispositivo de destino é usado para determinar como esticar ou compactar os pixels, se necessário.

Quando um meta-arquivos aprimorado está sendo registrado, ocorre um erro se o contexto do dispositivo de origem identifica um contexto de dispositivo de meta-arquivo aprimorado.

As coordenadas de destino são transformadas de acordo com o contexto do dispositivo de destino; as coordenadas de origem são transformadas de acordo com o contexto do dispositivo de origem. Se a transformação de origem tiver uma rotação ou uma distorção, um erro será retornado.

Se os retângulos de origem e de destino não tiverem o mesmo formato de cor, PlgBlt converterá o retângulo de origem para corresponder ao retângulo de destino.

Nem todos os dispositivos dão suporte à função PlgBlt . Para obter mais informações, consulte a descrição da funcionalidade de varredura RC_BITBLT na função GetDeviceCaps .

Se os contextos de dispositivo de origem e destino representarem dispositivos incompatíveis, PlgBlt retornará um erro.

Quando usados em um sistema de vários monitores, hdcSrc e hdcDest devem se referir ao mesmo dispositivo ou a função falhará. Para transferir dados entre DCs para diferentes dispositivos, converta o bitmap de memória em um DIB chamando GetDIBits. Para exibir o DIB para o segundo dispositivo, chame SetDIBits ou StretchDIBits.

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows 2000 Professional [somente aplicativos da área de trabalho]
Servidor mínimo com suporte Windows 2000 Server [somente aplicativos da área de trabalho]
Plataforma de Destino Windows
Cabeçalho wingdi.h (inclua Windows.h)
Biblioteca Gdi32.lib
DLL Gdi32.dll

Confira também

Bitblt

Funções de bitmap

Visão geral do Bitmaps

GetDIBits

Getdevicecaps

Maskblt

Setdibits

SetStretchBltMode

Stretchblt

Stretchdibits