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 |