Функция Blt позволит наложить нам одну поверхность на другую. Внеэкранную поверхность мы уже создали, и теперь нам нужно будет ее поместить на вторичную поверхность. Стоит отдельно сказать, как работает это метод. Он может взять часть поверхности источника, и наложить на какой то прямоугольник поверхности адресата. Есть, если прямоугольник адреса будет больше или меньше то изображение изменится. Смотрим описание функции.
Visual Basic Описание
Параметры Ошибки Описание
Параметры Возвращаемое значение
Если метод успешен, возвращаемое значение - DD_OK.
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.
Если метод терпит неудачу, возвращается одна из следующих значений ошибки:
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