VC++中使用图形程序设计和动画技术
发布时间:2006-05-05 19:02:46 来源:天极网 网友评论 0 条 摘要本文以一个例子来说明Visual c++6.0中是如何使用图形程序设计和动画技术的。
关键词C++ 程序设计 动画 函数下面用一个例子来说明Visual c++6.0中是如何使用图形程序设计和动画技术的,这是一个图形方式的时钟程序,程序运行后以图形方式显示时钟,秒针一秒一秒地转动,该程序用到了结构型变量的指针、图形程序设计以及动画技术等一些知识,这些我们将结合程序给予说明。
图形方式的时钟程序:
该程序中用到了系统定义的存储时间数据的结构型struct tm,它在头文件time.h中定义:
程序用系统提供的time( )函数读取系统时间,并将其存入长整型变量ltime中,该时间是一个从1970年1月1日0时0分0秒开始计时的累计秒数:
用系统提供的localtime()函数将长整型的时间值转换为tm结构型变量的值,并返回指向该结构型变量的指针,该指针被赋值给指针变量pt:
这样便于工作可以通过pt得到时间tm结构型变量中的时、分、秒的值,即pt->tm-hour、pt->tm-min、pt->tm-sec。在计算秒针针尖的位置时用了pt->tm-sec。
time()函数和localtime()函数的原型在头文件time.h中声明,因此必须用#include指令将文件time.h包含到本程序中来。

关键词C++ 程序设计 动画 函数下面用一个例子来说明Visual c++6.0中是如何使用图形程序设计和动画技术的,这是一个图形方式的时钟程序,程序运行后以图形方式显示时钟,秒针一秒一秒地转动,该程序用到了结构型变量的指针、图形程序设计以及动画技术等一些知识,这些我们将结合程序给予说明。
图形方式的时钟程序:
# include < time.h >//时间处理函数原型及数据结构
# include < stdio.h >//标准输入/输出函数原型及数据结构
# include //dos所用数据结构和函数原型
# include //控制台输入/输出函数原型及数据结构
# include //数学函数原型
#include //图形处理函数原型及数据结构
#define PI 3.14159
time-t l time; //类型time-t即long
struct tm * pt; //pt为指向时间结构tm的指针
void showTime (void ); //函数原型声明
void main (void )
{
show Time ( ); //调用图形方式显示函数
}
void show time ( void ) //以图形方式显示运转的时钟
{
int Rs = 100; //秒针长度
int Rc =130; //时钟外圆圈半径
double alpha =2*PT/60.0; //秒针1秒和分针1分钟所旋转的弧度数
int x,y; //时钟圆心坐标
int xSecond , ySecond ; //秒针针尖位置坐标
int driver =DETECT , mode ; //定义驱动器和模式变量并指示自动检测
//将显示器初始化为指定的图形模式:
initgraph ( & driver , & mode , "c://BC31//BGI//");
x=getmaxx ( ) /2;y=getmaxy ( ) /2; //计算时钟圆心坐标
cleardevice ( ); //图形屏幕清屏
setbkcolor (WHITE ); //设置背景颜色
setlinestyle (0,1,3 ); //设置画线风格:实线,3像素宽
setcolor (LIGHTBLUE ); //设置时钟外圆圆圈的颜色
circle (x,y,Rc); //设置时钟外圆圆圈
while (!kbhit ()) //按下任一键则退出循环
{
time ( & ltime ); //读取系统时间
pt=localtime ( & ltime); //转换为结构型并返回其指针
xSecond = x+Rs*cos ( pt->tm-sec*alpha-PI/2);//计算秒针针尖的位置坐标
ySecond =y+Rs*sin ( pt->tm-sec*alpha-PI/2);
setcolor ( LIGHTRED ); //设置秒针的颜色
line ( x,y,xSecond,ySecond); //画秒针
delay (50); //延时50毫秒
setcolor(BLACK); //画线颜色设置为背景颜色
line(x,y, xSecond, ySecond); // 擦除秒针
}
closegraph(); //关闭图形模式
} 该程序中用到了系统定义的存储时间数据的结构型struct tm,它在头文件time.h中定义:
struct tm{
int tm - sec; /* Seconds*/
int tm - min; /*Minutes*/
int tm - hour ; /*Hour(0- -23)*/
int tm - mday ; /*Day of month (1- -31)*/
int tm - mon ; /*Month (0- -11)*/
int tm - year ; /*Year(calendar year minus 1900)*/
int tm - wday ; /*weekday (0- -6;Sunday=0)*/
int tm - yday ; /*Day of year (0- -365)*/
int tm - isdst ; /*0 if daylight savings time is not in effect ) */
};程序用系统提供的time( )函数读取系统时间,并将其存入长整型变量ltime中,该时间是一个从1970年1月1日0时0分0秒开始计时的累计秒数:
time(<ime);用系统提供的localtime()函数将长整型的时间值转换为tm结构型变量的值,并返回指向该结构型变量的指针,该指针被赋值给指针变量pt:
pt=loclatime(<ime):这样便于工作可以通过pt得到时间tm结构型变量中的时、分、秒的值,即pt->tm-hour、pt->tm-min、pt->tm-sec。在计算秒针针尖的位置时用了pt->tm-sec。
time()函数和localtime()函数的原型在头文件time.h中声明,因此必须用#include指令将文件time.h包含到本程序中来。

- 推荐阅讯
- More Effective C++之智能指针
- 修练8年C++面向对象程序设计之体会
- 菜鸟也能搞定C++内存泄漏
- C++/CLI中实现singleton模式
- Visual C++ 入门精解-引言
- 利用VC++实现局域网实时视频传输
- Windows Socket1.1 程序设计
- MFC中用正则表达式进行有效性验证
- C/C++中数组和指针类型的关系的入门教程
- C++数据类型的属性与限制
- 阅读排行
- 1.Borland 发布C++ Builder 2006 RAD 环境
- 2.C/C++程序员应聘常见面试题深入剖析
- 3.Visual C++常用数据类型转换详解
- 4.C++中的 static 关键字
- 5.利用VC++实现局域网实时视频传输
- 6.浅谈C/C++内存泄漏及其检测工具
- 7.英国投票否决C++/CLI 微软强攻ISO标准受挫
- 8.VC++下用MSComm控件实现串口通讯
- 9.伪随机数生成及在VC++中的实现
- 10.VC++编程实现对波形数据的频谱分析
- 专题教程
- Windows Server-Windows Server文档-Windows Server新闻-Windows Ser PostgreSQL-PostgreSQL文档-PostgreSQL新闻-PostgreSQL专家
- WebLogic-WebLogic文档-WebLogic新闻-WebLogic专家 FreeBSD-FreeBSD文档-FreeBSD新闻-FreeBSD专家
- Linux-内核 GUI KDE Gnome DNS FTP 安全 安装-Linux专区 Windows-AD IIS ServerCore 虚拟化 安全 HPC-Windows专区
- 大话G游 专题:手机病毒揭密
- ARP攻击防范与解决方案 路由故障处理手册
|
