Compartilhar via


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

Consulte também

Referência

CDC Class

Gráfico da hierarquia

CDC::BitBlt

CDC::GetDeviceCaps

CDC::SetStretchBltMode

StretchBlt