OpenGL 编程实践 之 改变屏幕分辨率和颜色深度
2010-10-10 20:27
429 查看
程序运行的结果是改变屏幕的分辨率和颜色深度。
一、程序的编写:
1. 新建和配置工程
新建一个工程,然后在Project->Setting->Link 中,加入OpenGL 相关几个lib文件
2. 加入头文件
3. 改变分辨率函数的实现
4. 调用函数
在程序能执行到任意位置调用 上述函数即可
如:
5. 运行程序
二、 程序说明
1. DEVMODE 结构体
dmFields 指示DEVMODE结构体中的某个域有没有被初始化
这个结构体包含一个打印机或显示设备的初始化数据和环境信息。
2.EnumDisplaySettings函数
这个函数是获取某一个显示设备的图形模式信息
如果第一个参数为空,则表示获取的是当前进程正在用的显示设备
第三个参数是out类型,它返回当前显示设备的信息
3.ChangeDisplaySetting函数
把默认显示器的显示设置改成指定的图形模式
一、程序的编写:
1. 新建和配置工程
新建一个工程,然后在Project->Setting->Link 中,加入OpenGL 相关几个lib文件
OpenGL32.lib Glu32.lib GLaux.lib
2. 加入头文件
#include <windows.h> #include <GL/gl.h> //OpenGL 核心函数库文件的头文件 #include <GL/glu.h>//OpenGL 应用程序函数库的头文件 #include <gl/glaux.h>//OpenGL 辅助函数库的头文件 #include <stdio.h> //标准输入输出 #include <io.h> //输入输出
3. 改变分辨率函数的实现
bool ChangeResolution(int w,int h,int bitdepth) { DEVMODE devMode; int modeSwitch; int closeMode = 0; EnumDisplaySettings(NULL,closeMode,&devMode); //获取指定显示设备的图形模式的信息 devMode.dmBitsPerPel = bitdepth; devMode.dmPelsWidth = w; devMode.dmPelsHeight = h; devMode.dmFields = DM_BITSPERPEL|DM_PELSWIDTH|DM_PELSHEIGHT; modeSwitch = ChangeDisplaySettings(&devMode,CDS_FULLSCREEN); if(modeSwitch == DISP_CHANGE_SUCCESSFUL){ return true; } else{ ChangeDisplaySettings(NULL,0); return FALSE; } }
4. 调用函数
在程序能执行到任意位置调用 上述函数即可
如:
ChangeResolution(640,480,16);
5. 运行程序
二、 程序说明
1. DEVMODE 结构体
The DEVMODE data structure contains information about the initialization and environment of a printer or a display device.
dmFields 指示DEVMODE结构体中的某个域有没有被初始化
这个结构体包含一个打印机或显示设备的初始化数据和环境信息。
2.EnumDisplaySettings函数
BOOL EnumDisplaySettings( LPCTSTR lpszDeviceName, // display device DWORD iModeNum, // graphics mode LPDEVMODE lpDevMode // graphics mode settings );
这个函数是获取某一个显示设备的图形模式信息
如果第一个参数为空,则表示获取的是当前进程正在用的显示设备
第三个参数是out类型,它返回当前显示设备的信息
3.ChangeDisplaySetting函数
LONG ChangeDisplaySettings( LPDEVMODE lpDevMode, // graphics mode DWORD dwflags // graphics mode options );
把默认显示器的显示设置改成指定的图形模式
相关文章推荐
- OpenGL 编程实践 之 改变屏幕分辨率和颜色深度
- Windows API 图形界面编程——获取屏幕分辨率、DPI,更改窗口背景颜色
- 动态改变屏幕设置 分辨率、颜色等。
- 动态改变屏幕设置 分辨率、颜色等。
- printf在终端输出时改变颜色(只适用于Linux下的编程)
- 吴恩达 深度学习 Class1 课程总结及编程实践
- OpenGL.ES在Android上的简单实践:2-曲棍球(编译着色器及屏幕上绘图)
- J2ME编程最佳实践之屏幕导航
- OpenGL编程轻松入门之使用颜色
- OpenGL编程(七)3D模型的深度(z轴)检测
- OpenGL基础图形编程(九)OpenGL颜色
- MFC编程学习之改变对话框和控件及文本颜色
- linux下 C编程改变输出字体颜色
- 关于android MTK相机L版本,切换屏幕比例后,分辨率随之改变,但重新进入相机后原有分辨率不再生效问题
- android UI 编程的基本概念 -- pixel,dp,dpi,ppi,屏幕尺寸,分辨率,sp
- linux下 C编程改变输出字体颜色
- OpenGL基础图形编程 - OpenGL颜色
- OpenGL 编程指南(第八版)学习笔记——4 颜色、像素和帧缓冲
- 安卓标题栏随屏幕滑动改变颜色
- 【VC编程技巧】窗体☞3.1利用字体对话框和颜色对话框改变静态标签中字体颜色背景.