Растровые изображения, пиктограммы и метафайлы, страница 17

StretchDIBits                             • Windows 98   • Windows 2000

Описание

Функция StretchDIBits позволяет копировать данные цвета из прямоугольника с пикселями в аппаратно-независимом растровом изображении (DIB) в указанный прямоугольник назначения. Эта функция аналогична функции SetDIBitsToDevice. В процессе вывода в контекст устройства растре вое изображение может растягиваться и/или сжиматься. В этой функции предусматривается возможность представления выводимой информации виде полос (вывода растрового изображения в виде отдельных участков д экономии памяти), поэтому в одном вызове функции StretchDIBits долж! быть выведено все растровое изображение. Изображение можно поверну вдоль горизонтальной или вертикальной оси, используя разные знаки (га ложительный и отрицательный) для параметров с обозначением шири* или высоты источника и назначения.Как и функция SetDIBitsToDevice, функция StretchDIBits не сохранж данные цвета в заголовке DIB, а отображает цвета DIB в существуюшу палитру цветов. Для сохранения информации о цвете данные цвета D1 необходимо применять для создания логической палитры.

Синтаксис

hit StretchDIBits( HDC hDC, int XDest, int YDest, int nDestWdth, int nDestHeight, int nXSrc, int nYSrc, int nSrc Width, int nSrcHeight, CONST VOID* IpBits, CONST BITMAPINFO* IpBitsInfo, UINT uColorUse, DWORD dwSop )

Параметры hDC

HDC. Контекст устройства назначения.

XDest

int. Координата х левого верхнего угла прямоугольной области назначения в логических единицах длины.

YDest

int. Координата у левого верхнего угла прямоугольной области назначения (в логических единицах длины).

nDestWidth

int. Ширина прямоугольной области назначения (в логических единицах длины).

nDestHeight

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

nXSrc

int. Координата х прямоугольной области источника в изображении DIB (в пикселях).

nYSrc

int. Координата у прямоугольной области источника в изображении DIB (в пикселях).

nSrcWidth

int. Ширина прямоугольной области источника в изображении DIB (в пикселях).

nSrcHeight

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

IpBits

CONST VOID*. Указатель на двоичные данные изображения DIB, которые хранятся как массив байтов.

IpBitsInfo

CONST BITMAPINFO*. Указатель на структуру BITMAPINFO, которая содержит информацию об изображении DIB. Определение структуры BITMAPINFO приведено в описании функции CreateDIBitmap.

nColorUse

UINT. Указывает, содержит ли член bmiColors структуры BITMAPINFO явные значения красного, зеленого и синего (RGB) или индексы палитры. Параметр uColorUse должен иметь одно из значений, перечисленных в табл. 13.22.

Таблица 13.22. Значения параметра uColorUse функции StretchDIBits

Значение

Описание

DIB_PAL_COLORS

Таблица цветов состоит из массива 16-разрядных индексов в логической палитре контекста устройства, указанного параметром hDC.

DIB_RGB_COLORS

Таблица цветов содержит литеральные значения RGB.

dwRop

DWORD. Растровая операция, которая должна быть выполнена. Коды растровых операций перечислены в табл. 13.2.

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

int. Число скопированных строк развертки. В случае возникновения ошибки возвращаемое значение — GDI_ERROR

Включаемый файл

wingdi.h

См. также

CreateDIBitmap, GetDIBits, SetDIBitsToDevice

Пример

См. пример для функции SetDIBitsToDevice.