EasyX基础内容(和易错的地方)(一)

简介: 注意代码里面的文字,是易错点

注意代码里面的文字,是易错点

安装 EasyX 绘图库: https://easyx.cn

下载好后,头文件得加上 #include<easyx.h>

代码中一定要加上getchar(),否则图片会一闪而过

🚥🚥🚥🚥🚥🚥

⭐1.用initgraph建立的窗口默认是黑色的

用cleardevice()可以改变颜色,用setbkcolor()表示自己想要什么颜色

一定要注意cleardevice()和setbkcolor()的先后顺序

#include<easyx.h>
#include<stdio.h>
#include<graphics.h>
int main()
{
  initgraph(400, 400);
  setbkcolor(RGB(164, 225, 202));//先写setbkcolor()
  cleardevice();                 //后写cleardevice()
  getchar();
  closegraph();
  return 0;
}

结果
image.png

⭐2.画点

putpixel(x, y, WHITE);//x,y是坐标,第三个是颜色

#include<easyx.h>
#include<stdio.h>
#include<graphics.h>
int main()
{
  initgraph(400, 400);
  int x, y;
  for (int i = 0; i <= 400; i ++ )//随机画点
  {
    x = rand() % (400 + 1) - 200;
    y = rand() % (400 + 1) - 200;
    putpixel(x, y, WHITE);
  }
  getchar();
  closegraph();
  return 0;
}

结果

image.png

⭐3.反转坐标   (Code的y坐标与数学里面的是相反的)

setaspectratio(x,y)

使用setaspectratio(1,-1);可以翻转y轴

image.png

⭐4.画线


line(x1,y1,x2,y2);//(x1,y1):起始坐标     (x2,y2):结尾坐标

#include<stdio.h>
#include<easyx.h>
#include<graphics.h>
int main()
{
  initgraph(400, 400);
  line(10, 10, 300, 300);
  getchar();
  closegraph();
  return 0;
}

image.png

⭐5.画圆


circle(x,y,r);//(x,y)是圆心坐标 ,r是半径

默认圆心在(0,0)处,但是可以用setorigin()来改变圆心位置

#include<stdio.h>
#include<easyx.h>
#include<graphics.h>
int main()
{
  initgraph(400, 400);
  setbkcolor(RGB(164, 225, 202));
  cleardevice();
  setorigin(200, 200);
  circle(0, 0, 50);//已经设置了圆心在(200,200)那么circle里面用0,0即可
  getchar();
  closegraph();
  return 0;
}

image.png

如果想画多个同心圆 ,使用for循环即可

#include<stdio.h>
#include<easyx.h>
#include<graphics.h>
int main()
{
  initgraph(400, 400);
  setbkcolor(RGB(164, 225, 202));
  cleardevice();
  setorigin(200, 200);
  for (int r = 0; r <= 300; r += 50)
  {
    circle(0, 0, r);//其实不断扩大半径即可
  }
  getchar();
  closegraph();
  return 0;
}

image.png

⭐6小插曲——为什么会出现坐标是负数


是因为使用了setaspectratio(1,-1);翻转了y轴setorigin()改变了(0,0)的位置

image.png

⭐7.画矩形

rectangle(x1,y1,x2,y2);//(x1,y1)矩形左上角坐标  (x2,y2)矩形右下角坐标

#include<stdio.h>
#include<easyx.h>
#include<graphics.h>
int main()
{
  initgraph(400, 400);
  setbkcolor(RGB(164, 225, 202));
  setaspectratio(1, -1);
  setorigin(200, 200);
  cleardevice();
  rectangle(-50, 50, -150, -150);
  getchar();
  closegraph();
  return 0;
}

image.png

⭐8.画椭圆


ellipse(x1,y1,x2,y2);//(x1,y1)是椭圆外接矩形左上角坐标(x2,y2)是椭圆外接矩形右下角坐标

相当于在椭圆外套了个矩形

image.png

#include<stdio.h>
#include<easyx.h>
#include<graphics.h>
int main()
{
  initgraph(400, 400);
  setbkcolor(RGB(164, 225, 202));
  setaspectratio(1, -1);
  setorigin(200, 200);
  cleardevice();
  ellipse(-50, 50, -150, -150);
  getchar();
  closegraph();
  return 0;
}

image.png

⭐9.画 圆角矩形——顾名思义,就是一个矩形,只是尖角处比较光滑


roundrect(x1,y1,x2,y2,w,h);//x,y与矩形的定义一样,

w,h看图片理解

image.png

#include<stdio.h>
#include<easyx.h>
#include<graphics.h>
int main()
{
  initgraph(400, 400);
  setbkcolor(RGB(164, 225, 202));
  setaspectratio(1, -1);
  setorigin(200, 200);
  cleardevice();
  roundrect(-50, 50, -150, -150,50,50);
  getchar();
  closegraph();
  return 0;
}

image.png

相关文章
|
9月前
|
编译器 C语言
【C语言航路外传】如何隐藏代码及声明和定义的在工程中真正的使用场景
【C语言航路外传】如何隐藏代码及声明和定义的在工程中真正的使用场景
89 1
|
C语言
【C语言】扫雷(包括展开和标记)(二)
【C语言】扫雷(包括展开和标记)(二)
51 0
|
程序员 编译器 C语言
C语言指针理解 --- 代码配合图形讲解内存四区
C语言指针理解 --- 代码配合图形讲解内存四区
66 0
|
3月前
|
前端开发 算法 JavaScript
【新手解答3】深入探索 C 语言:头文件提供必要的接口、源文件保持实现细节的私有性 + 进一步学习的方向 + 如何快速编写程序并最终能制作小游戏
【新手解答3】深入探索 C 语言:头文件提供必要的接口、源文件保持实现细节的私有性 + 进一步学习的方向 + 如何快速编写程序并最终能制作小游戏
107 0
|
10月前
|
前端开发 JavaScript Java
内容管理-易错重难点
项目的模块架构理解 在我们做项目之前首先要对项目的模块结构有一个基本的了解,放一张我做的结构图: 注意点: 我们将依赖版本管理和依赖管理分为两个工程,而不是放在一个工程中,这样的话可以子模块可以选择性的继承,而不会太重 parent工程:对整个项目的依赖包版本进行管理 base工程:提供基础类库、工具类库等(继承parent工程,从而也纳入版本管理) content工程是一个聚合工程,不需要依赖,所以我们让它继承于parent工程拿到依赖版本即可 在content微服务工程中,我们可以发现api工程和service工程都依赖于model工程,那么我们就不需要让api、service、m
29 0
|
存储 安全 C语言
【C语言】扫雷(包括展开和标记)(一)
【C语言】扫雷(包括展开和标记)
74 0
【C语言】扫雷(包括展开和标记)(一)
|
12月前
|
小程序 编译器 C语言
如何写好第一个c语言程序
如何写好小白的第一个c语言程序,是很重要的,咱虽然是小白但是咱们未来必成大佬一、如何写好第一个C语言程序想要写出一个C语言程序有三步1.创建项目2.创建源文件3.写程序创建源文件就按照下图流程进行创建,在C语言里面.c文件被称为源文件,存放我们写的代码.h文件被称为头文件,声明我们所使用的变量,和声明函数文件后缀.cpp是c++,就是c plus plus的意思vs里面的资源管理器,有的小白会弄没有,有的看到没有可能会感觉是软件的问题,其实不是,下图有关于资源管理器的操作步骤对于。
|
存储 Java 编译器
【C语言】关于我回头学的那些预处理等(五)(重点)
我的第一门语言就是C,但是学艺不精,中途跑去学了C#和Java后,感觉到了C的重要性,毕竟是最接近底层的语言,又跑回来学C。 毕竟前两门的控制语句,变量什么的都是类似的,回到C后只需要学习一些特定C的语法,比如宏,预编译指令等等,这些对我来说都是陌生的词汇。 所以边学边记录一下以前的知识。
125 0
EasyX基础内容(和易错的地方)(二)
EasyX基础内容(和易错的地方)
214 0
|
人工智能 C语言
记录一次非常简单的C语言随堂练习
#include <stdio.h> int main() { int a = 0, y; scanf("%d", &a); if (a < 0) { printf("y=-5"); } else if (a == 0) { printf("y = 0"); } else if (a > 0) { printf("y = 5"); }
64 0