Função AlphaBlend (wingdi.h)
A função AlphaBlend exibe bitmaps que têm pixels transparentes ou semitransparentes.
Sintaxe
BOOL AlphaBlend(
[in] HDC hdcDest,
[in] int xoriginDest,
[in] int yoriginDest,
[in] int wDest,
[in] int hDest,
[in] HDC hdcSrc,
[in] int xoriginSrc,
[in] int yoriginSrc,
[in] int wSrc,
[in] int hSrc,
[in] BLENDFUNCTION ftn
);
Parâmetros
[in] hdcDest
Um identificador para o contexto do dispositivo de destino.
[in] xoriginDest
A coordenada x, em unidades lógicas, do canto superior esquerdo do retângulo de destino.
[in] yoriginDest
A coordenada y, em unidades lógicas, do canto superior esquerdo do retângulo de destino.
[in] wDest
A largura, em unidades lógicas, do retângulo de destino.
[in] hDest
A altura, em unidades lógicas, do retângulo de destino.
[in] hdcSrc
Um identificador para o contexto do dispositivo de origem.
[in] xoriginSrc
A coordenada x, em unidades lógicas, do canto superior esquerdo do retângulo de origem.
[in] yoriginSrc
A coordenada y, em unidades lógicas, do canto superior esquerdo do retângulo de origem.
[in] wSrc
A largura, em unidades lógicas, do retângulo de origem.
[in] hSrc
A altura, em unidades lógicas, do retângulo de origem.
[in] ftn
A função de combinação alfa para bitmaps de origem e destino, um valor alfa global a ser aplicado a todo o bitmap de origem e as informações de formato para o bitmap de origem. No momento, as funções de combinação de origem e destino estão limitadas a AC_SRC_OVER. Consulte as estruturas BLENDFUNCTION e EMRALPHABLEND .
Valor retornado
Se a função for bem-sucedida, o valor retornado será TRUE.
Se a função falhar, o valor retornado será FALSE.
Comentários
Se o retângulo de origem e o retângulo de destino não tiverem o mesmo tamanho, o bitmap de origem será estendido para corresponder ao retângulo de destino. Se a função SetStretchBltMode for usada, o valor iStretchMode será convertido automaticamente em COLORONCOLOR para essa função (ou seja, BLACKONWHITE, WHITEONBLACK e HALFTONE serão alterados para COLORONCOLOR).
As coordenadas de destino são transformadas usando a transformação especificada atualmente para o contexto do dispositivo de destino. As coordenadas de origem são transformadas usando a transformação especificada atualmente para o contexto do dispositivo de origem.
Ocorrerá um erro (e a função retornará FALSE) se o contexto do dispositivo de origem identificar um contexto de dispositivo de metafile aprimorado.
Se os bitmaps de destino e de origem não tiverem o mesmo formato de cor, AlphaBlend converterá o bitmap de origem para corresponder ao bitmap de destino.
O AlphaBlend não dá suporte ao espelhamento. Se a largura ou altura da origem ou destino for negativa, essa chamada falhará.
Ao renderizar em uma impressora, primeiro chame GetDeviceCaps com SHADEBLENDCAPS para determinar se a impressora dá suporte à mesclagem com AlphaBlend. Observe que, para um DC de exibição, todas as operações de mesclagem têm suporte e esses sinalizadores representam se as operações são aceleradas.
Se a origem e o destino forem a mesma superfície, ou seja, eles são a tela ou o mesmo bitmap de memória e os retângulos de origem e destino se sobrepõem, ocorre um erro e a função retorna FALSE.
O retângulo de origem deve estar completamente dentro da superfície de origem, caso contrário, ocorrerá um erro e a função retornará FALSE.
AlphaBlend falhará se a largura ou altura da origem ou destino for negativa.
O membro SourceConstantAlpha de BLENDFUNCTION especifica um valor de transparência alfa a ser usado em todo o bitmap de origem. O valor SourceConstantAlpha é combinado com qualquer valor alfa por pixel. Se SourceConstantAlpha for 0, supõe-se que a imagem seja transparente. Defina o valor SourceConstantAlpha como 255 (o que indica que a imagem é opaca) quando você só deseja usar valores alfa por pixel.
Requisitos
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 | Msimg32.lib |
DLL | Msimg32.dll |