C语言基于EasyX绘制时钟

本文实例为大家分享了C语言基于EasyX绘制时钟的具体代码,供大家参考,具体内容如下

函数说明:

void line(
    int x1,
    int y1,
    int x2,
    int y2
);

参数

x1
直线的起始点的 x 坐标。

y1
直线的起始点的 y 坐标。

x2
直线的终止点的 x 坐标。

y2
直线的终止点的 y 坐标。

文件素材

源代码

#include <graphics.h>
#include <conio.h>
#include <math.h>
#define PI 3.1415926
int main()
{
    int high=500;
    int width=500;
    initgraph(width,high);        
    IMAGE img;                    
    loadimage(&img,"timg.jpg");        //加载图片
    putimage(0,0,&img);                //显示图片
    SYSTEMTIME ti;
    float angle_s = 0;                //秒针偏转角度
    float angle_m = 0;                //分针偏转角度
    float angle_h = 0;                //时针偏转角度
    BeginBatchDraw();
    outtextxy(width/2-30,10,"我的时钟");    //输出文字
    while(1)
    {
        GetLocalTime(&ti);                    //获得系统时间
        //根据系统时间获取时针、分针、秒针偏转角度
        angle_s = ti.wSecond*2*PI/60;        
        angle_m = ti.wMinute*2*PI/60;
        angle_h = ti.wHour*2*PI/12;
        //绘制秒针
        setcolor(RED);
        setlinestyle(PS_SOLID,2);
        line(width/2,high/2,width/2+120*sin(angle_s),high/2-120*cos(angle_s));
        setcolor(GREEN);
        //绘制分针
        setlinestyle(PS_SOLID,3);
        line(width/2,high/2,width/2+80*sin(angle_m),high/2-80*cos(angle_m));
        setcolor(BLACK);
        //绘制时针
        setlinestyle(PS_SOLID,4);
        line(width/2,high/2,width/2+50*sin(angle_h),high/2-50*cos(angle_h));
        FlushBatchDraw();
        //Sleep(50);
        //清除前一帧的绘图
        setcolor(WHITE);
        line(width/2,high/2,width/2+120*sin(angle_s),high/2-120*cos(angle_s));
        line(width/2,high/2,width/2+80*sin(angle_m),high/2-80*cos(angle_m));
        line(width/2,high/2,width/2+50*sin(angle_h),high/2-50*cos(angle_h));

    }
    EndBatchDraw();
    getch();
    closegraph();
    return 0;
}

效果:

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

(0)

相关推荐

  • C语言计算代码执行所耗CPU时钟周期

    该代码受乱序执行等影响, 需要sync LARGE_INTEGER _start = { 0 }, _end = { 0 }; __asm{ rdtsc mov dword ptr [_start.LowPart], eax mov dword ptr[_start.HighPart], edx } //your code here __asm{ rdtsc mov dword ptr [_end.LowPart], eax mov dword ptr[_end.HighPart], edx }

  • C语言实现电子时钟程序

    本文实例为大家分享了C语言实现电子时钟程序的具体代码,供大家参考,具体内容如下 Qt 里面运行 #include<windows.h> #include <stdio.h> #include <stdlib.h> #include <conio.h> #include <time.h> typedef struct { int x; int y; }Point; time_t now; struct tm *pt, t1, t2; int pri

  • C语言实现基于控制台的电子时钟

    使用c语言制作一个控制台的电子时钟,供大家参考,具体内容如下 学习了c语言基本语法后,在学习了time.h的库文件,让我产生了想制作一款电子时钟的念头,那好就开始动手操作吧. 使用到下面这些技术: 首先必须先导入库 /***************** 实时数字时钟(和计算机系统时间关联) ************** #include <time.h>  -- 必须的时间函数头文件 time_t -- 时间类型(time.h 定义) struct tm -- 时间结构,time.h 定义如下

  • C语言实现实时钟表

    本文实例为大家分享了C语言实现实时钟表的具体代码,供大家参考,具体内容如下 一.最终效果展示 效果图如下: 二.绘制静态秒针 代码如下: #include<graphics.h> #include<conio.h> #include<math.h> #define High 480 //游戏画面尺寸 #define Width 640 int main(void) {     initgraph(Width,High);//初始化绘图窗口     int center_

  • C语言基于EasyX库实现有图形界面时钟

    本文实例为大家分享了C语言基于EasyX库实现有图形界面时钟的具体代码,供大家参考,具体内容如下 1.目标要求: 1.实现一个显示图像的时钟2.时间与本地时间一致 2.C语言代码: #include<graphics.h> //需要提前安装库函数EasyX,网上官网下载 #include<stdio.h> #include<stdlib.h> #include<windows.h> #include<conio.h> #include<ma

  • C语言基于EasyX绘制时钟

    本文实例为大家分享了C语言基于EasyX绘制时钟的具体代码,供大家参考,具体内容如下 函数说明: void line(     int x1,     int y1,     int x2,     int y2 ); 参数 x1直线的起始点的 x 坐标. y1直线的起始点的 y 坐标. x2直线的终止点的 x 坐标. y2直线的终止点的 y 坐标. 文件素材 源代码 #include <graphics.h> #include <conio.h> #include <mat

  • C语言基于EasyX库实现有图形界面钟表

    本文实例为大家分享了C语言基于EasyX库实现有图形界面钟表的具体代码,供大家参考,具体内容如下 1.目标要求: 实现一个显示图像的时钟 2.C语言代码: #include<graphics.h> //需要提前下载EasyX库哦 #include<stdio.h> #include<stdlib.h> #include<windows.h> #include<conio.h> #include<math.h> #define High

  • C语言基于EasyX实现贪吃蛇

    本文实例为大家分享了C语言基于EasyX实现贪吃蛇的具体代码,供大家参考,具体内容如下 成品展示: 实现思路: 贪吃蛇的实现思路并不复杂,由于我们需要将数据展示在图形窗口上,因此就不需要之前那种用数组表示整个游戏地图的方法. 贪吃蛇的蛇有X坐标和Y坐标,而且不止一节,因此需要一个坐标结构体数组来保存,蛇的移动思路是除了第一节以外,后面每一节都是前面一节的坐标,然后通过键盘的输入输出使蛇的X或Y坐标加或者减来起到上下左右移动的作用.通过判断蛇与食物的坐标是否重合绝对是否吃到食物,吃到食物以后,蛇的

  • C语言基于EasyX库实现有颜色弹跳小球

    本文实例为大家分享了基于EasyX库实现有颜色弹跳小球的具体代码,供大家参考,具体内容如下 1.目标要求 1.实现一个有颜色小球在窗口中弹跳2.遇到边界弹跳 2.C语言代码 #include<graphics.h>  #include<stdio.h> #include<stdlib.h> #include<windows.h> #include<conio.h> #define High 480 #define Width 640//画布尺寸

  • C语言用Easyx绘制围棋和象棋的棋盘

    本文实例为大家分享了C语言绘制围棋和象棋棋盘的具体代码,供大家参考,具体内容如下 一.绘制围棋棋盘 代码如下: #include<graphics.h> #include<conio.h> int main() {     int step=30;     //初始化绘图窗口     initgraph(600,600);     //设置背景色为黄色     setbkcolor(YELLOW);     //用背景色清空屏幕     cleardevice();     set

  • C语言利用EasyX实现绘制足球图案

    目录 思路 截图 源码 思路 如何使用 C 语言配置EasyX绘图库绘制一个足球呢,今天我尝试了一下,难度还算可以,但是过程比较繁琐,代码写的有些复杂,后期有兴趣的,可以在我的代码的基础上进行优化,用更短的代码将这个图形绘制出来. 简单描述一下这个程序的思路和实现过程.足球是一个由五边形和六边形组成的球体.这里我使用一个旋转算法,首先确定一个足球的圆心.然后确定半径,通过等间距旋转,先获得一个五边形的坐标,使用多边形填充的方式,得到一个填充的五边形.然后通过同样的方式,获取一个十边形以及二十边形

  • C语言借助EasyX实现的生命游戏源码

    本文讲述C语言借助EasyX实现的生命游戏,具体操作流程如下: 1.生命游戏内容: 该游戏包括一个二维矩形世界,这个世界中的每个方格居住着一个活着的或死了的细胞.一个细胞在下一个时刻生死取决于相邻八个方格中活着的细胞的数量.如果一个细胞周围的活细胞数量多于 3 个,这个细胞会因为资源匮乏而在下一个时刻死去:如果一个位置周围有 3 个活细胞,则该位置在下一个时刻将诞生一个新的细胞:如果一个位置周围有 2 个活细胞,则该位置的细胞生死状态保持不变:如果一个细胞周围的活细胞少于 2 个,那么这个细胞会

  • Android编程基于自定义控件实现时钟功能的方法

    本文实例讲述了Android编程基于自定义控件实现时钟功能的方法.分享给大家供大家参考,具体如下: 在学习安卓群英传自定义控件章节的时候,有一个例子是绘制时钟,在实现了书上的例子后就想看这个时钟能不能动起来. 这里选择延迟一秒发送消息重绘view来实现的动画,对外提供了开启时钟,关闭时钟的方法,当activity执行onResume方法的时候,执行startClock()方法,当移除view或activity执行onStop方法的时候可以执行stopClock()方法. 首先根据view的宽高来

  • C++实现基于EASYX库扫描线算法

    本文实例为大家分享了C++实现基于EASYX库扫描线算法的具体代码,供大家参考,具体内容如下 扫描线算法的基本原理 * 作者在扫描线算法的基础上自己设计的更易于理解的地物填充绘制算法 流程图 代码 #include<graphics.h> //#include<conio.h> #include<iostream> using namespace std; //-----------------------------草图形-----------------------

随机推荐