⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ddsurface.htm

📁 DirectX 编程初级教程中文版。只要有C++基础和一点三维知识即可。
💻 HTM
📖 第 1 页 / 共 5 页
字号:
    </font><font FACE="宋体" SIZE="3"><p>一个</font><font FACE="Arial" SIZE="3">RECT</font><font
    FACE="宋体" SIZE="3">结构的地址,定义了一个矩形区域的左上和右下点,作为目标页面上将被位块传送的区域。如果该参数是</font><font
    FACE="Arial" SIZE="3">NULL</font><font FACE="宋体" SIZE="3">,整个目标页面将被使用。</p>
    </font><font FACE="Arial" SIZE="3"><p>lpDDSrcSurface</p>
    <p>DirectDrawSurface3</font><font FACE="宋体" SIZE="3">对象的地址,作为位块操作的源页面。</p>
    </font><font FACE="Arial" SIZE="3"><p>lpSrcRect</p>
    </font><font FACE="宋体" SIZE="3"><p>一个</font><font FACE="Arial" SIZE="3">RECT</font><font
    FACE="宋体" SIZE="3">结构的地址,定义了一个矩形区域的左上和右下点,作为源页面上将被位块传送的区域。如果该参数是</font><font
    FACE="Arial" SIZE="3">NULL</font><font FACE="宋体" SIZE="3">,整个源页面将被使用。</p>
    </font><font FACE="Arial" SIZE="3"><p>dwFlags </p>
    <p>DDBLT_ALPHADEST </p>
    </font><font FACE="宋体" SIZE="3"><p>使用</font><font FACE="Arial" SIZE="3">alpha</font><font
    FACE="宋体" SIZE="3">像素格式信息或隶属于目标页面的</font><font
    FACE="Arial" SIZE="3">alpha</font><font FACE="宋体" SIZE="3">通道页面作为该位块传送操作的</font><font
    FACE="Arial" SIZE="3">alpha</font><font FACE="宋体" SIZE="3">通道。</p>
    </font><font FACE="Arial" SIZE="3"><p>DDBLT_ALPHADESTCONSTOVERRIDE </p>
    </font><font FACE="宋体" SIZE="3"><p>使用</font><font FACE="Arial" SIZE="3">DDBLTFX</font><font
    FACE="宋体" SIZE="3">结构的</font><font FACE="Arial" SIZE="3">dwAlphaDestConst</font><font
    FACE="宋体" SIZE="3">成员作为该位块传送操作的目标页面的</font><font
    FACE="Arial" SIZE="3">alpha</font><font FACE="宋体" SIZE="3">通道。</p>
    </font><font FACE="Arial" SIZE="3"><p>DDBLT_ALPHADESTNEG </p>
    </font><font FACE="宋体" SIZE="3"><p>指定目标页面的透明度随着</font><font
    FACE="Arial" SIZE="3">alpha</font><font FACE="宋体" SIZE="3">值的增加而增加(</font><font
    FACE="Arial" SIZE="3">0</font><font FACE="宋体" SIZE="3">为不透明)。</p>
    </font><font FACE="Arial" SIZE="3"><p>DDBLT_ALPHADESTSURFACEOVERRIDE </p>
    </font><font FACE="宋体" SIZE="3"><p>使用</font><font FACE="Arial" SIZE="3">DDBLTFX</font><font
    FACE="宋体" SIZE="3">结构的</font><font FACE="Arial" SIZE="3">lpDDSAlphaDest</font><font
    FACE="宋体" SIZE="3">成员作为该位块传送操作的目标页面的</font><font
    FACE="Arial" SIZE="3">alpha</font><font FACE="宋体" SIZE="3">通道。</p>
    </font><font FACE="Arial" SIZE="3"><p>DDBLT_ALPHAEDGEBLEND </p>
    </font><font FACE="宋体" SIZE="3"><p>使用</font><font FACE="Arial" SIZE="3">DDBLTFX</font><font
    FACE="宋体" SIZE="3">结构的</font><font FACE="Arial" SIZE="3">dwAlphaEdgeBlend</font><font
    FACE="宋体" SIZE="3">成员作为</font><font FACE="Arial" SIZE="3">alpha</font><font
    FACE="宋体" SIZE="3">通道,用于围绕关键色图象的边缘。</p>
    </font><font FACE="Arial" SIZE="3"><p>DDBLT_ALPHASRC </p>
    </font><font FACE="宋体" SIZE="3"><p>使用</font><font FACE="Arial" SIZE="3">alpha</font><font
    FACE="宋体" SIZE="3">像素格式信息或隶属于源页面的</font><font FACE="Arial"
    SIZE="3">alpha</font><font FACE="宋体" SIZE="3">通道页面作为该位块传送操作的</font><font
    FACE="Arial" SIZE="3">alpha</font><font FACE="宋体" SIZE="3">通道。</p>
    </font><font FACE="Arial" SIZE="3"><p>DDBLT_ALPHASRCCONSTOVERRIDE </p>
    </font><font FACE="宋体" SIZE="3"><p>使用</font><font FACE="Arial" SIZE="3">DDBLTFX</font><font
    FACE="宋体" SIZE="3">结构的</font><font FACE="Arial" SIZE="3">dwAlphaSrcConst</font><font
    FACE="宋体" SIZE="3">成员作为该位块操作的源</font><font FACE="Arial" SIZE="3">alpha</font><font
    FACE="宋体" SIZE="3">通道。</p>
    </font><font FACE="Arial" SIZE="3"><p>DDBLT_ALPHASRCNEG </p>
    </font><font FACE="宋体" SIZE="3"><p>指定源页面的透明度随着</font><font
    FACE="Arial" SIZE="3">alpha</font><font FACE="宋体" SIZE="3">值的增加而增加(</font><font
    FACE="Arial" SIZE="3">0</font><font FACE="宋体" SIZE="3">为不透明)。</p>
    </font><font FACE="Arial" SIZE="3"><p>DDBLT_ALPHASRCSURFACEOVERRIDE </p>
    </font><font FACE="宋体" SIZE="3"><p>使用</font><font FACE="Arial" SIZE="3">DDBLTFX</font><font
    FACE="宋体" SIZE="3">结构的</font><font FACE="Arial" SIZE="3">lpDDSAlphaSrchengyuan</font><font
    FACE="宋体" SIZE="3">成员作为该位块传送操作的源</font><font FACE="Arial"
    SIZE="3">alpha</font><font FACE="宋体" SIZE="3">通道。</p>
    </font><font FACE="Arial" SIZE="3"><p>DDBLT_ASYNC </p>
    </font><font FACE="宋体" SIZE="3"><p>以异步的方式执行该位块传送操作,按照接收命令的先进先出的原则。如果没有可用的空间用于先进先出操作,该调用失败。</p>
    </font><font FACE="Arial" SIZE="3"><p>DDBLT_COLORFILL </p>
    </font><font FACE="宋体" SIZE="3"><p>使用</font><font FACE="Arial" SIZE="3">DDBLTFX</font><font
    FACE="宋体" SIZE="3">结构的</font><font FACE="Arial" SIZE="3">dwFillColor</font><font
    FACE="宋体" SIZE="3">成员作为填充目标页面上的目标矩形区域的颜色。</p>
    </font><font FACE="Arial" SIZE="3"><p>DDBLT_DDFX </p>
    </font><font FACE="宋体" SIZE="3"><p>使用</font><font FACE="Arial" SIZE="3">DDBLTFX</font><font
    FACE="宋体" SIZE="3">结构的</font><font FACE="Arial" SIZE="3">dwDDFX</font><font
    FACE="宋体" SIZE="3">成员来指定该位块传送操作的所使用的效果。</p>
    </font><font FACE="Arial" SIZE="3"><p>DDBLT_DDROPS </p>
    </font><font FACE="宋体" SIZE="3"><p>使用</font><font FACE="Arial" SIZE="3">DDBLTFX</font><font
    FACE="宋体" SIZE="3">结构的</font><font FACE="Arial" SIZE="3">dwDDROPS</font><font
    FACE="宋体" SIZE="3">成员来指定光栅操作模式(</font><font FACE="Arial"
    SIZE="3">ROPS</font><font FACE="宋体" SIZE="3">),这些</font><font FACE="Arial"
    SIZE="3">ROP</font><font FACE="宋体" SIZE="3">不属于</font><font FACE="Arial"
    SIZE="3">Win32 API</font><font FACE="宋体" SIZE="3">。</p>
    </font><font FACE="Arial" SIZE="3"><p>DDBLT_DEPTHFILL </p>
    </font><font FACE="宋体" SIZE="3"><p>使用</font><font FACE="Arial" SIZE="3">DDBLTFX</font><font
    FACE="宋体" SIZE="3">结构的</font><font FACE="Arial" SIZE="3">dwFillDepth</font><font
    FACE="宋体" SIZE="3">成员作为填充目标</font><font FACE="Arial" SIZE="3">z-</font><font
    FACE="宋体" SIZE="3">缓冲区页面上的目标矩形区域的深度值。</p>
    </font><font FACE="Arial" SIZE="3"><p>DDBLT_KEYDEST </p>
    </font><font FACE="宋体" SIZE="3"><p>使用目标页面的关键色。</p>
    </font><font FACE="Arial" SIZE="3"><p>DDBLT_KEYDESTOVERRIDE </p>
    </font><font FACE="宋体" SIZE="3"><p>使用</font><font FACE="Arial" SIZE="3">DDBLTFX</font><font
    FACE="宋体" SIZE="3">结构的</font><font FACE="Arial" SIZE="3">dckDestColorkey</font><font
    FACE="宋体" SIZE="3">成员作为目标页面的关键色。</p>
    </font><font FACE="Arial" SIZE="3"><p>DDBLT_KEYSRC </p>
    </font><font FACE="宋体" SIZE="3"><p>使用源页面的关键色。</p>
    </font><font FACE="Arial" SIZE="3"><p>DDBLT_KEYSRCOVERRIDE </p>
    </font><font FACE="宋体" SIZE="3"><p>使用</font><font FACE="Arial" SIZE="3">DDBLTFX</font><font
    FACE="宋体" SIZE="3">结构的</font><font FACE="Arial" SIZE="3">dckSrcColorkey</font><font
    FACE="宋体" SIZE="3">成员作为源页面的关键色。</p>
    </font><font FACE="Arial" SIZE="3"><p>DDBLT_ROP </p>
    </font><font FACE="宋体" SIZE="3"><p>使用</font><font FACE="Arial" SIZE="3">DDBLTFX</font><font
    FACE="宋体" SIZE="3">结构的</font><font FACE="Arial" SIZE="3">dwROP</font><font
    FACE="宋体" SIZE="3">成员作为该位块传送操作的</font><font FACE="Arial"
    SIZE="3">ROP</font><font FACE="宋体" SIZE="3">模式。这些</font><font FACE="Arial"
    SIZE="3">ROP</font><font FACE="宋体" SIZE="3">与</font><font FACE="Arial" SIZE="3">Win32 
    API</font><font FACE="宋体" SIZE="3">中的定义是一样的。</p>
    </font><font FACE="Arial" SIZE="3"><p>DDBLT_ROTATIONANGLE </p>
    </font><font FACE="宋体" SIZE="3"><p>使用</font><font FACE="Arial" SIZE="3">DDBLTFX</font><font
    FACE="宋体" SIZE="3">结构的</font><font FACE="Arial" SIZE="3">dwRotationAngle</font><font
    FACE="宋体" SIZE="3">成员作为页面的旋转角度。</p>
    </font><font FACE="Arial" SIZE="3"><p>DDBLT_WAIT </p>
    </font><font FACE="宋体" SIZE="3"><p>如果位块传送器正忙,延迟</font><font
    FACE="Arial" SIZE="3">DDERR_WASSTILLDRAWING</font><font FACE="宋体" SIZE="3">消息的发送,直到位块传送器准备好或发生其它错误时返回。</p>
    </font><font FACE="Arial" SIZE="3"><p>DDBLT_ZBUFFER </p>
    </font><font FACE="宋体" SIZE="3"><p>进行带</font><font FACE="Arial" SIZE="3">z-</font><font
    FACE="宋体" SIZE="3">缓冲区的位块传送操作,使用的是隶属于源和目标页面的</font><font
    FACE="Arial" SIZE="3">z-</font><font FACE="宋体" SIZE="3">缓冲区,并且将</font><font
    FACE="Arial" SIZE="3">DDBLTFX</font><font FACE="宋体" SIZE="3">结构的</font><font
    FACE="Arial" SIZE="3">dwZBufferOpCode</font><font FACE="宋体" SIZE="3">成员作为</font><font
    FACE="Arial" SIZE="3">z-</font><font FACE="宋体" SIZE="3">缓冲区操作符。</p>
    </font><font FACE="Arial" SIZE="3"><p>DDBLT_ZBUFFERDESTCONSTOVERRIDE </p>
    </font><font FACE="宋体" SIZE="3"><p>进行带</font><font FACE="Arial" SIZE="3">z-</font><font
    FACE="宋体" SIZE="3">缓冲区的位块传送操作,使用</font><font FACE="Arial"
    SIZE="3">DDBLTFX</font><font FACE="宋体" SIZE="3">结构的</font><font FACE="Arial"
    SIZE="3">dwZDestConst</font><font FACE="宋体" SIZE="3">和</font><font FACE="Arial"
    SIZE="3">dwZBufferOpCode</font><font FACE="宋体" SIZE="3">成员分别作为目标</font><font
    FACE="Arial" SIZE="3">z-</font><font FACE="宋体" SIZE="3">缓冲区和</font><font
    FACE="Arial" SIZE="3">z-</font><font FACE="宋体" SIZE="3">缓冲区操作符。</p>
    </font><font FACE="Arial" SIZE="3"><p>DDBLT_ZBUFFERDESTOVERRIDE </p>
    </font><font FACE="宋体" SIZE="3"><p>进行带</font><font FACE="Arial" SIZE="3">z-</font><font
    FACE="宋体" SIZE="3">缓冲区的位块传送操作,使用</font><font FACE="Arial"
    SIZE="3">DDBLTFX</font><font FACE="宋体" SIZE="3">结构的</font><font FACE="Arial"
    SIZE="3">lpDDSZBufferDest</font><font FACE="宋体" SIZE="3">和</font><font FACE="Arial"
    SIZE="3">dwZBufferOpCode</font><font FACE="宋体" SIZE="3">成员分别作为目标</font><font
    FACE="Arial" SIZE="3">z-</font><font FACE="宋体" SIZE="3">缓冲区和</font><font
    FACE="Arial" SIZE="3">z-</font><font FACE="宋体" SIZE="3">缓冲区操作符。</p>
    </font><font FACE="Arial" SIZE="3"><p>DDBLT_ZBUFFERSRCCONSTOVERRIDE </p>
    </font><font FACE="宋体" SIZE="3"><p>进行带</font><font FACE="Arial" SIZE="3">z-</font><font
    FACE="宋体" SIZE="3">缓冲区的位块传送操作,使用</font><font FACE="Arial"
    SIZE="3">DDBLTFX</font><font FACE="宋体" SIZE="3">结构的</font><font FACE="Arial"
    SIZE="3">dwZSrcConst</font><font FACE="宋体" SIZE="3">和</font><font FACE="Arial"
    SIZE="3">dwZBufferOpCode</font><font FACE="宋体" SIZE="3">成员分别作为源</font><font
    FACE="Arial" SIZE="3">z-</font><font FACE="宋体" SIZE="3">缓冲区和</font><font
    FACE="Arial" SIZE="3">z-</font><font FACE="宋体" SIZE="3">缓冲区操作符。</p>
    </font><font FACE="Arial" SIZE="3"><p>DDBLT_ZBUFFERSRCOVERRIDE </p>
    </font><font FACE="宋体" SIZE="3"><p>进行带</font><font FACE="Arial" SIZE="3">z-</font><font
    FACE="宋体" SIZE="3">缓冲区的位块传送操作,使用</font><font FACE="Arial"
    SIZE="3">DDBLTFX</font><font FACE="宋体" SIZE="3">结构的</font><font FACE="Arial"
    SIZE="3">lpDDSZBufferSrc</font><font FACE="宋体" SIZE="3">和</font><font FACE="Arial"
    SIZE="3">dwZBufferOpCode</font><font FACE="宋体" SIZE="3">成员分别作为源</font><font
    FACE="Arial" SIZE="3">z-</font><font FACE="宋体" SIZE="3">缓冲区和</font><font
    FACE="Arial" SIZE="3">z-</font><font FACE="宋体" SIZE="3">缓冲区操作符。</p>
    </font><font FACE="Arial" SIZE="3"><p>lpDDBltFx</p>
    <p>DDBLTFX</font><font FACE="宋体" SIZE="3">结构的地址,包含了光栅操作代码及特效。</p>
    <b><p>返回值:</p>
    </b><p>如果函数调用成功,返回</font><font FACE="Arial" SIZE="3">DD_OK</font><font
    FACE="宋体" SIZE="3">。</p>
    <p>如果函数调用失败,返回值可能是下列错误值之一:</p>
    </font><font FACE="Arial" SIZE="3"><p>DDERR_GENERIC</p>
    <p>DDERR_INVALIDCLIPLIST</p>
    <p>DDERR_INVALIDOBJECT</p>
    <p>DDERR_INVALIDPARAMS</p>
    <p>DDERR_INVALIDRECT</p>
    <p>DDERR_NOALPHAHW</p>
    <p>DDERR_NOBLTHW</p>
    <p>DDERR_NOCLIPLIST </p>
    <p>DDERR_NODDROPSHW </p>
    <p>DDERR_NOMIRRORHW </p>
    <p>DDERR_NORASTEROPHW </p>
    <p>DDERR_NOROTATIONHW </p>
    <p>DDERR_NOSTRETCHHW </p>
    <p>DDERR_NOZBUFFERHW </p>
    <p>DDERR_SURFACEBUSY </p>
    <p>DDERR_SURFACELOST </p>
    <p>DDERR_UNSUPPORTED </p>
    <p>DDERR_WASSTILLDRAWING</p>
    </font><font FACE="宋体" SIZE="3"><b><p>备注:</p>
    </b><p>该函数可以是同步执行也可以是异步执行(缺省)的,既可以是从显存到显存、显存到系统主存,也可以是系统主存到显存,或系统主存到系统主存。位块传送操作既可以使用源关键色也可以使用目标关键色。如果源矩形和目标矩形不是相同的大小,该操作还可以缩放图象到合适的大小。</p>
    <p>典型的,如果位块传送器正忙并且没有准备好,</font><font
    FACE="Arial" SIZE="3">IDirectDrawSurface3::Blt</font><font FACE="宋体" SIZE="3">将立即返回一个错误。调用函数时指定</font><font
    FACE="Arial" SIZE="3">DDBLT_WAIT</font><font FACE="宋体" SIZE="3">标志可以完成一次同步的位块传送,该函数将一直等待直到位块传送器准备好或出现另一个错误时才返回。</p>
    <p>注意:</font><font FACE="Arial" SIZE="3">RECT</font><font FACE="宋体" SIZE="3">结构的</font><font
    FACE="Arial" SIZE="3">right</font><font FACE="宋体" SIZE="3">和</font><font
    FACE="Arial" SIZE="3">bottom</font><font FACE="宋体" SIZE="3">成员是排除边线的,因此,</font><font
    FACE="Arial" SIZE="3">right-left</font><font FACE="宋体" SIZE="3">值恰等于矩形区域的宽度值,而不是宽度值</font><font
    FACE="Arial" SIZE="3">-1</font><font FACE="宋体" SIZE="3">。</p>
    <b><p>快速信息:</p>
    </b></font><font FACE="Arial" SIZE="3"><p>Windows NT</font><font FACE="宋体" SIZE="3">:适用于</font><font
    FACE="Arial" SIZE="3">4.0</font><font FACE="宋体" SIZE="3">或更新版</p>
    </font><font FACE="Arial" SIZE="3"><p>Windows</font><font FACE="宋体" SIZE="3">:适用于</font><font
    FACE="Arial" SIZE="3">Windows 95</font><font FACE="宋体" SIZE="3">或更新版</p>
    </font><font FACE="Arial" SIZE="3"><p>Windows CE</font><font FACE="宋体" SIZE="3">:不支持</p>
    <p>头文件:</font><font FACE="Arial" SIZE="3">ddraw.h</p>
    </font><font FACE="宋体" SIZE="3"><p>库文件:</font><font FACE="Arial" SIZE="3">ddraw.lib</p>
    </font><hr>
    <b><font FACE="Arial" SIZE="3" COLOR="#0000ff">
    <li><a name="IDirectDrawSurface3::BltBatch">IDirectDrawSurface3::BltBatch </a><blockquote>
        <p align="right"></font><font SIZE="3" COLOR="#0000ff"><a href="#目录">返回目录</a></font><font
        FACE="Arial" SIZE="3" COLOR="#0000ff"></p>
      </blockquote>
    </li>
    </font></b><font FACE="宋体" SIZE="3"><p>该函数完成一系列的</font><font
    FACE="Arial" SIZE="3">IDirectDrawSurface3::Blt</font><font FACE="宋体" SIZE="3">操作,从多个源页面到一个目标页面。这个函数目前尚未完成,还不能使用。</p>
    </font><font FACE="Arial" SIZE="3"><p>HRESULT BltBatch(</p>
    <p>LPDDBLTBATCH lpDDBltBatch, </p>
    <p>DWORD dwCount, </p>
    <p>DWORD dwFlags </p>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -