<<<上一篇—①:安装及基本概念

系列文章

①:安装及基本概念
②:EasyX函数-设备相关
③:EasyX函数-颜色模型
④:EasyX函数-图形样式
⑤:EasyX函数-绘图相关〔1〕
⑥:EasyX函数-绘图相关〔2〕


文章目录

  • 系列文章
  • 前言
  • 三、EasyX函数 之 设备相关
    • 清空设备 - cleardevice()
    • 关闭窗口 - closegraph()
    • 获取缩放因子 - getaspectratio()
    • 重置 - graphdefalts()
    • 初始化窗口 - initgraph()
    • 设置缩放因子 - setaspectratio()
    • 裁剪区 - setcliprgn()
    • 设置坐标原点 - setorigin()
  • 结语

前言

作者也是个小白,本【教程】充其量算个学习笔记,若有写的不正确的地方还请指教。

三、EasyX函数 之 设备相关

  • 清空设备 - cleardevice()

    作用 : 使用当前背景色清空设备。
    函数原型 :

    void cleardevice();
    

    参数 : /
    返回值 : /

  • 关闭窗口 - closegraph()

    作用 : 关闭绘图窗口。
    函数原型 :

    void closegraph();
    

    参数 : /
    返回值 : /

  • 获取缩放因子 - getaspectratio()

    作用 : 获取当前缩放因子。
    函数原型 :

    void getaspectratio(
    float *pxasp,
    float *pyasp
    );
    

    参数 :

    • pxasppxasppxasp : float*,返回x方向上的缩放因子。
    • pyasppyasppyasp : float*,返回y方向上的缩放因子。

    返回值 : /

  • 重置 - graphdefalts()

    作用:重置视图、当前点、绘图色、背景色、线形、填充样式、字体为默认值。
    函数原型:

    void graphdefalts();
    

    参数: /
    返回值: /

  • 初始化窗口 - initgraph()

    作用:初始化绘图窗口。
    函数原型:

    HWND initgraph(
    int width,
    int height,
    int flag = NULL
    );
    

    参数:

    • widthwidthwidth : 窗口宽度,int{\rm{int}}int
    • heightheightheight : 窗口高度,int\rm intint
    • [可选]flagflagflag : 窗口样式,可为:
作用
EW_DBLCLKS 在绘图窗口中支持鼠标双击事件。
EW_NOCLOSE 禁用绘图窗口的关闭按钮。
EW_NOMINIMIZE 禁用绘图窗口的最小化按钮。
EW_SHOWCONSOLE 显示控制台窗口。

  返回值:窗口句柄,HWND\rm HWNDHWND。
  实例:

 initgraph(640,480);//创建一个尺寸为 640x480 的绘图窗口:initgraph(640, 480, EW_SHOWCONSOLE);//同时显示控制台窗口initgraph(640, 480, EW_SHOWCONSOLE | EW_NOCLOSE);//同时显示控制台窗口,并禁用关闭按钮(使用【|】连接两个flag宏)
  • 设置缩放因子 - setaspectratio()

    作用:设置当前缩放因子。
    函数原型:

    void setaspectratio(float xasp,float yasp
    );
    

    参数:
    * xaspxaspxasp : x 方向上的缩放因子1
    * yaspyaspyasp : y 方向上的缩放因子2
    返回值: /
    :如果缩放因子为负,可以实现坐标轴的翻转。例如,执行 setaspectratio(1, -1) 后,可使 y 轴向上为正。

  • 裁剪区 - setcliprgn()

    作用:设置当前绘图设备的裁剪区。设置裁剪区后,绘图只有在裁剪区的部分才会显示(但仍然可以通过操作显示缓冲区在裁剪区外绘图)3
    函数原型:

    void setcliprgn(HRGN hrgn);
    

    参数:

    • hrgnhrgnhrgn : 裁剪区区域句柄,若值为NULL,则取消之前的裁剪区。

    返回值: /

    :可以使用 Windows GDI 函数创建一个区域。例如,创建矩形区域可以使用函数:

    HRGN CreateRectRgn(int left, int top, int right, int bottom
    );
    

    除此之外,还可以使用函数 CreateEllipticRgn 创建椭圆形的区域,使用 CreatePolygonRgn 创建多边形的区域等等。还可以使用 CombineRgn 组合区域,等等。
    注意:创建区域后,如果不再使用,请执行 DeleteObject(HRGN hrgn)以释放该区域对应的系统资源。
    实例:

    #include <graphics.h>
    #include <conio.h>int main()
    {// 初始化绘图窗口
    initgraph(640, 480);// 创建一个矩形区域
    HRGN rgn = CreateRectRgn(100, 100, 200, 200);
    // 将该矩形区域设置为裁剪区
    setcliprgn(rgn);
    // 不再使用 rgn,清理 rgn 占用的系统资源
    DeleteObject(rgn);// 画圆,受裁剪区影响,只显示出四段圆弧
    circle(150, 150, 55);// 取消之前设置的裁剪区
    setcliprgn(NULL);// 画圆,不再受裁剪区影响,显示出一个完整的圆
    circle(150, 150, 60);// 按任意键退出
    _getch();
    closegraph();
    }
    
  • 设置坐标原点 - setorigin()

    作用:设置坐标原点。
    函数原型:

    void setorigin(int x,int y);
    

    参数:
    * xxx : 原点的横坐标(物理坐标,见①-<二>-坐标)
    * yyy : 原点的纵坐标(物理坐标,见①-<二>-坐标)
    返回值: /


结语

精力、时间有限,先写到这,下期见!

@HaohaoCppDebuger|寻兰 
2021/10/23 

-----THE END-----
THANK YOU !

>>>下一篇—③:EasyX函数-颜色模型


  1. 例如绘制宽度为 100 的矩形,实际的绘制宽度为 100⋅xasp100 \cdot xasp100⋅xasp。 ↩︎

  2. 例如绘制高度为 100 的矩形,实际的绘制高度为 100⋅yasp100 \cdot yasp100⋅yasp。 ↩︎

  3. HRGN 是 Windows 定义的表示区域的句柄。将该区域设置为裁剪区后,任何区域外的绘图都将无效(但仍然可以通过操作显示缓冲区在裁剪区外绘图)。——EasyX文档

    ↩︎

C++游戏梦 | EasyX详解 | ②:EasyX函数-设备相关相关推荐

  1. 详解softmax函数

    详解softmax函数以及相关求导过程 忆臻 PHD Candidate(公众号机器学习算法与自然语言处理) 291 人赞了该文章 这几天学习了一下softmax激活函数,以及它的梯度求导过程,整理一 ...

  2. python逢7跳过_python实现逢七拍腿小游戏的思路详解

    逢七拍腿游戏 几个小朋友在一起玩逢七拍腿的游戏,从1开始数数,当数到7的倍数或者尾号是7时,拍一下腿.现在从1数到99,假设每个人都没有错,计算一下共要拍腿几次? 第一种实现思路:通过在for循环语句 ...

  3. html+css+javascript实现小游戏2048(详解,附源代码)

    html+css+javascript实现小游戏2048(详解,附源代码) 1.上下左右的移动原理相同,这里只详细说明向上移动的方法 2.这里的上下左右由wasd四个键控制 3-小方块空的意思就是没数 ...

  4. 初级游戏外挂编程详解 windows运行原理+游戏辅助编程 游戏外挂编程

    @TOC初级游戏外挂编程详解 windows运行原理+游戏辅助编程 游戏外挂编程 [1]什么是windows API Windows API 中文翻译过来就是windows应用程序接口(Applica ...

  5. python拍七游戏代码_python实现逢七拍腿小游戏的思路详解

    逢七拍腿游戏 几个小朋友在一起玩逢七拍腿的游戏,从1开始数数,当数到7的倍数或者尾号是7时,拍一下腿.现在从1数到99,假设每个人都没有错,计算一下共要拍腿几次? 第一种实现思路:通过在for循环语句 ...

  6. 关于《J2ME手机游戏开发技术详解》的问题!

    这里只是对我书中的bug和没有说明白的技术处说明,对于具体的编程问题,我只是点到为止! 对于3D部分的问题,由于我现在工作重点不在这上面,有些问题的回答我感到吃力,也不太想回答,详情请看我的文章. 我 ...

  7. 一分钟详解initUndistortRectifyMap函数bug修复方法

    本文首发于微信公众号「3D视觉工坊」--一分钟详解initUndistortRectifyMap函数bug修复方法 在上一篇文章OpenCV中initUndistortRectifyMap函数存在bu ...

  8. python命名空间和闭包_Python函数基础实例详解【函数嵌套,命名空间,函数对象,闭包函数等】...

    本文实例讲述了Python函数基础用法.分享给大家供大家参考,具体如下: 一.什么是命名关键字参数? 格式: 在*后面参数都是命名关键字参数. 特点: 1.约束函数的调用者必须按照Kye=value的 ...

  9. 详解虚函数的实现过程之菱形继承(5)

    大家看到标题,会不会菱形继承的虚表会不会是重复的呢?祖父类的虚表会不会在子类会不会是两份相同呢?那么我们一起来探索一下吧,冲冲冲!! 首先我们来分析一下: 它一共定义了四个类,分别为CFurnitur ...

最新文章

  1. 特殊用户邮箱附件大小设置
  2. vue代码上传服务器后背景图片404解决方法
  3. Linux-PAM PAM-MySQL的总结
  4. Arthas 使用的各类方式
  5. 关于JVM和JIT的一点点
  6. 《TableStore最佳实践:GEO索引打造店铺搜索系统》
  7. 计算机应用与基础实践怎么考,自考计算机基础应用科目笔试和实践性考试怎么考...
  8. python中的urllib库_python3里的Urllib库
  9. Hadoop之内存问题
  10. java spring 过滤器_java – 如何在spring-security中的另一个过滤器之前添加过滤器?...
  11. CSDN创始人蒋涛出席2021 中关村论坛,启动“科创中国”开源创新榜单评选
  12. building for iOS simulator, but linking in object file built for tvOS, for architecture x86_64
  13. spring quartz 表达式在线生成器
  14. A 5G Odyssey :2021北京漫游
  15. javascript 压缩_14种用于压缩JavaScript的工具
  16. 计算机的英语怎样写,电脑的英文作文怎么写好呢
  17. PYQT5(12)-基本窗口控件-窗口绘图类空间
  18. 物流管理,快递单号查询查快递到哪了
  19. 前端(五)DOM 文档对象模型
  20. [PS视频][ps从入门到精通82课][mp4/327M]

热门文章

  1. 如何实现局域网架设BT服务器
  2. 表情符号及 \x 与 \u 编码的问题
  3. 暴雪hash来作整数的hash
  4. 行业:微软收购动视暴雪遭遇困难
  5. Docker实践2:用Docker搭建hg-server
  6. impdp 不兼容_Oracle exp/expdp imp/impdp导入导出数据
  7. 自定义歌词View的优化(一)
  8. oracle instr和mysql_Oracle 的INSTR函数MySQL实现
  9. stm32f429vref怎么接_STM32开发笔记58: STM32F407特殊引脚连接电路
  10. 优酷持续产出优质内容,日均付费用户同比增长8%