EasyX图片库相关介绍

学习目标:

  • 1.基本说明
  • 2.安装和卸载
  • (1)安装
  • (2)卸载
  • (3)手动安装方法

  • 3.使用教程

  • 4.基本概念

  • 5.函数说明

  • 6.示例程序

  • 7.常见问题


学习内容:

  1. 1.基本说明
  2. 2.安装和卸载
  3. (1)安装
  4. (2)卸载
  5. (3)手动安装方法

  6. 3.使用教程

  7. 4.基本概念

  8. 5.函数说明

  9. 6.示例程序

  10. 7.常见问题

1.基本说明
EasyX 是针对 C++ 的图形库,可以帮助 C/C++ 初学者快速上手图形和游戏编程。

比如,可以基于 EasyX 图形库很快的用几何图形画一个房子,或者一辆移动的小车,可以编写俄罗斯方块、贪吃蛇、黑白棋等小游戏,可以练习图形学的各种算法,等等。

许多人学编程都是从 C 语言入门的,而现状是:

有些学校以 Turbo C 为环境学习 C 语言,只是 Turbo C 实在太老了,复制粘贴都很不方便。
有些学校直接拿 VC 来讲 C 语言,因为 VC 的编辑和调试环境都很优秀,并且 VC 有适合教学的免费版本。可惜在 VC 里面只能做一些文字性的练习题,想画条直线或一个圆都很难,例如需要注册窗口类、建消息循环等等,初学者会受严重打击的。初学编程想要绘图就得用 TC,很是无奈。
还有计算机图形学,这门课程的重点是绘图算法,而不是 Windows 编程。所以,许多老师不得不用 TC 教学,因为 Windows 绘图太复杂了,会偏离教学的重点。新的图形学的书有不少是用的 OpenGL,可是门槛依然很高。
所以,我们想给大家一个更好的学习平台,就是 VC 方便的开发平台和 TC 简单的绘图功能,于是就有了这个 EasyX 库。如果您刚开始学 C 语言,或者您是一位教 C 语言的老师,再或者您在教计算机图形学,那么这个库一定会让您兴奋的。


2.安装和卸载
系统支持
操作系统:Windows XP(sp3) 及以上操作系统。
编译环境:Visual C++ 6.0,Visual Studio 2008 至 Visual Studio 2022 (x86 & x64)。

(1)安装
请下载最新版 EasyX 安装程序,直接运行,并跟随提示安装即可。

安装程序会自动检测您已经安装的 VC 版本,并根据您的选择将对应的 .h 和 .lib 文件安装至 VC 的 include 和 lib 文件夹内。安装程序不会修改注册表或者您本机的其它任何文件。

(2)卸载
由于安装程序并不修改注册表,因此您在应用程序列表中不会看到 EasyX 的卸载项。如需卸载,请再次执行对应版本的安装程序,并根据提示卸载。也可以手动将相关的 .h 和 .lib 删除,系统中不会残留任何垃圾信息。

(3)手动安装方法
EasyX 安装程序是用 7-Zip 封装的自解压缩包程序。

手动安装时,可以直接用 7-Zip 将安装文件解压,再根据下面的文件列表说明,将解压后的相关文件分别拷贝到 VC 对应的 include 和 lib 文件夹内。

您也可以将所需的 include 和 lib 文件夹放到任意位置,然后在 VC 中增加 Lib 和 Include 的引用路径。

文件列表说明:

EasyX 安装程序
    ├ include <folder>
    │    ├ easyx.h                     // 头文件(提供了当前最新版本的接口)
    │    └ graphics.h                // 头文件(在 easyx.h 的基础上,保留了若干旧接口)
    ├ lib <folder>
    │    ├ VC6 <folder>
    │    │    └ x86 <folder>
    │    │        ├ EasyXa.lib        // VC6 库文件(MBCS 版本)
    │    │        └ EasyXw.lib        // VC6 库文件(Unicode 版本)
    │    ├ VC2008 <folder>
    │    │    ├ x64 <folder>
    │    │    │    ├ EasyXa.lib        // VC2008 ~ 2013 库文件(x64, MBCS 版本)
    │    │    │    └ EasyXw.lib        // VC2008 ~ 2013 库文件(x64, Unicode 版本)
    │    │    └ x86 <folder>
    │    │        ├ EasyXa.lib        // VC2008 ~ 2013 库文件(x86, MBCS 版本)
    │    │        └ EasyXw.lib        // VC2008 ~ 2013 库文件(x86, Unicode 版本)
    │    └ VC2015 <folder>
    │        ├ x64 <folder>
    │        │    ├ EasyXa.lib        // VC2015 ~ 2022 库文件(x64, MBCS 版本)
    │        │    └ EasyXw.lib        // VC2015 ~ 2022 库文件(x64, Unicode 版本)
    │        └ x86 <folder>
    │            ├ EasyXa.lib        // VC2015 ~ 2022 库文件(x86, MBCS 版本)
    │            └ EasyXw.lib        // VC2015 ~ 2022 库文件(x86, Unicode 版本)
    └ Setup.hta                        // 安装程序

(4)获取帮助文档
EasyX 的使用帮助,请参考 https://docs.easyx.cn。

可以从该网站下载离线版本的帮助文档。

(5)项目依赖
EasyX 库采用静态链接方式,不会为您的程序增加任何额外的 DLL 依赖。

3.使用教程
EasyX 在使用上非常简单。

比如:启动 Visual C++,创建一个空的控制台项目(Win32 Console Application),然后添加一个新的代码文件(.cpp),并引用 graphics.h 头文件就可以了。

看一个画圆的例子:

#include <graphics.h>        // 引用图形库头文件
#include <conio.h>
int main()
{
    initgraph(640, 480);    // 创建绘图窗口,大小为 640x480 像素
    circle(200, 200, 100);    // 画圆,圆心(200, 200),半径 100
    _getch();                // 按任意键继续
    closegraph();            // 关闭绘图窗口
    return 0;
}
Copy
当然,EasyX 也可以在 Win32 Application 项目上使用。需要注意的是,Win32 Application 项目没有控制台,所以无法使用控制台相关的函数。

4.基本概念

相关内容如下:

基本概念描述
颜色描述颜色的各种表示方法。
坐标描述坐标系。
设备

描述“设备”概念。

4.1颜色

EasyX 使用 24bit 真彩色,不支持调色板模式。

表示颜色的方法

1. 用预定义常量表示颜色

常量			值			颜色
--------		--------	--------
BLACK			0			黑
BLUE			0xAA0000	蓝
GREEN			0x00AA00	绿
CYAN			0xAAAA00	青
RED				0x0000AA	红
MAGENTA			0xAA00AA	紫
BROWN			0x0055AA	棕
LIGHTGRAY		0xAAAAAA	浅灰
DARKGRAY		0x555555	深灰
LIGHTBLUE		0xFF5555	亮蓝
LIGHTGREEN		0x55FF55	亮绿
LIGHTCYAN		0xFFFF55	亮青
LIGHTRED		0x5555FF	亮红
LIGHTMAGENTA	0xFF55FF	亮紫
YELLOW			0x55FFFF	黄
WHITE			0xFFFFFF	白

Copy

2. 用 16 进制数字表示颜色

16 进制的颜色表示规则为:0xbbggrr (bb=蓝,gg=绿,rr=红)

3. 用 RGB 宏合成颜色

详见 RGB

4. 用 HSLtoRGBHSVtoRGB 转换其他色彩模型到 RGB 颜色

详见 HSLtoRGBHSVtoRGB

示例

以下是几种设置画线颜色的方法:

setlinecolor(0xff0000);
setlinecolor(BLUE);
setlinecolor(RGB(0, 0, 255));
setlinecolor(HSLtoRGB(240, 1, 0.5));

4.2坐标

在 EasyX 中,坐标分两种:物理坐标和逻辑坐标。

物理坐标

物理坐标是描述设备的坐标体系。

坐标原点在设备的左上角,X 轴向右为正,Y 轴向下为正,度量单位是像素。

坐标原点、坐标轴方向、缩放比例都不能改变。

逻辑坐标

逻辑坐标是在程序中用于绘图的坐标体系。

坐标默认的原点在窗口的左上角,X 轴向右为正,Y 轴向下为正,度量单位是点。

默认情况下,逻辑坐标与物理坐标是一一对应的,一个逻辑点等于一个物理像素。

在本手册中,凡是没有注明的坐标,均指逻辑坐标。

请参阅

setorigin:修改坐标原点。

setaspectratio:修改坐标轴方向。

setaspectratio:修改缩放比例。

设备

“设备”,是指绘图表面。

在 EasyX 中,设备分两种,一种是默认的绘图窗口,另一种是 IMAGE 对象。通过 SetWorkingImage 函数可以设置当前用于绘图的设备。

设置当前用于绘图的设备后,所有的绘图函数都会绘制在该设备上。

5.函数说明

EasyX 函数分为以下几类:

6.示例程序

更多示例程序,请访问 https://codebus.cn

示例名称描述
字符阵该程序示范了常见的绘图操作,包括设置字体、画线等。
星空该程序实现了二维星空的动态效果。
鼠标操作该程序示范了常见的鼠标操作,程序执行后会在鼠标的移动轨迹上画红点,按左键画小方块,按 Ctrl + 左键画大方块,按右键退出程序。
彩虹该程序是 HSL 色彩模型的应用范例,程序通过调节 HSL 模型的亮度绘制渐变的天空,调节色相绘制七色彩虹。

7.常见问题

这里列举出了使用 EasyX 的一些常见问题:

更多的常见问题,请访问 EasyX 官方网站,以及 EasyX 社区

还可以到 EasyX 社区进行更多编程问题的讨论。


学习时间:

学习时间为不运动的时候,作者咕咕了是去运动(无氧运动和有氧运动都做最好)了,请饶恕。


学习产出:

画工

python--7class()的练习|未完end.......                                          http://t.csdnimg.cn/C1PB1

 python--6作业|笔记( 继python--2class)__init__,__str__ ,封装__ 重载, main继承 |练习,run,#面向对象封装摆放家具|未完end.......                     http://t.csdnimg.cn/M4cdm

python--5--len()                                                                         http://t.csdnimg.cn/wLynX

python--4函数def,本质、值传递、引用传递、默认值参数、*参数名、**变量、lambda [参数]: 函数、偏函数、递归、递归练习                                            http://t.csdnimg.cn/h9x17

python---3--sort、lambdalen(list1)、sorted_numbers = sorted(numbers)、list.sort()

                                                                                              http://t.csdnimg.cn/WpVQK

python--2作业66,69,71,84;85;数据类型:int()float()TrueFalsestr()list()set()dict()tuple()class 

                                                                                            http://t.csdnimg.cn/R005I

python--1作业,注释、输入输出、运算符、运算结果、三目运算符、关系表达、多值交换、偶数、随机数、三目运算、if、elif、else、while、for、break、contince、pass                                                                                                   http://t.csdnimg.cn/0KDeU


  计算机网络第1章:计算机网络的概念、组成与功能;计算机网络的分类、标准化工作及相关组织

                                                                                                       http://t.csdnimg.cn/uZOAM

计算机网络第一章:性能指标:带宽、时延、时延带宽积、RTT、吞吐量、速率、信道利用率

                                                                                                                                                                                                                           http://t.csdnimg.cn/avNeb

计算机网络体系结构——PDU、SDU、PCI、协议、访问、接口、SAP

                                                                                                          http://t.csdnimg.cn/x3Uar

 计算机网络分层结构——OSI/ISO、TCP/IP                                                                                                                                                   http://t.csdnimg.cn/hLrqY

 1章选择                                                                                          http://t.csdnimg.cn/cnmdJ

2章选择、解答                                                                                http://t.csdnimg.cn/ONrER

   通信基本概念:数据、信号、码元、信源、信道、信宿、速率、波特、带宽                                                                                                        http://t.csdnimg.cn/TKnyM

 数据、信号、码元、信源、信道、信宿、速率、波特、带宽-通信基本概念

                                                                                                         http://t.csdnimg.cn/Kc2e3

HCIA——30奈奎斯特定理、香农定理                                              http://t.csdnimg.cn/Yqtch

HCIA——20应用层:C/S、P2P、peer                                                                                                                                                                                       http://t.csdnimg.cn/4i4Og

HCIA——21C/S、P2P、peer的选择     

                                                                                                                                                                                                                          http://t.csdnimg.cn/4a11f                                                                

 DNS层次域名空间、域名服务器、域名解析的原理                        http://t.csdnimg.cn/yeWd6

 HCIA——23DNS层次域名空间、域名服务器、域名解析的原理的选择、解答                                                                                                                              http://t.csdnimg.cn/RXPNV 

 HCIA——24FTP 的工作原理、功能、TFTP、控制连接、数据连接

                                                                                                                                                                                                                    http://t.csdnimg.cn/9TPlw

HCIA——25FTP 的工作原理、功能、TFTP、控制连接、数据连接的选择、解答 

                                                                                                    http://t.csdnimg.cn/8GkAU

HCIA——26E-mall、MIME、POP3、IMAP、电子邮件系统的组成结构、电子邮件的发送,接收过程、MIME 与SMTP 的关系                                                  http://t.csdnimg.cn/smTaR

HCIA——27E-mall、MIME;POP3、IMAP的选择,解答 http://t.csdnimg.cn/xnsXP

 HCIIA——28HTTP、万维网、HTML;万维网的工作过程;HTTP 的特点——无连接-TCP、无状态-Cookie、非持久连接-非流水线和流水线;HTTP 的报文结构                                                                                                      http://t.csdnimg.cn/cRcxY

  • 技术笔记 1遍
  • 有错误请指出,作者会及时改正

33978c65e26d4825b59a2979733d8b53.png

48fc8d56e77e444289e2e6a3ec81fc99.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值