Поделиться через


Функция StretchDIB (vfw.h)

Функция StretchDIB копирует независимое от устройства растровое изображение из одного расположения памяти в другое и изменяет размер изображения в соответствии с целевым прямоугольником.

Синтаксис

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
);

Параметры

biDst

Указатель на структуру BITMAPINFOHEADER , описывающую растровое изображение назначения.

lpDst

Указатель на буфер памяти, который будет принимать скопированные биты пикселей.

DstX

Координата X источника прямоугольника назначения.

DstY

Координата Y источника прямоугольника назначения.

DstXE

Ширина целевого прямоугольника (в пикселях).

DstYE

Высота прямоугольника назначения (в пикселях).

biSrc

Указатель на структуру BITMAPINFOHEADER , описывающую исходное растровое изображение.

lpSrc

Указатель на исходные данные растрового изображения.

SrcX

Координата X исходного прямоугольника.

SrcY

Координата Y исходного прямоугольника.

SrcXE

Ширина исходного прямоугольника (в пикселях).

SrcYE

Высота исходного прямоугольника в пикселях.

Возвращаемое значение

None

Remarks

Размер буфера назначения должен быть достаточно большим, чтобы вместить все байты выравнивания в конце каждой строки пикселей.

Эта функция ничего не делает, если biSrc и biDst имеют разные значения для biBitCount или если значение для biSrc. значение biBitCount не равно 8, 16 или 24.

Эта функция не выполняет сглаживания или сглаживания. Значения пикселей просто удаляются или дублируются построчно, построчно, по столбцам.

Эта функция не выполняет специальную обработку на основе кодировки пикселей, за исключением вычисления количества битов на пиксель. В частности, эта функция не будет генерировать правильные результаты, если пиксели кодируются в группах более 1 пикселя, как в случае с форматом YUV, где вы и V уничтожены и поэтому не представлены одинаково в каждом пикселе.

Перед включением Vfw.h необходимо добавить в код следующую строку:


#define DRAWDIB_INCLUDE_STRETCHDIB

Требования

   
Минимальная версия клиента Windows 2000 Professional [только классические приложения]
Минимальная версия сервера Windows 2000 Server [только классические приложения]
Целевая платформа Windows
Header vfw.h
Библиотека Vfw32.lib
DLL Msvfw32.dll