Easyx的学习1

news2024/10/6 12:31:49

使用easys的相关函数需要包含头文件#include<easyx.h>或#include<graphics.h>(#include<graphics.h>包含了<easyx.h>和一些不推荐使用的函数)

目录

窗口创建+背景颜色

 基本图形绘制

1.点

 2.线

3.矩形

 圆角矩形

4. 圆形

 椭圆


窗口创建+背景颜色

1.创建一个图形窗口函数:initgraph:(含有2个参数:宽度,高度)

2.设置窗口的颜色使用:setbkcolor:(含有1个参数:颜色)

3.用设置的背景颜色填充整个窗口:cleardevice()(无参数)(缺少第3步窗口颜色不会改变)

#include<stdio.h>
#include<easyx.h>
int main()
{
	//创建一个图形窗口函数 宽度+高度
	initgraph(640, 480);

	//设置窗口的颜色使用:setbkcolor
	setbkcolor(WHITE);

	//用设置的背景颜色填充整个窗口
	cleardevice();

	//防止程序退出
	Sleep(10000);

	return 0;
}

运行后如下:

出现了一个界面窗口颜色为白色,可以设置其他的颜色

 

 基本图形绘制

1.点

使用:putpixel函数(3个参数:x坐标,y坐标,点的颜色)

 2.线

1.使用:line函数(4个参数:起点的x1坐标,起点的y1坐标,终点的x2坐标,终点的y2坐标)

2.设置线条的颜色使用:setlinecolor函数(1个参数:线条的颜色)

3.设置线条的样式使用:setlinestyle函数(4个参数只用前两个:线条的样式如:(PS_SOLID)PS表示pen style,线的宽度)

3.矩形

1.无填充矩形(中间空的)使用:rectangle函数(4个参数:左上方的x1坐标,左上方的y1坐标,右下方的x2坐标,右下方的y2坐标)

2.有填充矩形(默认白色)使用fillrectangle函数,参数同上

3.无边框有填充矩形(默认白色)使用solidrectangle函数,参数同上

4.对于有填充矩形无边框有填充矩形想修改内部颜色使用setfillcolor函数(1个参数:填充的颜色)

5.对于边框的线的颜色改变同对线的颜色改变方法一样使用setlinecolor函数

 圆角矩形

绘制一个圆角矩形,6个参数,前4个同矩形一样,后面两个控制边角的弧度,越大越接近圆

roundrect(160, 0, 210, 50, 20, 20);//无填充圆角矩形
fillroundrect(160, 50, 210, 100, 20, 20);//有填充圆角矩形
solidroundrect(160, 100, 210, 150, 20, 20);//无边框有填充圆角矩形

 4.圆形

绘制一个圆形使用circle函数:3个参数(圆心的x坐标,圆心的y坐标,圆的半径)

circle(50, 50, 40);//无填充圆形
fillcircle(50, 150, 40); //有填充圆形
solidcircle(50, 250, 40);//无边框有填充圆形

对于圆形内部的颜色和边框线的颜色同矩形使用的函数一样内部颜色使用setfillcolor函数和setlinecolor函数

 

 椭圆

4个参数表示矩形(左上方的x1坐标,左上方的y1坐标,右下方的x2坐标,右下方的y2坐标)

显示的椭圆为矩形的内接椭圆

ellipse(230, 0, 230 + 50, 100);//无填充椭圆
fillellipse(230, 110, 230 + 50, 210);//有填充椭圆
solidellipse(230, 220, 230 + 50, 320);//无边框有填充椭圆

对于椭圆内部的颜色和边框线的颜色同矩形使用的函数一样内部颜色使用setfillcolor函数和setlinecolor函数

 

 上述所有过程总代码如下:

#include<stdio.h>
#include<easyx.h>
void drawshape()
{
	//窗口的坐标体系:窗口的左上方是原点,x轴向右增大,y轴向下增大


	//绘制一个点
	//使用:putpixel函数(3个参数:x坐标,y坐标,点的颜色)
	putpixel(50, 50, RED);//红色



	//设置线条的颜色
	//使用:setlinecolor函数(1个参数:线条的颜色)
	setlinecolor(RED);

	//设置线条的样式
	//使用:setlinestyle函数(4个参数只用前两个:线条的样式如:(PS_SOLID)PS表示pen style,线的宽度)
	setlinestyle(PS_SOLID, 2);
	
	//绘制一条线
	//使用:line函数(4个参数:起点的x1坐标,起点的y1坐标,终点的x2坐标,终点的y2坐标)
	line(0, 0, getwidth(), getheight());//getwidth()获取窗口的宽度(x),getheight()获取窗口的高度(y)



	//绘制一个矩形
	//无填充矩形(中间空的)使用:rectangle函数(4个参数:左上方的x1坐标,左上方的y1坐标,右下方的x2坐标,右下方的y2坐标)
	rectangle(100, 0, 150, 50);
	
	//设置填充颜色
	//使用:setfillcolor函数(1个参数:填充的颜色)
	setfillcolor(YELLOW);

	//有填充矩形(默认白色),参数同上
	fillrectangle(100, 60, 150, 110);

	//无边框有填充矩形(默认白色),参数同上
	solidrectangle(100, 120, 150, 170);


	//绘制一个圆角矩形
	//6个参数,前4个同矩形一样,后面两个控制边角的弧度,越大越接近圆
	roundrect(160, 0, 210, 50, 20, 20);//无填充圆角矩形
	fillroundrect(160, 60, 210, 110, 20, 20);//有填充圆角矩形
	solidroundrect(160, 120, 210, 170, 20, 20);//无边框有填充圆角矩形



	//绘制一个圆形
	//circle函数:3个参数(圆心的x坐标,圆心的y坐标,圆的半径)
	circle(50, 50, 40);//无填充圆形
	fillcircle(50, 150, 40); //有填充圆形
	solidcircle(50, 250, 40);//无边框有填充圆形


	//椭圆
	//4个参数表示矩形(左上方的x1坐标,左上方的y1坐标,右下方的x2坐标,右下方的y2坐标)
	//显示的椭圆为矩形的内接椭圆
	ellipse(230, 0, 230 + 50, 100);//无填充椭圆
	fillellipse(230, 110, 230 + 50, 210);//有填充椭圆
	solidellipse(230, 220, 230 + 50, 320);//无边框有填充椭圆
}
int main()
{
	//创建一个图形窗口函数 宽度+高度
	initgraph(640, 480);

	//设置窗口的颜色使用:setbkcolor
	setbkcolor(WHITE);//RGB三原色

	//用设置的背景颜色填充整个窗口
	cleardevice();

	drawshape();

	//防止程序退出
	Sleep(10000);

	return 0;
}

运行结果如下:

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

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

相关文章

一文彻底搞懂Java对象什么时候被垃圾器回收

文章目录 1. 简介2. 引用计数法2.1 优点2.2 缺点 3. 可达性分析算法3.1 虚拟机栈&#xff08;栈帧中的本地变量表&#xff09;中引用的对象3.2 方法区中静态属性引用的对象3.3 方法区中常量引用的对象3.4 本地方法栈中 JNI&#xff08;即一般说的 Native 方法&#xff09;引用的…

Day23--learning English

一、积累 1.straw 2.umami | tangy | bland 3.lactose dairy 4.fatigue 5.stumble | curb 6.pore 7.toll 8.arrear 9.robe 10.stylish 11.dash 12.mischief 13.ranch 14.sponsorship 15.podcast 16.villian 17.clutch 18.envision 二、练习 1.牛津原译 1.straw /strɔː/ 1…

ngnix网站服务详解

一 Nginx的简介 1 Nginx&#xff1a; ①Nginx 是开源、高性能、高可靠的 Web 和反向代理服务器&#xff0c;而且支持热部署&#xff0c;几乎可以做到 7 * 24 小时不间断运行&#xff0c;即使运行几个月也不需要重新启动&#xff0c;还能在不间断服务的情况下对软件版本进行热…

11 个适用于 Windows电脑的最佳免费录制屏幕软件(2024)

屏幕录制软件可让您捕获屏幕以与他人共享并创建与产品相关的视频、教程、课程、演示、网络视频等。该软件使您能够从网络摄像头和屏幕录制视频。 11 个适用于 Windows电脑的最佳免费屏幕录像机 以下是精心挑选的顶级屏幕录像机列表&#xff0c;及其受欢迎的功能和网站链接。该…

Spring Boot与Feign:微服务架构下的优雅通信

1. 前言 本文将详细介绍在Spring Boot框架中如何使用Feign进行微服务之间的优雅通信。我们将从Feign的基本原理讲起&#xff0c;然后逐步展开使用Feign的完整流程和步骤&#xff0c;包括代码示例和详细注释。通过本文&#xff0c;读者将能够轻松掌握Feign在Spring Boot微服务架…

为什么发明个红黑树,这么设计的意义是什么?

1、红黑树是一种自平衡二叉树&#xff0c;查找时算法时间复杂度为O(log n)。 2、 假设你计算机里存有十亿个身份证信息&#xff0c;你要用计算机在这些身份证信息里进行增加、删除、查找等操作&#xff0c;应该怎样设计程序实现这些功能&#xff1f; 最简单的笨办法&#xf…

基于JAVA的智慧社区业务综合平台 开源项目

目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 业务类型模块2.2 基础业务模块2.3 预约业务模块2.4 反馈管理模块2.5 社区新闻模块 三、系统设计3.1 用例设计3.2 数据库设计3.2.1 业务类型表3.2.2 基础业务表3.2.3 预约业务表3.2.4 反馈表3.2.5 社区新闻表 四、系统展…

超详细shell脚本小练...

1 、判断当前磁盘剩余空间是否有30G&#xff0c;如果小于30G&#xff0c;则将报警邮件发送给管理员&#xff0c;每天检查-次磁盘剩余空间。 1.1.安装邮件服务 [rootnode ~]# df -m 文件系统 1M-块 已用 可用 已用% 挂载点 devtmpfs 7…

el-button 选择与非选择按钮批量处理

el-button 选择与非选择按钮批量处理 <el-button v-for"(voyage,i) in data[voyages][nowVoyage]":key"i"class"c-work-bts"type"primary":plain"nowWorkSpace!i"click"chooseWorkSpace(i)"size"small&qu…

week04day01(爬虫)

一. 爬虫 只爬取公开的信息&#xff0c;不能爬取未公开的后台数据 1.爬虫的合法性 法无禁止皆可为 -- 属于法律的灰色地带https://www.tencent.com/robots.txt -- 网站/robots.txt 可以查看禁止爬取的内容 2. URL Uniform Resource Locator 统一资源定位符https://www.…

小程序红包服务端请求一直是签名错误如何解决

当小程序红包服务端请求一直显示签名错误时&#xff0c;这可能是由于多种原因导致的&#xff0c;包括密钥错误、参数错误、签名算法错误、时间戳问题以及网络请求问题等。解决这个问题需要细心检查和分析&#xff0c;下面将简单的介绍一下如何针对这些可能的原因进行排查和解决…

获批上市:国产新一代长期型超小人工心脏

文章来源&#xff1a;心未来&#xff1b;编辑&#xff1a;白晓菲 近日&#xff0c;重庆永仁心医疗器械有限公司&#xff08;简称&#xff1a;"永仁心医疗"&#xff09;的新一代人工心脏产品EVA-Pulsar™左心室辅助装置正式获得NMPA医疗器械注册证&#xff0c;成为国…

【C语言】面试常考----- 内存函数memcpy和memmove的功能区别与模拟实现

1.memcpy 功能&#xff1a;把source指向的前num个字节内容拷贝到destination指向的位置去&#xff0c;可以拷贝任意类型的数据。 注&#xff1a;1.memcpy并不关心\0&#xff0c;毕竟传的也不一定是字符串&#xff0c;因此拷贝过程中遇到\0也不会停下来。 2.num的单位是字节&a…

(二十)springboot实战——springboot使用redis的订阅发布机制结合SSE实现站内信的功能

前言 在前面的章节内容中&#xff0c;我们介绍了如何使用springboot项目实现基于redis订阅发布机制实现消息的收发&#xff0c;同时也介绍了基于SSE机制的单通道消息推送案例&#xff0c;本节内容结合redis和sse实现一个常用的实战案例——站内信。实现系统消息的实时推送。 …

【C++】 类与对象——流操作符重载,const成员函数

类与对象 流操作符重载1 << 重载2 >> 重载 const 修饰Thanks♪(&#xff65;ω&#xff65;)&#xff89;谢谢阅读&#xff01;&#xff01;&#xff01;下一篇文章见&#xff01;&#xff01;&#xff01; 流操作符重载 流操作符功能<<输出操作符>>输…

2024 AI 大模型全栈开发知识体系【LLM 技术栈】

2023 年最火的一件事莫过于以 ChatGPT 为代表的 AI 大模型的兴起与应用探索&#xff0c;这一年大模型领域可以说是百花齐放&#xff0c;很多人都惊叹其在各行各业带来的影响。 有很多人说&#xff0c;AI 相对于当年的区块链、元宇宙有过之而无不及。 甚至于 2024 年 sora 的推出…

Python学习-列表1

十二、列表1 1、创建列表及基本运算 1&#xff09;使用中括号&#xff0c;将所有准备放入列表中的元素&#xff0c;包裹起来&#xff0c;不同元素之间使用逗号分隔。 举例&#xff1a; [1,2,3,4,5]2&#xff09;列表可以容纳不同类型的数据。 举例&#xff1a; [1,2,3,4,5,…

ETL快速拉取物流信息

我国作为世界第一的物流大国&#xff0c;但是在目前的物流信息系统还存在着几大的痛点。主要包括以下几个方面&#xff1a; 数据孤岛&#xff1a;有些物流企业各个部门之间的数据标准不一致&#xff0c;难以实现数据共享和协同&#xff0c;容易导致信息孤岛。 操作繁琐&#x…

【论文阅读】【yolo系列】YOLO-Pose的论文阅读

Abstract 我们介绍YOLO-pose&#xff0c;一种无热图联合检测的新方法&#xff0c;基于流行的YOLO目标检测框架的图像二维多人姿态估计。 【现有方法的问题】现有的基于热图的两阶段方法是次优的&#xff0c;因为它们不是端到端可训练的&#xff0c;训练依赖于surrogate L1 loss…

常用的消息中间件RabbitMQ

目录 一、消息中间件 1、简介 2、作用 3、两种模式 1、P2P模式 2、Pub/Sub模式 4、常用中间件介绍与对比 1、Kafka 2、RabbitMQ 3、RocketMQ RabbitMQ和Kafka的区别 二、RabbiMQ集群 RabbiMQ特点 RabbitMQ模式⼤概分为以下三种: 集群中的基本概念&#xff1a; 集…