zoukankan      html  css  js  c++  java
  • 调用DirectDraw接口和调DirectDraw7接口的不同点对比

    调用DirectDraw接口步骤:


    1.       包含链接库ddraw.lib


    2.       初始化窗口类型(全屏独占时类型用popup)。


    3.       在初始化窗口后初始化DirectDraw(使用函数DirectDrawCreate)


    4.       创建DirectDraw实例指针lpDD。


    5.       lpDD->SetCooperativeLevel设置显示全屏独占还是窗体。


    6.        lpDD->SetDisplayMode(640,480,8)设置显示模式。


    7.       DDSURFACEDESC ddsd的信息配置。


    8.       lpDD->CreateSurface创建主页面。


    9.       lpDDSPrimary->GetAttachedSurface ( &ddscaps, &lpDDSBack
    )提取后台缓冲页面。


    10.    利用DirectDraw的函数对一些bmp处理,或者获取hdc对页面操作lpDDSBack->GetDC(&hdc)。


    11.    lpDDSPrimary->Flip(NULL,0) 一经Flip,两个表面的指针互换。lpDDSPrimary指向后台表面,
    而lpDDSBack指向了原来的前台主表面.(窗口模式不能进行换页,要使用位块传送来将内容传送到主页面)。


    12.    释放所用资源。



    调用DirectDraw7接口步骤:


    1.       包含链接库ddraw.lib、dxguid.lib


    2.       初始化窗口类型(全屏独占时类型用popup)。


    3.       在初始化窗口后初始化DirectDraw7(使用函数DirectDrawCreateEx或者通过已创建的DirectDraw接口通过QueryInterface方法来获得)


    4.       创建DirectDraw7实例指针lpDD。


    5.       lpDD->SetCooperativeLevel设置显示全屏独占还是窗体。


    6.       lpDD->SetDisplayMode(640,480,8,0,0)设置显示模式(这里比DirectDraw接口多了两个参数)最后两个参数描述分别是:


    dwRefreshRate


    Refresh rate of the new mode. Set this value to 0 to request the default
    refresh rate for the driver.
    大意是:用于设置显示时的刷新频率,(就是65MHZ、75MHZ、85MHZ),如果设为0使用当前默认设置。


    dwFlags


    Flags describing additional options. Currently, the only valid flag is
    DDSDM_STANDARDVGAMODE, which causes the method to set Mode 13 instead of Mode X
    320x200x8 mode. If you are setting another resolution, bit depth, or a Mode X
    mode, do not use this flag and set the parameter to 0



    7.         DDSURFACEDESC2
    ddsd的信息配置(声明完页面描述后,应该立即用ZeroMemory函数使对象的值为0,否则不能成功创建页面)


    8.       lpDD->CreateSurface创建主页面。


    9.       lpDDSPrimary->GetAttachedSurface ( &ddscaps, &lpDDSBack
    )提取后台缓冲页面。


    10.    利用DirectDraw的函数对一些bmp处理,或者获取hdc对页面操作lpDDSBack->GetDC(&hdc)。


    11.    lpDDSPrimary->Flip(NULL,0) 一经Flip,两个表面的指针互换。lpDDSPrimary指向后台表面,
    而lpDDSBack指向了原来的前台主表面.(窗口模式不能进行换页,要使用位块传送来将内容传送到主页面)。

        12. 释放所用资源。
  • 相关阅读:
    关于图片色彩位深度与颜色模式(待完善)
    Android 跨进程数据共享
    Android实现模拟表单上传
    Android数据库无缝升级方案
    Dagger2在Android开发中的应用
    Dagger2学习笔记
    Android开发随手记
    Android Shape Divider
    带你玩转java多线程系列 “道篇” 多线程的优势及利用util.concurrent包测试单核多核下多线程的效率
    带你玩转java多线程系列 二 Thread 和 Runnable
  • 原文地址:https://www.cnblogs.com/lidabo/p/3143550.html
Copyright © 2011-2022 走看看