栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

C++ 图片界面的时钟,可以调节

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

C++ 图片界面的时钟,可以调节

#define _CRT_SECURE_NO_WARNINGS
#pragma warning(disable : 4996)
#include //图形哭头文件
#include 
#include
#include
void line(int x1, int y1, int x2, int y2);
#define PI 3.1415926
struct time
{
	int hour;
	int min;
	int sec;
};
int main()
{
	int i, j, hour, min, sec, ch, n = 0;
	float H = 190;		// 色相
	float S = 1;		// 饱和度
	float L = 0.7f;		// 亮度

	time_t t;
	struct tm* nowtime;
	initgraph(640, 880);// 初始化绘图窗口  640 480
	setbkcolor(BLACK);	// 设置背景色为蓝色
	cleardevice();// 用背景色清空屏幕
	setcolor(WHITE);// 设置绘图色为红色
	circle(320, 240, 200);	// 画圆
	circle(320, 240, 1);//点


	for (i = 0; i <= 59; i++)//表盘上的刻度
	{
		if (i % 5 == 0)//每个小时的点线长
			line(320 + 170 * sin(i * PI / 30), 240 - 170 * cos(i * PI / 30), 320 + 200 * sin(i * PI / 30), 240 - 200 * cos(i * PI / 30));//画时钟线
		else
			line(320 + 185 * sin(i * PI / 30), 240 - 185 * cos(i * PI / 30), 320 + 200 * sin(i * PI / 30), 240 - 200 * cos(i * PI / 30));//画分秒线
	}
	time(&t);
	nowtime = localtime(&t);//获取当地时间
	hour = nowtime->tm_hour;
	min = nowtime->tm_min;
	sec = nowtime->tm_sec;

	while (1)
	{
		time(&t);
		nowtime = localtime(&t);//获取当地时间
		sec = nowtime->tm_sec;
		if (hour == 14)
			if (H > 800)
			{
				H = 0;
			}
		H += 100;
		setlinecolor(HSLtoRGB(H, S, L));
		circle(320, 240, 200);
		setlinecolor(WHITE);
		line(320, 240, 320 + 60 * sin(PI * hour / 6), 240 - 60 * cos(PI * hour / 6));//时针位置
		line(320, 240, 320 + 100 * sin(PI * min / 30), 240 - 100 * cos(PI * min / 30));//分针位置
		line(320, 240, 320 + 160 * sin(PI * sec / 30), 240 - 160 * cos(PI * sec / 30));//秒针位置
		if (kbhit())
		{

			if (ch = getch())
			{
				ch = getch();

			}
			if (75 == ch)                //Left逆时针
			{
				hour--;
			}
			if (77 == ch)  //顺
			{
				hour++;
			}
			if (72 == ch)                //上逆时针
			{
				min--;
			}
			if (80 == ch)  //下顺
			{
				min++;
				if (min == 60)
				{
					hour = hour + 1;
					min = 0;
				}
			}


		}
		ch = 0;
		clearcircle(320, 240, 165);
		if (min == 59 && n == 0)
		{
			hour = hour + 1;
			min = 0;
			n++;

		}
		if (sec == 59 && n == 0)
		{
			min = min + 1;
			sec = 0;
			n++;
		}
		if (sec == 1)
			n == 0;
	}


	_getch();// 按任意键退出
	closegraph();
	closegraph();
}

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/876053.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号