初识EasyX图形库

news2025/1/16 21:57:27

EasyX图形库

  • 1. EasyX是什么?
  • 2. 入手EasyX
  • 3. EasyX函数介绍
    • 创建和关闭绘图窗口操作
      • initgraph
      • closegraph
    • 设置绘图背景
      • setbkcolor
      • cleardevice
    • 画图形
      • circle
      • fillcircle
      • rectangle
      • fillrectangle
    • 图形颜色及样式设置
      • setfillcolor
      • setlinecolor
      • setbkcolor
      • setbkmode
      • setlinesstyle
    • 文字颜色及样式设置
      • outtextxy
      • settextstyle
    • 文字居中显示
      • textwidth
      • textheight
  • 4. 加载图片
  • 5. 鼠标操作
  • 6. 键盘操作
  • 7. 播放BGM
  • 8. 窗口句柄

1. EasyX是什么?

EasyX 是针对 C/C++ 的图形库,可以帮助使用C/C++语言的程序员快速上手图形和游戏编程。

2. 入手EasyX

包含文件——就可以使用相关图形函数

#include<graphics.h>
#include<easyx.h>

3. EasyX函数介绍

创建和关闭绘图窗口操作

initgraph

这个函数用来初始化绘图窗口

函数声明:
HWND initgraph(
int width,
int height,
int flag = NULL
);

参数:
width:绘图窗口的宽度

height:绘图窗口的高度

flag:绘图窗口的样式,默认为NULL。可为一下值

#define SHOWCONSOLE 1 // Maintain the console window when creating a graphics window
#define NOCLOSE 2 // Disable the close button
#define NOMINIMIZE 4 // Disable the minimize button

返回值:
返回新创建绘图窗口的句柄。

closegraph

关闭绘图窗口

打开和关闭示例:

int main()
{
	initgraph(640, 480, SHOWCONSOLE);

	_getch();
	closegraph();
	return 0;
}

在这里插入图片描述

设置绘图背景

setbkcolor

设置背景函数

cleardevice

使用当前背景色清空绘图设备。

int main()
{
	initgraph(640, 480, SHOWCONSOLE);

	//设置绘图背景
	setbkcolor(WHITE);
	cleardevice();


	_getch();
	closegraph();
	return 0;
}

在这里插入图片描述

画图形

circle

用于画无填充的圆。默认边框为白色

void circle(
int x,
int y,
int radius//半径
);

fillcircle

画有边框的填充圆。默认填充的颜色为白色

void fillcircle(
int x,
int y,
int radius
);

rectangle

用于画无填充的矩形。

void rectangle(
int left,//左边x
int top,//上边y
int right,//右边x
int bottom//下边y
);

fillrectangle

用于画有边框的填充矩形。

void fillrectangle(
int left,
int top,
int right,
int bottom
);

图形颜色及样式设置

setfillcolor

设置填充颜色

setlinecolor

在这里插入图片描述

setbkcolor

在这里插入图片描述

setbkmode

在这里插入图片描述

setlinesstyle

在这里插入图片描述
在这里插入图片描述

文字颜色及样式设置

outtextxy

在这里插入图片描述
在这里插入图片描述

settextstyle

在这里插入图片描述

文字居中显示

textwidth

获取字体像素的宽

textheight

获取字体像素的高

在这里插入图片描述
在这里插入图片描述

4. 加载图片

在这里插入图片描述

5. 鼠标操作

在这里插入图片描述

6. 键盘操作

在这里插入图片描述
在这里插入图片描述

7. 播放BGM

在这里插入图片描述

8. 窗口句柄

在这里插入图片描述

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

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

相关文章

计算物理专题:有限差分法解决本征值问题

计算物理专题&#xff1a;有限差分法解决本征值问题 定态薛定谔方程差分形式 一维定态薛定谔方程 谐振子 解法代码 import numpy as np def householder(symmetric_matrix):M symmetric_matrixassert np.allclose(M,M.T),"matrix is not symmetric"N len(M)for …

chatgpt赋能python:用Python分析电影评分数据

用Python分析电影评分数据 Python是一种流行的数据分析和可视化工具&#xff0c;它可以让我们更深入地了解电影的评分数据。在本文中&#xff0c;我们将使用Python来分析一些电影评分数据&#xff0c;并试图找出一些有趣的模式和趋势。 数据来源 我们将使用公共数据集IMDb电…

第4章 网络层

1‌、下列关于路由算法描述错误的是&#xff08; &#xff09; A. 链路状态算法是一种全局路由算法&#xff0c;每个路由器需要维护全局状态信息B. OSPF 是一种域内路由协议&#xff0c;核心是基于 Dijkstra 最低费用路径算法C. RIP 是一种域内路由算法&#xff0c;核心是基…

采用SqlSugar的DBFirst相关功能创建数据库表对应的实体类

.NET Core官方教程中推荐使用的EF Core数据库ORM框架虽然能用&#xff0c;但是用起来并不是太方便&#xff08;或者是不习惯&#xff0c;之前用的最多的还是linq&#xff09;。之前下载的开源博客项目中使用的SqlSugar&#xff0c;后者是由果糖大数据科技团队维护和更新 &#…

基于WebAssembly构建Web端音视频通话引擎

Web技术在发展&#xff0c;音视频通话需求在演进&#xff0c;怎么去实现新的Web技术点在实际应用中的值&#xff0c;以及给我们带来更大的收益是需要我们去探索和实践的。LiveVideoStackCon 2022北京站邀请到田建华为我们从实践中来介绍WebAssembly、WebCodecs、WebTransport等…

【裸机开发】IRQ 中断服务函数(一) —— 汇编初始化

IRQ 和前面的Reset 函数不大一样&#xff0c;当一个IRQ中断产生时&#xff0c;我们也不知道这个IRQ中断来自哪个外设&#xff0c;因此&#xff0c;需要先获取到中断ID&#xff0c;随后才会跳转到真正的中断服务函数执行处理逻辑。 整个 IRQ 中断处理可以看做是包含了两个部分&…

MySQL 自增主键一定是连续的吗?

众所周知&#xff0c;自增主键可以让聚集索引尽量地保持递增顺序插入&#xff0c;避免了随机查询&#xff0c;从而提高了查询效率 但实际上&#xff0c;MySQL 的自增主键并不能保证一定是连续递增的。 下面举个例子来看下&#xff0c;如下所示创建一张表&#xff1a; 自增值保…

ORCA优化器浅析——GP数据库调用优化器流程

首先我们需要看CGPOptimizer类(src/include/gpopt/CGPOptimizer.h)为Greenplum数据库提供ORCA优化器export出来的函数的封装。Greenplum数据库主流程调用extern "C"中提供的函数&#xff0c;比如初始化ORCA优化器的函数InitGPOPT&#xff0c;优化查询树的函数GPOPTOp…

springboot+jsp农产品商城宣传网站设计与实现oo6e3

在该在线助农系统设计与实现中&#xff0c;idea能给用户提供更多的方便&#xff0c;其特点一是方便学习&#xff0c;方便快捷&#xff1b;二是有非常大的信息储存量&#xff0c;主要功能是用在对数据库中查询和编程。其功能有比较灵活的数据应用&#xff0c;只需利用小部分代码…

【Leetcode60天带刷】day30回溯算法——332.重新安排行程 , 51. N皇后 ,37. 解数独

​ 题目&#xff1a; 332. 重新安排行程 给你一份航线列表 tickets &#xff0c;其中 tickets[i] [fromi, toi] 表示飞机出发和降落的机场地点。请你对该行程进行重新规划排序。 所有这些机票都属于一个从 JFK&#xff08;肯尼迪国际机场&#xff09;出发的先生&#xff0c;…

【从零开始学习JAVA | 第十四篇】继承

目录 前言&#xff1a; 引入&#xff1a; 继承&#xff1a; 小拓展&#xff1a; 优点&#xff1a; 成员方法的继承问题&#xff1a; 总结&#xff1a; 前言&#xff1a; 继承是面向对象三大特性之一&#xff0c;它是在封装之后我们讲解的一个重要的性质&#xff0c;继承…

在github上创建个人主页的方法【2023更新版】

01-进入github的网站&#xff0c;链接 https://github.com/ &#xff0c;然后注册&#xff0c;登陆&#xff0c;注意登陆时设置的用户名(username)就是将来你个人主页的三级域名&#xff0c;所以这里一定要慎重填写username。如下图所示&#xff1a; 02-注册完成后进入个人主…

2024考研408-计算机组成原理第四章-指令系统

文章目录 前言一、指令系统现代计算机的结构1.1、指令格式1.1.1、指令的定义1.1.2、指令格式1.1.3、指令—按照地址码数量分类①零地址指令②一地址指令&#xff08;1个操作数、2个操作数情况&#xff09;③二地址指令④三地址指令⑤四地址指令 1.1.4、指令-按照指令长度分类1.…

【计算机组成原理】Yy-z02模型机的硬布线控制器设计

目录 一、Yy-z02模型机的系统结构 二、Yy-z02模型机的数据通路 三、Yy-z02模型机的指令执行 四、Yy-z02模型机的硬布线控制器 一、Yy-z02模型机的系统结构 指令系统的实现 <--- 构造它的硬件系统 硬件系统构造过程&#xff1a; 分析指令格式和各指令的功能确定部件连…

金蝶软件遭遇.locked勒索病毒攻击:如何保护与解救您的数据?

引言&#xff1a; 近期&#xff0c;部分运行金蝶云星空软件的服务器遭受了一场勒索病毒的网络安全攻击&#xff0c;其重要数据遭到了.locked勒索病毒的加密。作为一个知名的企业级ERP软件及财务软件&#xff0c;金蝶软件的数据安全事关客户和企业的利益。91数据恢复在本文将深…

【王道·操作系统】第四章 文件管理【未完】

一、初识文件管理 文件&#xff1a;一组有意义的信息/数据集合文件属性&#xff1a; 文件名&#xff1a;创建文件的用户决定&#xff0c;主要是为了方便用户找到文件&#xff0c;同一目录下不允许有重名文件标识符&#xff1a;一个系统内的各文件标识符唯一&#xff0c;对用户来…

老大给了个新需求:如何将汉字转换成拼音字母?1行Python代码搞定!

大家好&#xff0c;这里是程序员晚枫&#xff0c;小红薯也叫这个名。 之前的视频给大家分享了&#xff1a;中文编程&#xff0c;一行代码实现。 今天给大家分享一下&#xff0c;如何通过1行Python代码&#xff0c;实现汉语转拼音 1、先上代码 实现汉语转拼音效果的第三方库…

逻辑回归(Logistics Regression)

1.逻辑回归&#xff08;Logistics Regression&#xff09; 逻辑回归用于解决二分类问题 1.1 Sigmoid函数 sigmoid函数在神经网络中如何起作用&#xff1f;详见本人笔记&#xff1a;机器学习和AI底层逻辑 复杂非线性分类->多个线段->每个线段是叠加而来的->sigmoid函…

计算机视觉 + Self-Supervised Learning 五种算法原理解析

计算机视觉领域下自监督学习方法原理 导语为什么在计算机视觉领域中进行自我监督学习&#xff1f; 自监督学习方法Generative methodsBEiT 架构 Predictive methodsContrastive methodsBootstraping methodsSimply Extra Regularization methods 导语 自监督学习是一种机器学习…

Web服务器群集:Nginx网页及安全优化

目录 一、理论 1.Nginx网页优化 2.Nginx安全优化 3.Nginx日志分割 二、实验 1.网页压缩 2.网页缓存 3.连接超时设置 4.并发设置 5.隐藏版本信息 6.脚本实现每月1号进行日志分割 7.防盗链 三、总结 一、理论 1.Nginx网页优化 &#xff08;1&#xff09;概述 在企…