Share via


Função StretchDIB (vfw.h)

A função StretchDIB copia um bitmap independente do dispositivo de um local de memória para outro e redimensiona a imagem para se ajustar ao retângulo de destino.

Sintaxe

void StretchDIB(
  LPBITMAPINFOHEADER biDst,
  LPVOID             lpDst,
  int                DstX,
  int                DstY,
  int                DstXE,
  int                DstYE,
  LPBITMAPINFOHEADER biSrc,
  LPVOID             lpSrc,
  int                SrcX,
  int                SrcY,
  int                SrcXE,
  int                SrcYE
);

Parâmetros

biDst

Ponteiro para uma estrutura BITMAPINFOHEADER que descreve o bitmap de destino.

lpDst

Ponteiro para o buffer de memória que receberá os bits de pixel copiados.

DstX

Coordenada X da origem do retângulo de destino.

DstY

Coordenada Y da origem do retângulo de destino.

DstXE

Largura, em pixels, do retângulo de destino.

DstYE

Altura, em pixels, do retângulo de destino.

biSrc

Ponteiro para uma estrutura BITMAPINFOHEADER que descreve o bitmap de origem.

lpSrc

Ponteiro para os dados de bitmap de origem.

SrcX

Coordenada X da origem do retângulo de origem.

SrcY

Coordenada Y da origem do retângulo de origem.

SrcXE

Largura, em pixels, do retângulo de origem.

SrcYE

Altura, em pixels, do retângulo de origem.

Valor retornado

Nenhum

Comentários

O tamanho do buffer de destino deve ser grande o suficiente para acomodar qualquer bytes de alinhamento no final de cada linha de pixel.

Essa função não fará nada se biSrc e biDst tiverem valores diferentes para biBitCount ou se o valor de biSrc. biBitCount não é igual a 8, 16 ou 24.

Essa função não executa nenhum dithering ou outra suavização. Os valores de pixel são simplesmente descartados ou duplicados em uma base linha por linha, coluna por coluna.

Essa função não faz nenhum processamento especial com base na codificação de pixels, exceto para calcular o número de bits por pixel. Em particular, essa função não gerará resultados corretos quando os pixels forem codificados em grupos de mais de 1 pixel, como no caso de um formato YUV em que você e V são dizimados e, portanto, não são representados igualmente em cada pixel.

Antes de incluir vfw.h, você deve adicionar a seguinte linha ao seu código:


#define DRAWDIB_INCLUDE_STRETCHDIB

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 vfw.h
Biblioteca Vfw32.lib
DLL Msvfw32.dll