用easyx画电子钟_实时钟表 · Joker/EasyX - Gitee.com
#include
#include
#include
#define high 480
#define width 640
#define PI 3.14159
int main()
{
initgraph(width, high);
int radius = width/4;
int center_x, center_y;//中心坐标,也是秒,分,时针起始坐标
center_x = width/2;
center_y = high/2;
int second_length;//秒针长度
second_length = width/5;
int minutes_length;//分针长度
minutes_length = width/6+5;
int hour_length;//时针长度
hour_length = width/7;
int secondEnd_x, secondEnd_y;//秒针终点坐标
int minutesEnd_x, minutesEnd_y;//分针终点坐标
int hourEnd_x, hourEnd_y;//时针终点坐标
float secondAngle = 0;//秒针对应转动角度
float minutesAngle = 0;//分针对应转动角度
float hourAngle = 0;//时针对应转动角度
SYSTEMTIME ti;//定义变量存储系统时间
circle(center_x,center_y,radius);
outtextxy(center_x-30,center_y+width/5,"我的时钟");
//0,3,6,9点图标
solidrectangle(center_x-5,center_y-radius,center_x+5,center_y-radius+10);
solidrectangle(center_x-5,center_y+radius,center_x+5,center_y+radius-10);
solidrectangle(center_x-radius,center_y+5,center_x-radius+10,center_y-5);
solidrectangle(center_x+radius-10,center_y+5,center_x+radius,center_y-5);
//其余点图标
circle(center_x+(radius-5)*sin(PI/6),center_y-(radius-5)*cos(PI/6),5);
circle(center_x+(radius-5)*sin(PI/3),center_y-(radius-5)*cos(PI/3),5);
circle(center_x+(radius-5)*sin(PI/1.5),center_y-(radius-5)*cos(PI/1.5),5);
circle(center_x+(radius-5)*sin(PI-PI/6),center_y-(radius-5)*cos(PI-PI/6),5);
circle(center_x+(radius-5)*sin(-(PI/6)),center_y-(radius-5)*cos(-(PI/6)),5);
circle(center_x+(radius-5)*sin(-(PI/3)),center_y-(radius-5)*cos(-(PI/3)),5);
circle(center_x+(radius-5)*sin(-(PI/1.5)),center_y-(radius-5)*cos(-(PI/1.5)),5);
circle(center_x+(radius-5)*sin(-(PI-PI/6)),center_y-(radius-5)*cos(-(PI-PI/6)),5);
BeginBatchDraw();
while(1)
{
GetLocalTime(&ti);
secondAngle = ti.wSecond *2*PI/60;
secondEnd_x = center_x + second_length * sin(secondAngle);
secondEnd_y = center_y - second_length * cos(secondAngle);
minutesAngle = ti.wMinute *2*PI/60;
minutesEnd_x = center_x + minutes_length * sin(minutesAngle);
minutesEnd_y = center_y - minutes_length * cos(minutesAngle);
hourAngle = ti.wHour *2*PI/60;
hourEnd_x = center_x + hour_length * sin(hourAngle);
hourEnd_y = center_y - hour_length * cos(hourAngle);
//画秒针
setlinestyle(PS_SOLID,2);
setcolor(WHITE);
line(center_x,center_y,secondEnd_x,secondEnd_y);
//画分针
setlinestyle(PS_SOLID,4);
setcolor(BLUE);
line(center_x,center_y,minutesEnd_x,minutesEnd_y);
//画时针
setlinestyle(PS_SOLID,8);
setcolor(RED);
line(center_x,center_y,hourEnd_x,hourEnd_y);
FlushBatchDraw();
Sleep(50);
//隐藏前面一帧的秒针
setcolor(BLACK);
line(center_x, center_y, secondEnd_x, secondEnd_y);
//隐藏前面一帧的分针
setcolor(BLACK);
line(center_x, center_y, minutesEnd_x, minutesEnd_y);
//隐藏前面一帧的时针
setcolor(BLACK);
line(center_x, center_y, hourEnd_x, hourEnd_y);
}
EndBatchDraw();
getch();
closegraph();
return 0;
}
一键复制
编辑
Web IDE
原始数据
按行查看
历史
用easyx画电子钟_实时钟表 · Joker/EasyX - Gitee.com相关推荐
- 用easyx画电子钟_基于EasyX图形库的多线程绘图应用
本文<基于EasyX图形库的多线程绘图应用>由手机部落整理,仅供参考.如果觉得很不错,欢迎点评和分享-感谢你的阅读与支持! 张煜昕 摘要:EasyX 是C++语言进行图形化编程和游戏编程的 ...
- 用easyx画五角星_【洛谷日报#195】有个东西叫EasyX
同样,你也可以来 SD!LTF - 博客园cnblogs.com 众所周知,控制台可以变得图形化 关于C++控制台上的图形界面,除了一堆printf("--------------&quo ...
- 用easyx画电子钟_Canvas入门-利用Canvas绘制好玩的电子时钟
在这之前 你需要了解一下方法的使用: beginPath() closePath() moveTo() lineTo() fill() stroke() fillRect() clearRect() ...
- 用easyx画五角星_冷军画了一把破剪刀, 竟然卖到了160万,被专家抨击:乱涂鸦!得奖后专家顿时不说话了...
本文转自:美术生 ID:mssxcx 最近看到一篇报道 冷军画了一把破烂的剪刀 卖了162.4万(天价)? 这是营销还是创作? △冷军<突变--有刺的剪刀> 这一幅破烂的剪刀中真实的剪刀静 ...
- 在c++中使用easyx画一个实时走动的钟表(方法细节)
这次的任务是用c++画出实时走动的钟表,并且与当前系统的时间一致. 由于我们使用的是c++语言,我们更需要用这个例子来提高我们对面向对象程序设计的理解. 我们首先需要分析出需求,"画一个能够 ...
- 利用python Turtle库函数画一个实时钟表
最近学习python,接触到turtle标准库,后面又看到利用python内置库turtle库画一个实时钟表.话不多说,直接上代码叭! import turtle from datetime impo ...
- python用turtle库制作实时钟表(可打包exe)
实时钟表 源代码 打包exe 源代码 python引入两个内置库turtle和datetime即可制作一个实时钟表,代码如下: # 用turtle画时钟 # 以自定义shape的方式实现 import ...
- 实时获取ccd图像_薄膜瑕疵在线检测系统0.1mm检测精度_实时在线检测
原标题:薄膜瑕疵在线检测系统检测精度_实时在线检测 在薄膜的实际生产过程中,由于各方面因素的影响,薄膜表面会出现诸如孔洞.蚊虫.黑点.晶点.划伤.斑点等瑕疵,严重影响了薄膜的质量,给生产商带来了不必要 ...
- 如何用python画雪人_pygame画雪人_函数与图形示例.py
"""pygame画雪人_函数与图形示例.py """ # 导入pygame模块 import pygame def draw_snowma ...
最新文章
- 记录opencv编译过程
- HtmlAgilityPack 总结(一)
- 如何在页面加载完成后再去做某事?什么方法可以判断当前页面加载已完成?...
- 巧用linux服务器下的/dev/shm/,避开磁盘IO不给力!
- 音视频技术开发周刊 | 228
- oracle查询ora03114,求教:ora-03114错误从哪里排查?
- 世界目光聚焦美国:埃博拉病患者是否认真是可以治愈的?
- [ 数据集 ] VOC 2012 数据集介绍
- 微软原版win10系统启动盘的制作
- Java实现图片水印
- php话费充值,手机话费充值接口
- 小程序or网页前端CSS选择器
- Opengl ES之FBO
- 智能座舱HIL测试台架集群搭建的必要性
- Xshell快速命令集解放生产力
- 离线语音遥控器控制红外设备
- 基于室内定位技术的化工厂人员定位系统--化工厂定位--新导智能
- 谷粒学院 01_在线教育行业介绍
- tcp ip协议 服务器和客户端区别,网络与TCP/IP协议-总结
- 代码大全(Code Complete)-- 目录和关键点
热门文章
- FTP 中 「quote type b 1」的含义
- MyEclipse报Errors occurred during the build. 异常
- C# 让你解决方案乱七八糟的DLL放入指定文件夹
- linux下安装mongodb,以及解决安装报错问题
- 解决Ubuntu不能全屏问题
- Office2010安装出现“错误1907”的解决方法(未验证)
- class path resource [logback.xml] cannot be resolved to URL because it does not exist 问题解决
- Google 已将“xxxx”标记为恶意扩展程序并阻止安装,解决方案
- 模板类的析构函数如何写_项目经理如何正确写好年终总结+10大PPT模板可直接套用...
- IoT:MQTT协议详解