项目二,easyx的加入

news2025/2/23 6:01:32

 今天是项目的第二天

与昨天的迷离比起来今天大大的有进步

我对实现啥的功能有了一个基本的方案

1对所有路的查询那就是用dfs

2对最短路的查询就是用的floyed但是,查询是要保存路径的,所以想到了,保存每条最短路的时候

同时把最短路的前驱保存下来,我们可以通过前驱把完整的路程全部的遍历出来

遇到的问题:对文件的操作不是很熟悉,对于景区观景点的位置的简介,以及公告板,还有待解决

(问题就是留着解决的)

今天解决的问题是

界面的设计

学习了easyx

无论咋样有界面就是好的(我不管我不管)

学习了全套的套餐

但是我就讲一下今天用到的

首先是头文件

有几个呀但是

最好的还是

#include<graphics.h>

 但是注意了,一定要再.cpp的文件里面搞不然,要是在c文件里面弄得话,那会出现不兼容得问题

首先是窗口函数以及对窗口得关闭

initgraph(640, 800, 0);
closegraph();

 initgraph()的参数是宽,高,以及格式,在本文中宽高都是像素作为单位的

格式有不可关闭模式

不可最小化模式

以及二者和一模式

接下来就是

IMAGE img;

IMAGE img;

就像是一个变量的定义,img是一长图片的变量,但是还未初始化(没有加载图片就是个空的) 

定义了就有加载函数,这个变量是不可以可以直接赋值的

loadimage(&img, "C:\\Users\\唐怡佳\\Desktop\\图1.jpg",640,800);

这就是赋值的函数(赋的值是一图片,图片变量赋值一长图片还是比较合理的吧) 

格式是

loadimage(变量的地址,"图片的相对地址或者绝对地址",宽,高)图片的像素大小可能不一定与窗口匹配的但是最后面的两个参数会将图片进行一个自适应的转化,变成你想要的大小

settextstyle(50, 0, "楷书");//高,宽,字体的格式
setbkmode(TRANSPARENT);//文本背景的设置,此为透明
settextcolor(BLACK)//字体的颜射,可以是你想的到的英文

接下来是文本的设置,一上是设置格式

outtextxy(x1, y1, a);
outtextxy(x1, y1, L"我是菜鸡");
outtextxy(x1, y1, TEXT"菜鸡是我");
outtextxy(x1, y1, _TEXT("菜鸟是我"));

前两个参数是,对文字输出的起始位置的像素点 

setfillcolor(YELLOW);
fillrectangle(120,150,520,250);
rectangele(120,150,520,250);

这是填充色的矩形

以及未填充颜射的矩形

还有上面的颜射填充 

可以注意到,画矩形的函数有4个参数这代表,起始点以及最终点

这里的左上,以及右下

两点

还有就是如何吧文本永远输入在矩形的中间(居中)

fillrectangle(120,150,520,250);
	int x1 = 120 + (400 - textwidth(a)) / 2;
	int y1 = 150 + (100 - textheight(a)) / 2;
	outtextxy(x1, y1, a);

textwidth(a)是求出a字符串占据的宽(像素) 

 同理理解textheight(a)

问为啥的就自己拿笔和纸来计算一下

还有鼠标的信息

今天暂时不讲

把今天的初定的代码以及样式展示一下

#include<stdio.h>
#include<graphics.h>


int main() {
	initgraph(640, 800, 0);
	IMAGE img;
	loadimage(&img, "C:\\Users\\唐怡佳\\Desktop\\图1.jpg",640,800);
	putimage(0, 0,&img);
	setfillcolor(YELLOW);
	char a[20] = "地图全貌";
	char b[20] = "查询路线";
	char c[20] = "公告板";
	char d[20] = "管理入口";
	settextstyle(50, 0, "楷书");
	setbkmode(TRANSPARENT);
	settextcolor(BLACK);
	fillrectangle(120,150,520,250);
	int x1 = 120 + (400 - textwidth(a)) / 2;
	int y1 = 150 + (100 - textheight(a)) / 2;
	outtextxy(x1, y1, a);
	fillrectangle(120, 300, 520, 400);
	int x2 = 120 + (400 - textwidth(b)) / 2;
	int y2 = 300 + (100 - textheight(b)) / 2;
	outtextxy(x2, y2, b);
	fillrectangle(120, 450, 520, 550);
	int x3 = 120 + (400 - textwidth(c)) / 2;
	int y3 = 450 + (100 - textheight(c)) / 2;
	outtextxy(x3, y3, c);
	fillrectangle(120, 600, 520, 700);
	int x4 = 120 + (400 - textwidth(d)) / 2;
	int y4 = 600 + (100 - textheight(d)) / 2;
	outtextxy(x4, y4, d);

	ExMessage msg;
	while (1){
		                                                                                 

		if (peekmessage(&msg, WM_LBUTTONDOWN)) {
			if (msg.x >= 120 && msg.x <= 520 && msg.y >= 150 && msg.y <= 250) {};

			if (msg.x >= 120 && msg.x <= 520 && msg.y >= 300 && msg.y <= 400) {};

			if (msg.x >= 120 && msg.x <= 520 && msg.y >= 450 && msg.y <= 550) {};

			if (msg.x >= 120 && msg.x <= 520 && msg.y >= 600 && msg.y <= 700) {};


		}
	}
	
	return 0;
}

暂时还没有将代码加入到项目里面来 

运行起来的如上,还未加退出的选项明天会进行修补以及加入到项目,对后面的项目编写也有大大的帮助 

今天撒花谢幕!!!!

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/428060.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

InnoDB中索引的实现

B树索引的使用 5.6.1 不同应用中B树索引的使用 在OLTP应用中&#xff0c;查询操作只从数据库中取得一小部分数据&#xff0c;一般可能都在10条记录以下&#xff0c;甚至在很多时候只取1条记录&#xff0c;如根据主键值来取得用户信息&#xff0c;根据订单号取得订单的详细信息…

Linux下最小化安装CentOS-7.6(保姆级)

文章目录安装包开始安装一、 新建一个虚拟机二、配置安装CentOS7.6二、开始安装CentOS三、配置CentOS并下载基本信息安装包 链接&#xff1a;https://pan.baidu.com/s/1DodB-kDy1yiNQ7B5IxwYyg 提取码&#xff1a;p19i 开始安装 一、 新建一个虚拟机 1、 打开VMWare&#x…

UVCCamera 源码解析

本文将通过UVCCamera源码研究 概述相机传感器数据采集至USB数据传输整个过程 下载源码配置调试环境 git clone GitHub - saki4510t/UVCCamera: library and sample to access to UVC web camera on non-rooted Android device 注释调原有 ndk-build编译方式 //tasks.with…

使用 /permissive- 编译器开关时变量名or被识别为关键字

使用 /permissive- 编译器开关时变量名被识别为关键字 VS2022已经默认开启对c14的支持。并且&#xff0c;一般同时开启的还有/permissive-开关。项目属性如下所示&#xff1a; 然而&#xff0c;在许多早期代码中&#xff0c;函数名和变量名使用了c14等新标准中的关键字&#…

德国访问学者申请签证事宜

德国访问学者长期签证所需材料,下面就随知识人网小编一起看一看。 1、护照及复印件两份。 2、申请表附加表两份(里面有好多注意事项&#xff0c;最重要的是用德文填写&#xff0c;当时我就谷歌翻译后写上去的&#xff0c;最后附加表上的地点&#xff0c;有好多人问填办大使馆还…

谷歌seo快速排名优化方法,谷歌seo需要哪些技术手段?

谷歌seo快速排名优化方法怎么做&#xff1f; 答案是&#xff1a;利用GLB推广技术可以实现谷歌快速排名。 具体请阅读&#xff1a;什么叫GLB外推&#xff1f; 你只想快速曝光你的企业品牌&#xff0c;GLB外推技术是一个不错的选择。 但如果你想优化自己的外贸官网&#xff0…

【springcloud】服务熔断——Hystrix

官方资料&#xff1a;Home Netflix/Hystrix Wiki GitHub 服务雪崩 多个微服务之间调用的时候&#xff0c;假设微服务A调用微服务B和微服务C&#xff0c;微服务B和微服务C又调用其他的微服务&#xff0c;这就是所谓的“扇出”&#xff0c;如果扇出的链路上某个微服务的调用响…

配置python的opencv环境

1、核心 opencv与numpy包的版本必须适配。核心包版本&#xff1a; numpy1.15.0 opencv4.1.0 2、创建opencv环境 (1)创建一个opencv的虚拟环境 conda create -n cv_python python3.6.0(2)激活虚拟环境 activate cv_python (3)安装numpy的1.15.0版本 pip install numpy1.1…

windows自定时间显示格式(将星期几调出来)

一般的情况下是不是显示星期几的 添加红色方框中的内容

ctfshow 愚人杯菜狗杯部分题目(flasksession伪造ssti)

目录 <1>愚人杯 (1) easy_signin (2) easy_ssti(无过滤ssti) (3) easy_flask(flash-session伪造) (4) easy_php(C:开头序列化数据) <2> 菜狗杯 (1) 抽老婆(flask_session伪造) (2) 一言既出&#xff0c;驷马难追(intval) (3) 传说之下&#xff08;js控制台&…

0101quick_find_union-union_find-动态连通性-算法研究

文章目录1 前言2 动态连通性3 算法3.1 算法设计3.1 union-find算法API3.2 数据结构和通用实现3.3 quick-find算法3.3.1 思想和实现3.3.2 分析3.4 quick-union算法3.4.1 算法描述3.4.2 算法实现3.4.3 性能分析结语1 前言 为了说明我们设计和分析算法的基本方法&#xff0c;我们…

通过SSD对齐功能轻松将 HDD 克隆到 SSD

由于 SSD 的优越性能&#xff0c;越来越多的用户正在考虑将他们的操作系统从 HDD 转移到 SSD。然而&#xff0c;一些用户反馈&#xff0c;在迁移之后&#xff0c;SSD 的启动速度并未提升。 为什么将操作系统从 HDD &#xff08;机械硬盘&#xff09;迁移到 SSD&#xff08;固态…

【leetcode hot 100】【7】11. 盛最多水的容器

题目 给定一个长度为 n 的整数数组 height 。有 n 条垂线&#xff0c;第 i 条线的两个端点是 (i, 0) 和 (i, height[i]) 。 找出其中的两条线&#xff0c;使得它们与 x 轴共同构成的容器可以容纳最多的水。 返回容器可以储存的最大水量。 说明&#xff1a;你不能倾斜容器。 示…

JUC-多线程(11.面试问题简析)学习笔记

文章目录1. synchronized 关键字底层原理以及其与 lock 的区别2. 对CAS的理解以及底层实现原理3. ConcurrentHashMap实现线程安全的底层原理是什么4.对JDK中的AQS了解吗&#xff1f;AQS的实现原理是什么&#xff1f;5. 线程池的核心配置参数是干什么的&#xff1f;应该怎么用&a…

电子表格软件与一站式BI的区别

看完本节内容&#xff0c;相信您能够了解到电子表格软件&#xff08;代号电子表格软件&#xff09;与「一站式 BI」的主要区别。所谓一站式BI在官网上的名称就是Smartbi V10.5&#xff0c;代号就是Smartbi一直在使用insight。 这两个产品都属于商业智能BI软件的品类&#xff0…

文献阅读:Semantic Communications: Principles and Challenges

传统通信和语义通信的对比 语义信道容量&#xff08;从公式角度解释为什么语义通信的信道容量可以高于传统通信的信道容量&#xff09; 离散无记忆信道的语义信道容量表示为&#xff1a; Cssup⁡p(Z∣X){I(X;V)−H(Z∣X)HS(V)‾}C_s\sup _{p(Z \mid X)}\left\{I(X ; V)-H(Z \m…

再识华为云数据库——GaussDB

目录 一、GaussDB: 立足创新与自研&#xff0c;助力企业核心数据安全高效上云 二、GaussDB: 基于华为openGauss开放生态打造的 金融级分布式数据库 三、GaussDB(for MySQL): 基于开源生态打造的企业级自研云原生数据库 四、DRSUGO&#xff1a;数据库结构应用数据一站式迁移…

Vue学习——【第四弹】

前言 上一篇文章 Vue学习——【第三弹】 中我们了解了MVVM模型&#xff0c;这篇文章接着学习Vue中的数据代理。 简单介绍 数据代理就是**一个对象(A)来代理对另一个对象(B)的属性操作(A一定要包含B)。**直接看定义大家可能觉得有些抽象&#xff0c;我们可以用代码来实现。 …

网络编程

网络编程 1.1、概述 计算机网络&#xff1a; 计算机网络是指将地理位置不同的具有独立功能的多台计算机及其外部设备&#xff0c;通过通信线路连接起来&#xff0c;在网络操作系统&#xff0c;网络管理软件及网络通信协议的管理和协调下&#xff0c;实现资源共享和信息传递的计…

第十一节 java中的线程类

java中常见类&#xff1a;字符串类 集合类 异常类 前面讲完了 程序&#xff1a;是含有指令和数据的文件&#xff0c; 被存储在磁盘或其他的数据存储 设备中&#xff0c;也就是说程序是静态的 代码。.c .java文件都放在外存里 获得资源获得CPU执行 这叫进程 程序和进程的…