IDirectDrawSurface7::BltFast 方法 (ddraw.h)
使用源颜色键或目标颜色键执行源复制 bitblt 或透明 bitblt。
语法
HRESULT BltFast(
[in] DWORD unnamedParam1,
[in] DWORD unnamedParam2,
[in] LPDIRECTDRAWSURFACE7 unnamedParam3,
[in] LPRECT unnamedParam4,
[in] DWORD unnamedParam5
);
参数
[in] unnamedParam1
目标图面上要位到的 x 坐标。
[in] unnamedParam2
目标图面上要位到的 y 坐标。
[in] unnamedParam3
指向作为 bitblt 源的 DirectDrawSurface 对象的 IDirectDrawSurface7 接口的指针。
[in] unnamedParam4
指向 RECT 结构的指针,该结构定义矩形的左上点和右下点,以便从源图面上进行位。
[in] unnamedParam5
传输类型。 定义了以下传输:
DDBLTFAST_DESTCOLORKEY
使用目标颜色键的透明 bitblt。
DDBLTFAST_NOCOLORKEY
没有透明度的普通复制 bitblt。
DDBLTFAST_SRCCOLORKEY
使用源颜色键的透明 bitblt。
DDBLTFAST_WAIT
如果 bitbltter 正忙,则推迟DDERR_WASSTILLDRAWING消息,并在可以设置 bitblt 或发生其他错误时立即返回。
返回值
如果方法成功,则返回值DD_OK。
如果失败,方法可能会返回以下错误值之一:
- DDERR_EXCEPTION
- DDERR_GENERIC
- DDERR_INVALIDOBJECT
- DDERR_INVALIDPARAMS
- DDERR_INVALIDRECT
- DDERR_NOBLTHW
- DDERR_SURFACEBUSY
- DDERR_SURFACELOST
- DDERR_UNSUPPORTED
- DDERR_WASSTILLDRAWING
备注
如果硬件支持,BltFast 始终尝试异步 blit。
BltFast 仅在显示内存图面上工作,在执行 bitblt 操作时不能剪辑。 如果在带有附加剪辑器的图面上使用此方法,则调用会失败,并且该方法将返回DDERR_UNSUPPORTED。
IDirectDrawSurface7::BltFast 的软件实现速度比 IDirectDrawSurface7::Blt 方法快 10%。 但是,如果使用显示硬件,则两者之间没有速度差异。
通常,如果 bitbltter 正忙且无法设置 bitblt, IDirectDrawSurface7::BltFast 会立即返回并显示错误。 但是,如果希望此方法在可以设置 bitblt 或发生其他错误之前不返回,则可以使用 DDBLTFAST_WAIT 标志。
要求
目标平台 | Windows |
标头 | ddraw.h |
Library | Ddraw.lib |
DLL | Ddraw.dll |