调用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. 释放所用资源。

调用DirectDraw接口和调DirectDraw7接口的不同点对比的更多相关文章

  1. php--php调java接口验签

    <?php namespace Fmall_cloud\Model; use Think\Model; class DealJavaModel extends Model { /** * @ti ...

  2. [Java] 绕过证书验证调 HTTPS 接口时报 “SSLHandshakeException: DHPublicKey does not comply to algorithm constraints”的解决办法

    作者: zyl910 一.缘由 最近有在对接一个无证书的HTTPS接口时,总是收到"SSLHandshakeException: DHPublicKey does not comply to ...

  3. 关于调用三方平台接口与推送接口的总结<二>(2020.7.27)

    前言:本篇博客是接着上篇总结写的,想了解怎么对接第三方平台接口的同学可以看我上一篇博客,地址是  https://www.cnblogs.com/alanturingson/p/13377500.ht ...

  4. 短信接口调用以及ajax发送短信接口实现以及前端样式

    我们短信api用的是云信使平台提供的非免费短信服务:官网提供的demo有两种,分别是function加其调用.class文件加其调用. 在这里我们用class文件加调用: 首先,ThinkPHP里面自 ...

  5. C#中通过类来继承两个接口,父类实例化接口中的方法,子类继承父类,调用方法

    实现了父类继承接口,父类实例化接口的方法,子类继承父类,子类调用父类的方法直接使用 代码如下: using System; using System.Collections.Generic; usin ...

  6. 通过Javascript调用微软认知服务情感检测接口的两种实现方式

    这是今天在黑客松现场写的代码.我们的项目需要调用认知服务的情感识别接口.官方提供了一种方式,就是从一个远程图片进行识别.我另外写了一个从本地文件读取并上传进行识别的例子. 官方文档,请参考 https ...

  7. SpringCloud使用Feign调用其他客户端带参数的接口,传入参数为null或报错status 405 reading IndexService#del(Integer);

    SpringCloud使用Feign调用其他客户端带参数的接口,传入参数为null或报错status 405 reading IndexService#del(Integer); 第一种方法: 如果你 ...

  8. Socket调用Close后如何终止套接口的问题

    setsockopt 设置 SO_LINGER 选项 此选项指定函数close对面向连接的协议如何操作(如TCP).内核缺省close操作是立即返回,如果有数据残留在套接口缓冲区中则系统将试着将这些数 ...

  9. python调用腾讯云短信接口

    目录 python调用腾讯云短信接口 账号注册 python中封装腾讯云短信接口 python调用腾讯云短信接口 账号注册 去腾讯云官网注册一个腾讯云账号,通过实名认证 然后开通短信服务,创建短信应用 ...

随机推荐

  1. sql查询结果本身要被使用两次

    一.问题 查询用户所有的错题数目到前端展示,要求展示的时候要有错题的编号,从1开始递增.如果删除了第5题,则将后面的题编号均向前挪. 二.分析 错题是在用户每次做题过程中插入到错题表中的,或者将题目推 ...

  2. 同一机器 部署 两个 jboss

    当jboss和oracle在同一机器上时,通常oracle占用8080端口,这时只需要去修改\deploy\jbossweb-tomcat50.sar\server.xml中.当在同一台机器上运行两个 ...

  3. Unity3D Log 收集机制

    最近做项目的时候发现,需要有一个完整的log机制.这样不仅方便调试而且方便观察. 一.需求 目前我认为一个完善的log机制应该是这样的. 一.双击定位 二.生命周期是全局的 三.输出包括consloe ...

  4. SSH Tunneling Explained

    转载: http://chamibuddhika.wordpress.com/2012/03/21/ssh-tunnelling-explained/ March 21, 2012 by Buddhi ...

  5. Palindrome Partitioning II

    Given a string s, partition s such that every substring of the partition is a palindrome. Return the ...

  6. What is the difference between supervised learning and unsupervised learning?

    Machine Learning is a class of algorithms which is data-driven, i.e. unlike "normal" algor ...

  7. 【hadoop2.6.0】MapReduce原理

    看了几篇博文,感觉还是云里雾里的. http://blog.csdn.net/opennaive/article/details/7514146 http://www.aboutyun.com/thr ...

  8. 枚举|标志枚举+|(或)和&(与)运算|类型转换|值类型和引用类型|传参|异常|垃圾回收

    枚举部分 enum 关键字用于声明枚举,即一种由一组称为枚举数列表的命名常量组成的独特类型. 通常情况下,最好是在命名空间内直接定义枚举,以便该命名空间中的所有类都能够同样方便地访问它. 但是,还可以 ...

  9. ElasticSearch小操之Marvel,Sense

    慢慢弄弄,说不好马上就要用呢,,, 嘿嘿 参考网址: http://es.xiaoleilu.com/ Elasticsearch 权威指南(中文版) 阅读地址:Elasticsearch权威指南(中 ...

  10. http://www.cnblogs.com/xia520pi/archive/2012/05/16/2504205.html

    http://www.cnblogs.com/xia520pi/archive/2012/05/16/2504205.html http://www.cnblogs.com/madyina/p/370 ...