Шаг 33 - Совмещение поверхностей – Blt

Функция Blt позволит наложить нам одну поверхность на другую. Внеэкранную поверхность мы уже создали, и теперь нам нужно будет ее поместить на вторичную поверхность. Стоит отдельно сказать, как работает это метод. Он может взять часть поверхности источника, и наложить на какой то прямоугольник поверхности адресата. Есть, если прямоугольник адреса будет больше или меньше то изображение изменится. Смотрим описание функции.

Visual Basic
Visual C++

Visual Basic

Описание

object.Blt(destRect As RECT, ddS As DirectDrawSurface7,  srcRect As RECT,  flags As CONST_DDBLTFLAGS) As Long

Параметры
Object
Объектная переменная к DirectDrawSurface7
destRect
Определяет прямоугольник на поверхности адресата.
ddS
Поверхность DirectDrawSurface7 источник изображения.
srcRect
Определяет прямоугольник на поверхности источника.
flags
Флаги для метода.

Ошибки
Если вызов не успешен, то будет возвращено одно из следующих значений.

DDERR_GENERIC  
DDERR_INVALIDCLIPLIST  
DDERR_INVALIDOBJECT  
DDERR_INVALIDPARAMS  
DDERR_INVALIDRECT  
DDERR_NOALPHAHW  
DDERR_NOBLTHW  
DDERR_NOCLIPLIST  
DDERR_NODDROPSHW  
DDERR_NOMIRRORHW  
DDERR_NORASTEROPHW  
DDERR_NOROTATIONHW  
DDERR_NOSTRETCHHW  
DDERR_NOZBUFFERHW  
DDERR_SURFACEBUSY  
DDERR_SURFACELOST  
DDERR_UNSUPPORTED  
DDERR_WASSTILLDRAWING 

Visual C++

Описание

HRESULT Blt
(
	LPRECT lpDestRect,
	LPDIRECTDRAWSURFACE7 lpDDSrcSurface,  
	LPRECT lpSrcRect,                     
	DWORD dwFlags,                        
	LPDDBLTFX lpDDBltFx                   
);

Параметры
lpDestRect
пределяет прямоугольник на поверхности адресата.
lpDDSrcSurface
Поверхность DirectDrawSurface7 источник изображения.
lpSrcRect
Определяет прямоугольник на поверхности источника.
dwFlags
Флаги для метода в структуре DDBLTFX.

Возвращаемое значение Если метод успешен, возвращаемое значение - DD_OK.
Если метод терпит неудачу, возвращается одна из следующих значений ошибки:

DDERR_GENERIC  
DDERR_INVALIDCLIPLIST  
DDERR_INVALIDOBJECT  
DDERR_INVALIDPARAMS  
DDERR_INVALIDRECT  
DDERR_NOALPHAHW  
DDERR_NOBLTHW  
DDERR_NOCLIPLIST  
DDERR_NODDROPSHW  
DDERR_NOMIRRORHW  
DDERR_NORASTEROPHW  
DDERR_NOROTATIONHW  
DDERR_NOSTRETCHHW  
DDERR_NOZBUFFERHW  
DDERR_SURFACEBUSY  
DDERR_SURFACELOST  
DDERR_UNSUPPORTED  
DDERR_WASSTILLDRAWING 

Предыдущий Шаг | Следующий Шаг | Оглавление
Автор Каев Артем - 05.05.2002