EasyX库简单中文手册
EasyX库简单中文手册
作者:
时间: 2021/2/2
第一个例程
#include <graphics.h> // 图像相关库
#include <conio.h> // 按键获取相关库
int main()
{
initgraph(640, 480); // 创建一个图像画板
circle(200, 200, 100); // 以(200,200)为圆心画一个r100的圆
_getch(); // 获取一个按键值
closegraph(); // 关闭画板
return 0;
}
//conio是Console Input / Output(控制台输入输出)的简写,其中定义了通过控制台进行数据输入和数据输出的函数,主要是一些用户通过按键盘产生的对应操作,比如getch()函数等等。
基本元素——颜色
Setlinecolor,有四种格式 setlinecolor(0xff0000); setlinecolor(BLUE); setlinecolor(RGB(0, 0, 255)); setlinecolor(HSLtoRGB(240, 1, 0.5));
|
Constant |
Value |
Color description |
|
BLACK |
0 |
Black |
|
BLUE |
0xAA0000 |
Blue |
|
GREEN |
0x00AA00 |
Green |
|
CYAN |
0xAAAA00 |
Cyan |
|
RED |
0x0000AA |
Red |
|
MAGENTA |
0xAA00AA |
Magenta |
|
BROWN |
0x0055AA |
Brown |
|
LIGHTGRAY |
0xAAAAAA |
Light Gray |
|
DARKGRAY |
0x555555 |
Dark Gray |
|
LIGHTBLUE |
0xFF5555 |
Bright Blue |
|
LIGHTGREEN |
0x55FF55 |
Bright Green |
|
LIGHTCYAN |
0xFFFF55 |
Bright Cyan |
|
LIGHTRED |
0x5555FF |
Bright Red |
|
LIGHTMAGENTA |
0xFF55FF |
Bright Magenta |
|
YELLOW |
0x55FFFF |
Yellow |
|
WHITE |
0xFFFFFF |
White |
基本元素——圆
void circle(int x, int y, int radius); void fillcircle(int x, int y, int radius); setfillcolor(BLUE);
无边界实现圆
void solidcircle(
int x,
int y,
int radius
);
基本元素——直线
void line(
int x1,
int y1,
int x2,
int y2
);
基本元素——长方形
void rectangle(
int left,
int top,
int right,
int bottom
);
Solidrectangle 无边框填充长方形
Fillrectangle 填充长方形
基本元素——文字
setbkmode(TRANSPARENT); // 文字除了字体外透明
settextstyle(40, 0, L"Verdana"); //设置字体高,宽(0自适应),字体
wchar_t s[] = L"游戏开始";
outtextxy(10, 20, s);
图片显示
// 从图片文件获取图像(bmp/jpg/gif/emf/wmf/ico)
void loadimage(
IMAGE* pDstImg, // 保存图像的 IMAGE 对象指针
LPCTSTR pImgFile, // 图片文件名
int nWidth = 0, // 图片的拉伸宽度
int nHeight = 0, // 图片的拉伸高度
bool bResize = false // 是否调整 IMAGE 的大小以适应图片
);
pDstImg:保存图像的 IMAGE 对象指针。如果为 NULL,表示图片将读取至绘图窗口。
pImgFile:图片文件名。支持 bmp / jpg / gif / emf /
wmf / ico 类型的图片。gif 类型的图片仅加载第一帧,不支持透明。
nWidth:图片的拉伸宽度。加载图片后,会拉伸至该宽度。如果为 0,表示使用原图的宽度。
nHeight:图片的拉伸高度。加载图片后,会拉伸至该高度。如果为 0,表示使用原图的高度。
bResize:是否调整 IMAGE 的大小以适应图片。
#
include <iostream>
#include <graphics.h> // 引用图形库头文件
#include <conio.h>
int main()
{
initgraph(640, 480); // 创建绘图窗口,大小为 640x480 像素
IMAGE img; //创建IMAGE对象
loadimage(&img, L"01.png");//绝对地址载入图片
putimage(100, 0, &img);
_getch(); // 按任意键继续
closegraph(); // 关闭绘图窗口
}
鼠标的使用
struct MOUSEMSG
{
UINT uMsg; // Current mouse message.
bool mkCtrl; // The CTRL key is down.
bool mkShift; // The SHIFT key is down.
bool mkLButton; // The left mouse button is down.
bool mkMButton; // The middle mouse button is down.
bool mkRButton; // The right mouse button is down.
int x; // The x-coordinate of the cursor. (physical coordinates)
int y; // The y-coordinate of the cursor. (physical coordinates)
int wheel; // The mouse wheel scroll value.};
|
Value |
Description |
|
WM_MOUSEMOVE |
The message of the mouse |
|
WM_MOUSEWHEEL |
The message of the mouse |
|
WM_LBUTTONDOWN |
The message of the left |
|
WM_LBUTTONUP |
The message of the left |
|
WM_LBUTTONDBLCLK |
The message of the left |
|
WM_MBUTTONDOWN |
The message of the middle |
|
WM_MBUTTONUP |
The message of the middle |
|
WM_MBUTTONDBLCLK |
The message of the middle |
|
WM_RBUTTONDOWN |
The message of the right |
|
WM_RBUTTONUP |
The message of the right |
|
WM_RBUTTONDBLCLK |
The message of the right |
#include<graphics.h>
#include<conio.h>
#include<stdio.h>
//鼠标左键点击
int main()
{
initgraph(800, 600);
setbkcolor(WHITE);
cleardevice();
while (1)
{
MOUSEMSG m;
if (MouseHit())
{
m = GetMouseMsg();
if (m.uMsg == WM_LBUTTONDOWN)
{
setfillcolor(GREEN);
fillcircle(m.x, m.y, 30);
}
}
}
return 0;
}
//
//// 鼠标移动
//int main()
//{
// initgraph(800, 600);
// setbkcolor(WHITE);
// cleardevice();
//
// while (1)
// {
// MOUSEMSG m;
// if (MouseHit())
// {
// m = GetMouseMsg();
// if (m.uMsg == WM_MOUSEMOVE)
// {
// setfillcolor(GREEN);
// fillcircle(m.x, m.y, 3);
//
// }
//
// }
//
// }
// return 0;
//}
音乐播放
#include <windows.h>
#include <mmsystem.h>
#include<conio.h>
#pragma comment(lib, "winmm.lib")
int main()
{
//mci: media control interface(多媒体控制接口)
mciSendStringW(L"play 01.mp3", 0, 0, 0);
mciSendString(L"play 01.mp3", 0, 0, 0);
_getch();
mciSendString(L"pause 01.mp3", 0, 0, 0);
_getch();
mciSendString(L"resume 01.mp3", 0, 0, 0);
system("pause");
return 0;
}
//open 打开设备
//close 关闭设备
//play 开始设备播放
//stop 停止设备的播放或记录
//record 开始记录
//save 保存设备内容
//pause 暂停设备的播放或记录
//resume 恢复暂停播放或记录的设备
//seek 改变媒体的当前位置
//capacility 查询设备能力
//info 查询设备的信息
//status 查询设备状态信息
批量绘图
BeginBatchDraw 这个函数用于开始批量绘图。执行后,任何绘图操作都将暂时不输出到屏幕上,直到执行
FlushBatchDraw 或
EndBatchDraw 才将之前的绘图输出。
随机数
rand()
参数随机数,但是每次都是一个相同序列
srand(time(0)); time(0)一般只用于重新运行时要产生不同随机数的情况,否则在这一秒内产生的随机数将会是一样的。
按键
_getchar();
EasyX库简单中文手册的更多相关文章
- Swift网络封装库Moya中文手册之Authentication
Authentication 安全验证可能有点复杂,一些网络请求需要认证,这里我们讨论两种常见的. Basic HTTP Auth HTTP auth是HTTP协议自带的用户名/密码验证.如果你使用的 ...
- Swift网络封装库Moya中文手册之Endpoints
Endpoints Endpoint是一种半私有的数据结构,Moya用来解释网络请求的根本构成.一个endpoint储存了以下数据: The URL. The HTTP method (GET,POS ...
- Swift网络封装库Moya中文手册之Plugins
Plugins Moya plugins用于反映请求的发起或接收.Plugins定义为 PluginType 属性,可以在请求准备发起和接收到返回数据时回调. Built in plugins Moy ...
- Swift网络封装库Moya中文手册之Providers
Providers 使用Moya,你可以通过一个 MoyaProvider 的实例发送所有网络请求,通过枚举来指定你要访问的具体API.在配置你的 Endpoint 之后,你差不多就做好了基础配置: ...
- Swift网络封装库Moya中文手册之RxSwift
RxSwift Maya提供了一个可选的MoyaProvider 子类 - RxMoyaProvider.在网络请求完成时,我们不再使用 request() 函数的回调闭包,而是使用 Observab ...
- Swift网络封装库Moya中文手册之Targets
Targets 使用Moya,我们首先需要定义一个target - 这通常是继承 TargetType 协议的 枚举 变量.接下来,你的app只需要处理这些targets,也就是一些你希望调用API完 ...
- phpredis中文手册——《redis中文手册》 php版
本文是参考<redis中文手册>,将示例代码用php来实现,注意php-redis与redis_cli的区别(主要是返回值类型和参数用法). 目录(使用CTRL+F快速查找命令): Key ...
- [转]phpredis中文手册
本文是参考<redis中文手册>,将示例代码用php来实现,注意php-redis与redis_cli的区别(主要是返回值类型和参数用法). 目录(使用CTRL+F快速查找命令): Key ...
- man mountd(rpc.mountd中文手册)
本人译作集合:http://www.cnblogs.com/f-ck-need-u/p/7048359.html rpc.mountd() System Manager's Manual rpc.mo ...
随机推荐
- Feign的应用
一.定义 可以把Rest的请求进行隐藏,伪装成类似SpringMVC的Controller一样 它集成了ribbon.hystrix.eureka组件 Feign的日志级别需要自定义,因为日志是单独的 ...
- SYCOJ1717负二进制
题目-负二进制 (shiyancang.cn) 进制的实质在于对于进制数的选择,选择不满足的填入当前的位置,然后除掉,继续开始选择.但是对于本题,是负数,但是进制上的数字为正数,所以就要调整,借位,因 ...
- vulhub安装教程
0x00 vulhub介绍 Vulhub是一个基于docker和docker-compose的漏洞环境集合,进入对应目录并执行一条语句即可启动一个全新的漏洞环境,让漏洞复现变得更加简单,让安全研究者更 ...
- 设计模式-Java版-全-附代码-超生动实例
阅读推荐:设计模式-简单篇 项目地址:https://gitee.com/zwtgit/gof23 学习网站推荐: https://refactoringguru.cn/design-patterns ...
- 【刷题-LeetCode】123 Best Time to Buy and Sell Stock III
Best Time to Buy and Sell Stock III Say you have an array for which the ith element is the price of ...
- JUC之文章整理以及汇总
JUC文章汇总 JUC部分将学习<JUC并发编程的艺术>和<尚硅谷-大厂必备技术之JUC并发编程>进行博客的整理,各文章中也会不断的完善和丰富. JUC概述 JUC的视频学习和 ...
- ORACLE数据库误操作DELETE并且提交数据库之后如何恢复被删除的数据
一:根据时间来恢复: 1.查询数据库当前时间() select to_char(sysdate,'yyyy-mm-dd hh24:mi:ss') from dual; 2.查询删除数据时间点之前的数据 ...
- MySQL表空间结构
在Innodb中,我们可以指定一张表的数据是保存在独立表空间还是系统表空间,这个参数是:innodb_file_per_table 如果我们设置这个参数的值为0,那么一个表将使用系统表空间来保存表的数 ...
- docker中使用systemctl启动服务
解决 Failed to get D-Bus connection: Operation not permitted https://serverfault.com/questions/824975/ ...
- vue 快速入门 系列 —— Vue 实例的初始化过程
其他章节请看: vue 快速入门 系列 Vue 实例的初始化过程 书接上文,每次调用 new Vue() 都会执行 Vue.prototype._init() 方法.倘若你看过 jQuery 的源码, ...