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

请参阅

IDirectDrawSurface7