当前位置: 首页 > news >正文

图形库 EasyX - EasyX 初识(EasyX 概述、EasyX 下载与安装、打开一个窗口、打开一个彩色窗口、绘制简易图形、输出文字)

一、EasyX 概述

  1. EasyX 是一款专为 C++ 开发者设计的轻量级图形库,主要面向 Windows 平台,它有如下特点

  2. EasyX 的 API 设计简洁直观,易学易用,绘图效果所见即所得


二、EasyX 下载与安装

1、EasyX 下载
  • 官方网址:https://easyx.cn/
2、EasyX 安装
3、EasyX 验证安装
  • 新建项目,包含 graphics.h 头文件,不报错即安装成功
#include <graphics.h>int main()
{return 0;
}

三、打开一个窗口

1、具体实现
#include <graphics.h>
#include <conio.h>int main()
{initgraph(640, 480);_getch();closegraph();return 0;
}
  1. initgraph()graphics.h 提供的函数,用于创建窗口

  2. getch()conio.h 提供的函数,它会暂停程序,直到用户按下任意键,这样窗口就不会立即关闭

  3. closegraph()graphics.h 提供的函数,用于关闭窗口

2、注意事项
  • 如果代码写成如下形式,窗口创建后,程序就会立即退出
#include <graphics.h>
#include <conio.h>int main()
{initgraph(640, 480);return 0;
}
  1. initgraph() 创建了窗口,但程序继续执行到 return 0;,导致主函数结束,窗口被关闭

  2. 图形程序通常需要事件循环或等待用户输入,否则窗口会一闪而过


四、打开一个彩色窗口

1、具体实现
#include <graphics.h>
#include <conio.h>int main()
{initgraph(640, 480);setbkcolor(RGB(135, 206, 235));cleardevice();_getch();closegraph();return 0;
}
2、注意事项
  • 如果代码写成如下形式,打开的还是一个黑色窗口
#include <graphics.h>
#include <conio.h>int main()
{initgraph(640, 480);setbkcolor(RGB(135, 206, 235));_getch();closegraph();return 0;
}
  1. setbkcolor() 只是设置背景色,并不会立即改变当前屏幕颜色

  2. setbkcolor() 影响的是后续调用清屏函数 cleardevice() 时的填充颜色

  3. 必须先 setbkcolor() 设置颜色,然后 cleardevice() 应用颜色

  4. 简单来说,setbkcolor() 是改变了清屏时使用的颜色,要真正看到效果,必须配合 cleardevice() 使用


五、绘制简易图形

1、绘制矩形
#include <graphics.h>
#include <conio.h>int main()
{initgraph(640, 480);setbkcolor(RGB(135, 206, 235));cleardevice();setlinecolor(RGB(255, 0, 0));setfillcolor(RGB(0, 255, 0));fillrectangle(100, 100, 300, 300);_getch();closegraph();return 0;
}
  1. setlinecolor() 用于设置图形线条颜色

  2. setfillcolor() 用于设置图形填充颜色

  3. fillrectangle() 用于绘制一个矩形,它的 4 个参数分别是,矩形左上角 x 坐标、矩形左上角 y 坐标、矩形右下角 x 坐标、矩形右下角 y 坐标

2、绘制圆形
#include <graphics.h>
#include <conio.h>int main()
{initgraph(640, 480);setbkcolor(RGB(135, 206, 235));cleardevice();setlinecolor(RGB(255, 0, 0));setfillcolor(RGB(0, 255, 0));fillcircle(400, 200, 100);_getch();closegraph();return 0;
}
  • fillcircle() 用于绘制一个矩形,它的 3 个参数分别是,圆心的x坐标、圆心的y坐标、圆的半径

六、输出文字

#include <graphics.h>
#include <conio.h>int main()
{initgraph(640, 480);setbkcolor(RGB(135, 206, 235));cleardevice();settextcolor(RGB(0, 0, 255));settextstyle(30, 0, _T("宋体"));outtextxy(200, 400, _T("Hello World"));_getch();closegraph();return 0;
}
  1. settextcolor() 用于设置文字颜色

  2. settextstyle() 用于设置文字样式,它的 3 个参数分别是,字体高度、字体宽度、字体名称

  3. outtextxy() 用于输出文字,它的 3 个参数分别是,文字左上角的 x 坐标、文字左上角的y坐标、文字内容

相关文章:

图形库 EasyX - EasyX 初识(EasyX 概述、EasyX 下载与安装、打开一个窗口、打开一个彩色窗口、绘制简易图形、输出文字)

一、EasyX 概述 EasyX 是一款专为 C 开发者设计的轻量级图形库&#xff0c;主要面向 Windows 平台&#xff0c;它有如下特点 EasyX 的 API 设计简洁直观&#xff0c;易学易用&#xff0c;绘图效果所见即所得 二、EasyX 下载与安装 1、EasyX 下载 官方网址&#xff1a;https…...

《深度探秘:SQL助力经典Apriori算法实现》

在数据的广袤世界里&#xff0c;隐藏着无数有价值的信息&#xff0c;等待着我们去挖掘和发现。关联规则挖掘算法&#xff0c;作为数据挖掘领域的关键技术&#xff0c;能够从海量数据中找出事物之间潜在的关联关系&#xff0c;为商业决策、学术研究等诸多领域提供有力支撑。其中…...

AVR128单片机红外遥控8*8LED点阵屏显示

1&#xff09;将接收到的红外解码信号用LCD液晶显示屏显示。 2&#xff09;将接收到的5种红外解码信号分别控制88的液晶点阵屏MATRIX-88-GREEN (颜色可以自定)进行不同的显示&#xff1a;整行从上到下、从下到上轮流显示&#xff1b;整列从左到右、从右到左轮流显示&#xff1b…...

前端Uniapp接入UviewPlus详细教程!!!

相信大家在引入UviewPlusUI时遇到很头疼的问题&#xff0c;那就是明明自己是按照官网教程一步一步的走&#xff0c;为什么到处都是bug呢&#xff1f;今天我一定要把这个让人头疼的问题解决了&#xff01; 1.查看插件市场 重点&#xff1a; 我们打开Dcloud插件市场搜素uviewPl…...

【c++深入系列】:类与对象详解(中)

&#x1f525; 本文专栏&#xff1a;c &#x1f338;作者主页&#xff1a;努力努力再努力wz &#x1f4aa; 今日博客励志语录&#xff1a; 不是因为看到希望才坚持&#xff0c;而是坚持了才能看到希望 那么上一篇博客我讲解了什么是类和对象以及类和对象是怎么定义的&#xff0…...

【Linux】远程登录时,使用图形界面报错:MoTTY X11 proxy: Unsupported authorisation protocol

1、问题描述 使用 MobaXterm 远程登录Ubuntu后,使用sudo权限运行图形界面程序报错: MoTTY X11 proxy: Unsupported authorisation protocol (gpartedbin:10518): Gtk-WARNING **: 22:01:34.377: cannot open display: localhost:10.02、查看SSH配置 修改 SSH 服务端配置,…...

作用域与上下文:JavaScript魔法森林探秘

在JavaScript的魔法森林里&#xff0c;作用域和上下文是两位神秘的守护者&#xff0c;它们掌控着代码的逻辑流向和变量的生杀大权。今天&#xff0c;就让我们一起踏入这片神奇的土地&#xff0c;揭开全局作用域、函数作用域和闭包的神秘面纱&#xff0c;看它们如何影响我们的代…...

虚拟电商-话费充值业务(五)充值成功逻辑和网络异常重试逻辑

一、网络异常重试逻辑编写 如果在对接供应商的过程中出现了网络异常&#xff0c;我们需要做一个补偿机制&#xff0c;在任务类型枚举类&#xff1a;TaskTypeEnum中有一种业务状态码是针对远程调用失败的 步骤一&#xff1a;在对接供应商的方法&#xff1a;SupplierServiceImp…...

42.评论日记

怎么看待算命&#xff1f; 我能算到你今晚睡觉前会上一次厕所。 你可以选择相信我算的内容&#xff0c;也可以不信。 你也可以有感觉要上厕所的时候不去拉兜里。 也可以选择相信&#xff0c;早早的拿好纸做准备。 你今晚可能不止上一次&#xff0c;也可能今晚没吃没喝早早…...

MTK-GMS版本国内WIFI受限问题

MTK-GMS版本国内WIFI受限问题解决 文章目录 问题参考资料解决方案方案一 修改配置坑点 方案二 直接修改属性 问题 最近负责ROOM 产品&#xff0c;出现WIFI受限显示&#xff0c;但是网络是通畅的。 GMS 版本&#xff0c;在国外或者国内翻墙网络不会出现WIFI受限显示问题&#…...

C# System.Text.Json 中 JsonConverter 使用详解

总目录 前言 在 C# 开发中&#xff0c;System.Text.Json 是一个高性能的 JSON 处理库&#xff0c;广泛用于序列化和反序列化对象。当默认的序列化行为无法满足需求时&#xff0c;JsonConverter 提供了强大的自定义能力。本文将详细讲解 JsonConverter 的使用方法&#xff0c;帮…...

Leetcode 857 -- 贪心 | 数学

题目描述 雇佣 K 名工人的最低成本 思路 参考官方题解和这里。 代码1&#xff08;正确&#xff09; class Solution { public:double mincostToHireWorkers(vector<int>& quality, vector<int>& wage, int k) {int n wage.size();double res 0, totalq …...

基于 SpringBoot 的社区维修平台

收藏关注不迷路&#xff01;&#xff01; &#x1f31f;文末获取源码数据库&#x1f31f; 感兴趣的可以先收藏起来&#xff0c;还有大家在毕设选题&#xff08;免费咨询指导选题&#xff09;&#xff0c;项目以及论文编写等相关问题都可以给我留言咨询&#xff0c;希望帮助更多…...

maven项目添加第三方JAR包

项目开发过程中&#xff0c;不可避免的需要用到一些maven库&#xff08;公共库、司库等&#xff09;中没有的冷门jar包依赖&#xff0c;这时&#xff0c;可以将这些第三方JAR包安装到本地maven仓库中&#xff0c;实现项目依赖的一致性。具体步骤如下&#xff1a; 1、下载jar包 …...

C#:接口(interface)

目录 接口的核心是什么&#xff1f; 1. 什么是接口&#xff08;Interface&#xff09;&#xff0c;为什么要用它&#xff1f; 2. 如何定义和使用接口&#xff1f; 3.什么是引用接口&#xff1f; 如何“引用接口”&#xff1f; “引用接口”的关键点 4. 接口与抽象类的区…...

c#和c++脚本解释器科学运算

说明&#xff1a; 我希望用c#和c写一个脚本解释器&#xff0c;用于科学运算 效果图&#xff1a; step1: c# C:\Users\wangrusheng\RiderProjects\WinFormsApp3\WinFormsApp3\Form1.cs using System; using System.Collections.Generic; using System.Data; using System.Tex…...

2025年嵌入式大厂春招高频面试真题及解析

以下是 2025 年嵌入式大厂春招高频面试真题及解析,结合真题分类和核心知识点整理: 一、‌C/C++编程基础‌ ‌1.1 指针与内存‌ ‌野指针的成因及避免方法‌(未初始化、释放后未置空)‌ malloc与calloc的区别(后者自动初始化为0)‌ ‌指针与数组的区别‌(内存分配方…...

【C++】nlohmann::json 配置加载技术实践:从基础到高级应用

一、nlohmann::json 库概况与核心特性 nlohmann::json 是 C 社区最受欢迎的 JSON 库之一&#xff0c;其设计理念简洁即美&#xff0c;通过单头文件实现完整的 JSON 解析、序列化和操作功能。 1.1 基本特性 nlohmann::json是一个现代C编写的开源JSON库&#xff0c;采用MIT协议…...

ngx_regex_init

定义在 src\core\ngx_regex.c void ngx_regex_init(void) { #if !(NGX_PCRE2)pcre_malloc ngx_regex_malloc;pcre_free ngx_regex_free; #endif } NGX_PCRE21 #if !(NGX_PCRE2) 就为假 条件不成立 ngx_regex_init 函数就成了空实现 NGX_PCRE2 被定义&#xff0c;则表示 Ngin…...

【前端扫盲】postman介绍及使用

Postman 是一款专为 API 开发与测试设计的 全流程协作工具&#xff0c;程序员可通过它高效完成接口调试、自动化测试、文档管理等工作。以下是针对程序员的核心功能介绍和应用场景说明&#xff1a; 一、核心功能亮点 接口请求构建与调试 支持所有 HTTP 方法&#xff08;GET/POS…...

Lua中os模块函数使用详解

目录 os.clock()os.date([format [, time]])os.difftime(t2, t1)os.execute(command)os.exit([code [, close]])os.getenv(varname)os.remove(filename)os.rename(oldname, newname)os.setlocale(locale [, category])os.time([table])os.tmpname()总结 以下是 Lua 中 os 模块的…...

量子计算与经典计算的拉锯战:一场关于计算未来的辩论

在计算科学领域&#xff0c;一场关于未来的激烈辩论正在上演。2025年3月&#xff0c;D-Wave量子公司的研究人员在《Science》杂志上发表了一项突破性成果&#xff0c;声称他们的量子退火处理器在几分钟内解决了一个经典超级计算机需要数百万年才能完成的复杂现实问题。这一声明…...

MySQL 基础入门

写在前面 关于MySQL的下载安装和其图形化软件Navicat的下载安装,网上已经有了很多的教程,这里就不再赘述了,本文主要是介绍了关于MySQL数据库的基础知识。 MySQL数据库 MySQL数据库基础 MySQL数据库概念 MySQL 数据库&#xff1a; 是一个关系型数据库管理系统 。 支持SQL语…...

GPT模型搭建

GPT模型搭建 1. 章节介绍 本章节聚焦于从0搭建GPT模型&#xff0c;通过事先准备的基础代码&#xff0c;引导学习者逐步构建模型。旨在让程序员、软件架构师和工程师等掌握GPT模型搭建的核心流程&#xff0c;理解其关键组件与技术细节&#xff0c;为实际应用和面试做好准备。 …...

BUUCTF-web刷题篇(8)

17.EasyCalcS 查看源码&#xff0c;发现有段代码有php文件&#xff0c;即calc.php 经过代码审计之后应该要访问calc.php文件&#xff0c;打开后&#xff1a; <?php error_reporting(0); if(!isset($_GET[num])){show_source(__FILE__); }else{$str $_GET[num];$blackli…...

AI SEO内容优化指南:如何打造AI平台青睐的高质量内容

AI SEO内容优化指南&#xff1a;如何打造AI平台青睐的高质量内容 在生成式AI平台&#xff08;如DeepSeek、Kimi、豆包、腾讯元宝等&#xff09;主导的搜索新时代&#xff0c;内容优化已成为企业抢占流量入口的核心策略。本文将从内容创作、分发到效果维护全链路&#xff0c;解…...

无需预对齐即可消除批次效应,东京大学团队开发深度学习框架STAIG,揭示肿瘤微环境中的详细基因信息

生物组织是由多种类型细胞构成的复杂网络&#xff0c;这些细胞通过特定的空间配置执行重要功能。近年来&#xff0c;10x Visium、Slide-seq、Stereo-seq 和 STARmap 等空间转录组学 (ST) 技术的进步&#xff0c;使得生物学家们能够在空间结构内绘制基因数据&#xff0c;从而各类…...

B2B2C多用户商城系统:打造新零售电商生态的创新解决方案

在当今数字化时代&#xff0c;电商行业正以前所未有的速度蓬勃发展&#xff0c;而新零售作为电商与传统零售的深度融合&#xff0c;正逐渐成为市场的新宠。为了满足这一变革带来的多元化需求&#xff0c;B2B2C多用户商城系统应运而生&#xff0c;为商家和消费者搭建了一个高效、…...

走向多模态AI之路(二):多模态 AI 如何工作?

目录 前言一、跨模态对齐&#xff08;Cross-modal Alignment&#xff09;&#xff1a;AI 如何理解不同模态的关系二、多模态融合&#xff08;Multimodal Fusion&#xff09;&#xff1a;AI 如何整合不同模态的信息三、多模态生成&#xff08;Multimodal Generation&#xff09;…...

MCP 实战:实现server端,并在cline调用

本文动手实现一个简单的MCP服务端的编写&#xff0c;并通过MCP Server 实现成绩查询的调用。 一、配置环境 安装mcp和uv, mcp要求python版本 Python >3.10; pip install mcppip install uv 二、编写并启用服务端 # get_score.py from mcp.server.fastmcp import…...

C#游戏开发【第18天】 | 深入理解队列(Queue)与栈(Stack):从基础到任务队列实战

Langchain系列文章目录 01-玩转LangChain&#xff1a;从模型调用到Prompt模板与输出解析的完整指南 02-玩转 LangChain Memory 模块&#xff1a;四种记忆类型详解及应用场景全覆盖 03-全面掌握 LangChain&#xff1a;从核心链条构建到动态任务分配的实战指南 04-玩转 LangChai…...

2.5路径问题专题:LeetCode 64. 最小路径和

动态规划解决最小路径和问题 1. 题目链接 LeetCode 64. 最小路径和 2. 题目描述 给定一个包含非负整数的 m x n 网格 grid&#xff0c;从网格的左上角出发&#xff0c;每次只能向右或向下移动一步&#xff0c;最终到达右下角。要求找到一条路径&#xff0c;使得路径上的数字…...

办公设备管理系统(springboot+ssm+jsp+maven)

基于springboot的办公设备管理系统(springbootssmjspmaven) 系统功能主要有&#xff1a; 欢迎页账号管理 管理员账号管理系统账号添加密码修改 普通管理员管理 用户管理用户添加用户查询 资产类型管理资产信息管理资产档案管理资产报表...

蓝桥杯2024JavaB组的一道真题的解析

文章目录 1.问题描述2.问题描述3.思路分析4.代码分析 1.问题描述 这个是我很久之前写的一个题目&#xff0c;当时研究了这个题目好久&#xff0c;发布了一篇题解&#xff0c;后来很多人点赞&#xff0c;我都没有意识到这个问题的严重性&#xff0c;我甚至都在怀疑自己&#xf…...

数据库--SQL

SQL&#xff1a;Structured Query Language&#xff0c;结构化查询语言 SQL是用于管理关系型数据库并对其中的数据进行一系列操作&#xff08;包括数据插入、查询、修改删除&#xff09;的一种语言 分类&#xff1a;数据定义语言DDL、数据操纵语言DML、数据控制语言DCL、事务处…...

SQL Server:Log Shipping 说明

目录标题 SQL Server Log Shipping与Oracle归档日志备份对比分析一、SQL Server Log Shipping的日志截断机制二、Oracle归档日志备份对比三、关键配置对比表四、最佳实践建议 如何修改和查看SQL Server默认备份配置防止自动删除&#xff1f;一、查看现有备份配置二、修改备份配…...

Zephyr实时操作系统初步介绍

一、概述 Zephyr是由Linux基金会托管的开源实时操作系统&#xff08;RTOS&#xff09;&#xff0c;专为资源受限的物联网设备设计。其核心特性包括模块化架构、跨平台兼容性、安全性优先以及丰富的连接协议支持。基于Apache 2.0协议&#xff0c;Zephyr允许商业和非商业用途的自…...

【大模型系列篇】大模型基建工程:基于 FastAPI 自动构建 SSE MCP 服务器 —— 进阶篇

&#x1f525;&#x1f525;&#x1f525; 上期 《大模型基建工程&#xff1a;基于 FastAPI 自动构建 SSE MCP 服务器》中我们使用fastapi-mcp自动挂载fastapi到mcp工具&#xff0c;通过源码分析和实践&#xff0c;我们发现每次sse请求又转到了内部fastapi RESTful api接口&…...

深度学习deeplearn3

# Jupyter Notebook魔法命令&#xff0c;用于在Notebook中内联显示图表 %matplotlib inline# 导入NumPy库&#xff0c;用于高效的数值计算 import numpy as np# 从matplotlib_inline库导入backend_inline模块&#xff0c;用于设置图表显示格式 from matplotlib_inline import b…...

(九)图形管线

一图说明问题 顶点数据->顶点着色器->细分着色器->几何着色器->光栅化->片元着色器->颜色混合 创建图形管线函数放在后面位置 void MyApplication::initVulkan() { createInstance(); createSurface(); pickPhysicalDevice(); createLogicalDevice(); cre…...

7-3 逆序的三位数

程序每次读入一个正3位数&#xff0c;然后输出按位逆序的数字。注意&#xff1a;当输入的数字含有结尾的0时&#xff0c;输出不应带有前导的0。比如输入700&#xff0c;输出应该是7。 输入格式&#xff1a; 每个测试是一个3位的正整数。 输出格式&#xff1a; 输出按位逆序…...

git从历史版本创建新分支或标签

git从某个历史版本创建标签 # 查看历史版本 git log git tag tag-v1.0 780e2a7fc714faf388ba71git从某个分支的指定历史版本中创建新分支 # 查看历史版本 git log # 从历史分支创建标签 git checkout -b new-branch 780e2a7fc714faf388ba71...

HTML 音频(Audio)学习笔记

一、HTML 音频概述 在 HTML 中&#xff0c;音频可以通过多种方式播放&#xff0c;但要确保音频在不同浏览器和设备上都能正常播放&#xff0c;需要掌握一些技巧。HTML5 引入了 <audio> 元素&#xff0c;为音频播放提供了一种标准方法&#xff0c;但在 HTML4 中&#xff…...

五种音频器件综合对比——《器件手册--音频器件》

目录 音频器件 简述 1. 扬声器&#xff08;Speakers&#xff09; 2. 麦克风&#xff08;Microphones&#xff09; 3. 放大器&#xff08;Amplifiers&#xff09; 4. 音频接口&#xff08;Audio Interfaces&#xff09; 5. 音频处理器&#xff08;Audio Processors&#xff09…...

数据结构复习(单调栈,单调队列,KMP,manacher,tire,字符串哈希)

单调栈&#xff1a; 介绍&#xff1a; 单调栈用于解决"寻找每个元素左侧/右侧第一个比它小/大的元素"类问题。栈中元素保持单调性&#xff0c;时间复杂度O(n)。 维护一个严格递增栈。对于每个元素a[i]&#xff0c;不断弹出栈顶比a[i]大的元素&#xff0c;剩下的栈顶即…...

(学习总结32)Linux 基础 IO

Linux 基础 IO 一、什么是 " 文件 "二、C 文件接口打开文件写文件读文件其它介绍 三、系统文件 I/O传递标志位系统接口写文件系统接口读文件部分系统调用接口介绍打开文件函数 open关闭文件函数 close写入文件函数 write读取文件函数 read 文件描述符 fdfd 0 & 1…...

操作系统(一):概念及主流系统全分析

目录 一.操作系统是什么 二.操作系统的分类 2.1 按应用场景分类 2.2 按实时性分类 2.3 按内核架构分类 2.4 按用户与任务分类 三.主流操作系统比较 四.未来趋势 一.操作系统是什么 操作系统&#xff08;Operating System, OS&#xff09;是计算机系统的核心软件&#x…...

三、GPIO

一、GPIO简介 GPIO&#xff08;General Purpose Input Output&#xff09;通用输入输出口GPIO引脚电平&#xff1a;0V&#xff08;低电平&#xff09;~3.3V&#xff08;高电平&#xff09;&#xff0c;部分引脚可容忍5V 容忍5V&#xff0c;即部分引脚输入5V的电压&#xff0c;…...

Ceph异地数据同步之-RBD异地同步复制(上)

#作者&#xff1a;闫乾苓 文章目录 前言基于快照的模式&#xff08;Snapshot-based Mode&#xff09;工作原理单向同步配置步骤单向同步复制测试双向同步配置步骤双向同步复制测试 前言 Ceph的RBD&#xff08;RADOS Block Device&#xff09;支持在两个Ceph集群之间进行异步镜…...

fastapi完全离线环境(无外网)的访问Swagger所做特殊处理

在互联网环境中&#xff0c;只要 启动FastAPI 服务运行在本地机器上&#xff0c;访问 http://localhost:8000/docs&#xff08;Swagger UI&#xff09;就可以访问到Swagger界面&#xff0c;但是在完全离线环境&#xff08;无外网&#xff09;下如何访问Swagger页面呢&#xff1…...