调用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. windows下创建.htaccess文件之讲解

    如果想在Windows操作系统下新增一个.htaccess 文件实现对页面的rewrite,任你如何右点鼠标或者选文件->新增去新增都不会成功的,Windows都会要求给个文件名称.如果你想通过 ...

  2. Properties --- C++读配置信息的类(一)

    http://blog.csdn.net/billow_zhang/article/details/4304980 在开发实践中,积累了一些通用的C++ 类库,在此写出来给大家分享.也希望能给出更好的 ...

  3. HDOJ 1284 钱币兑换问题

    转自:wutianqi http://www.wutianqi.com/?p=981 题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1284 tag:母 ...

  4. DataGrid行详细信息的绑定--DataGrid.RowDetailsTe(转载)

    在Silverlight中的DataGrid控件使用中我们想点击其中一行并且看这一行的详细信息应该如何做呢?而且这个详细信息是多行的数据,而非简单的几个属性. 在这里我们使用DataGrid.RowD ...

  5. POJ 2823 Sliding Window (线段树/单调队列)

    题目不说了,可以用线段树或者单调队列,下面附上代码. 线段树: #include <iostream> #include <stdio.h> #include <algo ...

  6. POJ1416Shredding Company

    http://poj.org/problem?id=1416 题意 : 要为碎纸机公司开发一种新的碎纸机,这种碎纸机要具有3个特性 :一是粉碎机以一个目标数 t 作为输入,并且粉碎的纸上写有一个数字n ...

  7. MySQL 创建数据库并且指定编码

    GBK: create database test2 DEFAULT CHARACTER SET gbk COLLATE gbk_chinese_ci; UTF8: CREATE DATABASE ` ...

  8. Thread的第一天学习

    1.实现线程的方法: 1)extend Thread 2)implements Runnable 2.下面代码执行哪个run方法: new Thread( new Runnable(){ public ...

  9. 欧拉工程第62题:Cubic permutations

    题目链接 找出最小的立方数,它的各位数的排列能够形成五个立方数 解决关键点: 这五个数的由相同的数组成的 可以用HashMap,Key是由各位数字形成的key,value记录由这几个数组成的立方数出现 ...

  10. [z]CAP原理和BASE思想

    分布式领域CAP理论,Consistency(一致性), 数据一致更新,所有数据变动都是同步的Availability(可用性), 好的响应性能Partition tolerance(分区容错性) 可 ...