CDC::StretchBlt
Copia um bitmap de um retângulo de origem em um retângulo de destino, alongando-o ou compactando-o, se necessário, para ajustá-lo às dimensões do retângulo de destino.
BOOL StretchBlt(
int x,
int y,
int nWidth,
int nHeight,
CDC* pSrcDC,
int xSrc,
int ySrc,
int nSrcWidth,
int nSrcHeight,
DWORD dwRop
);
Parâmetros
x
Especifica a coordenada x (em unidades lógicas) do canto esquerdo superior do retângulo de destino.y
Especifica a coordenada y (em unidades lógicas) do canto esquerdo superior do retângulo de destino.nWidth
Especifica a largura (em unidades lógicas) do retângulo de destino.nHeight
Especifica a altura (em unidades lógicas) do retângulo de destino.pSrcDC
Especifica o contexto do dispositivo de origem.xSrc
Especifica a coordenada x (em unidades lógicas) do canto esquerdo superior do retângulo de origem.ySrc
Especifica a coordenada y (em unidades lógicas) do canto esquerdo superior do retângulo de origem.nSrcWidth
Especifica a largura (em unidades lógicas) do retângulo de origem.nSrcHeight
Especifica a altura (em unidades lógicas) do retângulo de origem.dwRop
Especifica a operação de varredura a ser executada. Os códigos da operação de varredura definem como a GDI combina cores nas operações de saída que envolvem um pincel, um possível bitmap de origem e um bitmap de destino. Esse parâmetro pode ser um dos seguintes valores:BLACKNESS Transforma toda a saída em preto.
DSTINVERT Inverte o bitmap de destino.
MERGECOPY Combina o padrão e o bitmap de origem usando o operador AND booliano.
MERGEPAINT Combina o bitmap de origem invertido com o bitmap de destino usando o operador OR booliano.
NOTSRCCOPY Copia o bitmap de origem invertido no destino.
NOTSRCERASE Inverte o resultado da combinação de bitmaps de destino e origem usando o operador OR booliano.
PATCOPY Copia o padrão no bitmap de destino.
PATINVERT Combina o bitmap de destino com o padrão usando o operador XOR booliano.
PATPAINT Combina o bitmap de origem invertido com o padrão usando o operador OR booliano. Combina o resultado dessa operação com o bitmap de destino usando o operador OR booliano.
SRCAND Combina os pixels dos bitmaps de destino e origem usando o operador AND booliano.
SRCCOPY Copia o bitmap de origem no bitmap de destino.
SRCERASE Inverte o bitmap de destino e combina o resultado com o bitmap de origem usando o operador AND booliano.
SRCINVERT Combina os pixels dos bitmaps de destino e origem usando o operador XOR booliano.
SRCPAINT Combina os pixels dos bitmaps de destino e origem usando o operador OR booliano.
WHITENESS Transforma toda a saída em branco.
Valor de retorno
Diferente de zero se o bitmap for desenhado; caso contrário, 0.
Comentários
A função usa o modo de alongamento do contexto do dispositivo de destino (definido por SetStretchBltMode) para determinar como alongar ou compactar o bitmap.
A função StretchBlt move o bitmap do dispositivo de origem fornecido por pSrcDC para o dispositivo de destino representado pelo objeto de contexto de dispositivo, cuja função membro está sendo chamada. Os parâmetros xSrc, ySrc, nSrcWidth e nSrcHeight definem o canto superior esquerdo e as dimensões do retângulo de origem. Os parâmetros x, y, nWidth e nHeight fornecem o canto superior esquerdo e as dimensões do retângulo de destino. A operação de varredura especificada por dwRop define como o bitmap de origem e os bits já no dispositivo de destino são combinados.
A função StretchBlt criará uma imagem espelhada de um bitmap se os sinais dos parâmetros nSrcWidth e nWidth ou nSrcHeight e nHeight forem diferentes. Se nSrcWidth e nWidth tiverem sinais diferentes, a função criará uma imagem espelhada do bitmap ao longo do eixo x. Se nSrcHeight e nHeight tiverem sinais diferentes, a função criará uma imagem espelhada do bitmap ao longo do eixo y.
A função StretchBlt alonga ou compacta o bitmap de origem na memória e copia o resultado no destino. Se um padrão deve ser mesclado com o resultado, ele não será mesclado até que o bitmap de origem alongado seja copiado no destino. Se um pincel for usado, é o pincel selecionado no contexto do dispositivo de destino. 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 os bitmaps de destino, origem e padrão não tiverem o mesmo formato de cor, StretchBlt converterá os bitmaps de origem e padrão para correspondência com os bitmaps de destino. As cores do primeiro plano e do plano de fundo do contexto do dispositivo de destino são usadas na conversão.
Se StretchBlt precisar converter um bitmap monocromático em colorido, ele definirá bits brancos (1) para a cor do plano de fundo e bits pretos (0) para a cor do primeiro plano. Para converter o colorido em monocromático, ele define pixels que correspondam à cor do plano de fundo para branco (1) e define todos os outros pixels para preto (0). As cores do primeiro plano e do plano de fundo do contexto do dispositivo com cor são usadas.
Nem todos os dispositivos oferecem suporte à função StretchBlt. Para determinar se um dispositivo oferece suporte a StretchBlt, chame a função membro GetDeviceCaps com o índice RASTERCAPS e verifique o valor de retorno para o sinalizador RC_STRETCHBLT.
Requisitos
Cabeçalho: afxwin.h