😏★,°:.☆( ̄▽ ̄)/$:.°★ 😏
这篇文章主要介绍Windows图形库EasyX配置与使用。
无专精则不能成,无涉猎则不能通。——梁启超
欢迎来到我的博客,一起学习,共同进步。
喜欢的朋友可以关注一下,下次更新不迷路🥞
文章目录
- :smirk:1. 项目介绍
- :blush:2. 环境配置
- :satisfied:3. 使用说明
😏1. 项目介绍
官网:https://easyx.cn/
EasyX
是一个基于Windows
的简单图形库,它提供了一个易于使用的图形绘制接口,适用于初学者和爱好者进行图形编程。下面是EasyX
库的一些特点和功能:
1.易于学习和使用:EasyX采用了简单的图形绘制接口,使得初学者可以快速上手。它提供了一些基本的绘图函数,如画线、画圆、绘制文本等,使用户能够轻松创建图形界面和动画效果。
2.轻量级和快速:EasyX是一个轻量级的图形库,不需要复杂的安装和配置过程。它使用GDI(图形设备接口)来进行图形绘制,具有较快的绘图速度和相对较低的系统资源占用。
3.图形界面设计:EasyX提供了一些常用的图形界面控件,如按钮、文本框、滚动条等,使用户可以轻松创建交互式的图形界面。
4.动画和游戏开发:EasyX支持实时动画和游戏开发,提供了帧动画、双缓冲技术等功能,使用户能够创建流畅的动画效果和简单的游戏。
5.跨平台:EasyX主要针对Windows平台,支持Windows XP及以上版本。然而,EasyX也可以在部分Linux环境下使用,如Wine模拟器。
😊2. 环境配置
我这里用的Clion + mingw
,EasyX的下载地址:https://easyx.cn/download/easyx4mingw_20220901.zip
CMakeLists.txt示例:
cmake_minimum_required(VERSION 3.19)
project(easyx_demo)
set(CMAKE_CXX_STANDARD 14)
include_directories("D:/develop/easyx4mingw_20220901/include")
link_directories("D:/develop/easyx4mingw_20220901/lib64")
add_executable(easyx_demo main.cpp)
target_link_libraries(easyx_demo -leasyx)
😆3. 使用说明
绘制圆的示例:
#include <graphics.h>
#include <conio.h>
int main()
{
initgraph(640, 480); // 创建一个640x480的绘图窗口
circle(320, 240, 100); // 在窗口中心画一个半径为100的圆
getch(); // 等待用户按下任意键
closegraph(); // 关闭绘图窗口
return 0;
}
获取鼠标和键盘事件示例:
#include <graphics.h>
#include <conio.h>
#include <stdio.h>
int main()
{
initgraph(640, 480); // 创建一个640x480的绘图窗口
while (true)
{
// 监听键盘事件
if (kbhit())
{
char ch = getch(); // 获取键盘按键
if (ch == 'q' || ch == 'Q')
break; // 如果按下了Q键,退出循环
}
// 监听鼠标事件
if (MouseHit())
{
MOUSEMSG mouseMsg = GetMouseMsg();
if (mouseMsg.uMsg == WM_MOUSEMOVE)
{
int x = mouseMsg.x;
int y = mouseMsg.y;
// 在控制台输出鼠标移动的坐标
printf("Mouse move: x = %d, y = %d\n", x, y);
}
else if (mouseMsg.uMsg == WM_LBUTTONDOWN)
{
int x = mouseMsg.x;
int y = mouseMsg.y;
// 在控制台输出鼠标左键按下的坐标
printf("Left button down: x = %d, y = %d\n", x, y);
}
else if (mouseMsg.uMsg == WM_LBUTTONUP)
{
int x = mouseMsg.x;
int y = mouseMsg.y;
// 在控制台输出鼠标左键释放的坐标
printf("Left button up: x = %d, y = %d\n", x, y);
}
}
}
closegraph(); // 关闭绘图窗口
return 0;
}
以上。