欢迎光临散文网 会员登陆 & 注册

小白easyx(1)基本操作

2023-01-05 22:54 作者:乐维-活在儿时的画里  | 我要投稿

下面是我学习easyx的笔记,如有谬误或侵权,敬请批评指正。文章中有很多知识补充(因为这些东西我不是很明白),如已明白,请跳过。程序在vs2022中调试并运行。

一、基本使用说明:

1.创建一个空的控制台项目(Win32 Console Application)

Win32 Console Application指win32控制台应用程序,属于CUI(Character User Interface字符用户接口)程序,以main()函数为入口,得用键盘输入各种命令来使用它。它类似于MS-DOS窗口,只能运行命令行程序,不具备消息响应机制,可以访问部分windows API函数。

2.添加一个新的代码文件(.cpp)

3.引用graphics.h头文件

  • EasyX 也可以在 Win32 Application 项目上使用,但Win32 Application 项目无控制台,无法使用控制台相关的函数

Win32 Application(标准windows程序),是指SDK程序,属于GUI(Graphics User Interface 图形用户接口)程序,通过鼠标点击来完成控制,以WinMain()为入口。它具有消息响应机制,可以运行图形化的C++程序。

4.运行一个画圆的程序

conio是Console Input/Output(控制台输入输出)的简写,其中定义了通过控制台进行数据输入和数据输出的函数,主要是一些用户通过按键盘产生的对应操作。conio.h则是一个库文件,它不属于C语言标准库(注意移植性),是早期C语言用的输入输出函数库,除个别函数[比如_getch()函数]如外,一般不用,如今常用stdio.h。

特别注意是_getch(),而不是getch()。后者在VS2022中已被废弃,原因:微软希望将更多函数名交由程序员决定。

5.详解程序的  绘图背景函数

  • initgraph函数~~用于初始化绘图窗口(提示:initial是形容词,表示 最初的/开始的,而在计算机用语中常表示 初始化)


  • closegraph函数~~用于关闭绘图窗口

二、颜色

1.表示颜色的方法

  • 预定义常量

例如,常量BLACK,值为0,颜色:黑色。详见easyx官方文档

  • 16进制数字

0xbbggrr(0是数字0,x与X等价,bb=蓝色~blue,gg=绿色~green,rr=红色~red)

  • RGB

  • 用HSLtoRGB、HSVtoRGB、RGBtoGRAY、RGBtoHSL、RGBtoHSV转换

明度与亮度的区分,在本次学习中不重要,暂时不表(因为我也不懂)

2.与颜色相关的函数(主要)

  • setbkcolor函数,设置当前设备绘图背景

在设置背景色之后,并不会改变现有背景色,而是只改变背景色的值。如果需要修改全部背景色,可以在设置背景色后执行 cleardevice() 函数。

  • getbkcolor函数,获取当前设备绘图背景色

  • getfillcolor函数,获取当前设备填充颜色

  • setfillcolor函数,设置当前设备填充颜色

  • getlinecolor函数,获取当前设备画线颜色

  • setlinecolor函数,设置当前设备画线颜色

  • setcolor函数,设置当前绘图前景(线条和字体)色

该函数在 graphics.h 中声明,用于兼容 Turbo C 中的同名函数,等效于连续执行setlinecolor 和 settextcolor 函数。建议根据需求使用 setlinecolor 或 settextcolor 代替该函数。

  • getcolor函数,获取当前绘图前景色

setcolor函数和getcolor函数均归属于easyx文档的graphics.h暂留函数中。getcolor函数已废弃,推荐使用 getlinecolor 或 gettextcolor  替代该函数。

  • settextcolor函数,设置当前文字颜色

  • gettextcolor函数,获取当前字体颜色


3.与颜色相关的函数(次要)

  • BGR宏(交换颜色中的红色和蓝色)

  • GetBValue宏(返回指定颜色中的蓝色值)

  • GetGValue宏(返回指定颜色中的绿色值)

  • GetRValue宏(返回指定颜色中的红色值)


三、绘图背景函数

1.主要

  • initgraph

  • closegraph

  • cleardevice函数,使用当前背景色清空绘图设备

2.次要

  • clearcliprgn函数,清空裁剪区

  • setcliprgn函数,设置裁剪区

  • getaspectratio函数,获取当前缩放因子

  • setaspectratio函数,设置当前缩放因子

如果缩放因子为负,可以实现坐标轴的翻转。例如,执行 setaspectratio(1, -1) 后,可使 y 轴向上为正。

  • setorigin函数,设置坐标原点

  • graphdefaults函数,重置视图、当前点、绘图色、背景色、线形、填充样式、字体



小白easyx(1)基本操作的评论 (共 条)

分享到微博请遵守国家法律