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;

}

//conioConsole 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
movement.

WM_MOUSEWHEEL

The message of the mouse
wheel scroll.

WM_LBUTTONDOWN

The message of the left
mouse button down.

WM_LBUTTONUP

The message of the left
mouse button up.

WM_LBUTTONDBLCLK

The message of the left
mouse button double click.

WM_MBUTTONDOWN

The message of the middle
mouse button down.

WM_MBUTTONUP

The message of the middle
mouse button up.

WM_MBUTTONDBLCLK

The message of the middle
mouse button double click.

WM_RBUTTONDOWN

The message of the right
mouse button down.

WM_RBUTTONUP

The message of the right
mouse button up.

WM_RBUTTONDBLCLK

The message of the right
mouse button double click.

#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库简单中文手册的更多相关文章

  1. Swift网络封装库Moya中文手册之Authentication

    Authentication 安全验证可能有点复杂,一些网络请求需要认证,这里我们讨论两种常见的. Basic HTTP Auth HTTP auth是HTTP协议自带的用户名/密码验证.如果你使用的 ...

  2. Swift网络封装库Moya中文手册之Endpoints

    Endpoints Endpoint是一种半私有的数据结构,Moya用来解释网络请求的根本构成.一个endpoint储存了以下数据: The URL. The HTTP method (GET,POS ...

  3. Swift网络封装库Moya中文手册之Plugins

    Plugins Moya plugins用于反映请求的发起或接收.Plugins定义为 PluginType 属性,可以在请求准备发起和接收到返回数据时回调. Built in plugins Moy ...

  4. Swift网络封装库Moya中文手册之Providers

    Providers 使用Moya,你可以通过一个 MoyaProvider 的实例发送所有网络请求,通过枚举来指定你要访问的具体API.在配置你的 Endpoint 之后,你差不多就做好了基础配置: ...

  5. Swift网络封装库Moya中文手册之RxSwift

    RxSwift Maya提供了一个可选的MoyaProvider 子类 - RxMoyaProvider.在网络请求完成时,我们不再使用 request() 函数的回调闭包,而是使用 Observab ...

  6. Swift网络封装库Moya中文手册之Targets

    Targets 使用Moya,我们首先需要定义一个target - 这通常是继承 TargetType 协议的 枚举 变量.接下来,你的app只需要处理这些targets,也就是一些你希望调用API完 ...

  7. phpredis中文手册——《redis中文手册》 php版

    本文是参考<redis中文手册>,将示例代码用php来实现,注意php-redis与redis_cli的区别(主要是返回值类型和参数用法). 目录(使用CTRL+F快速查找命令): Key ...

  8. [转]phpredis中文手册

    本文是参考<redis中文手册>,将示例代码用php来实现,注意php-redis与redis_cli的区别(主要是返回值类型和参数用法). 目录(使用CTRL+F快速查找命令): Key ...

  9. man mountd(rpc.mountd中文手册)

    本人译作集合:http://www.cnblogs.com/f-ck-need-u/p/7048359.html rpc.mountd() System Manager's Manual rpc.mo ...

随机推荐

  1. vue3.0+vite+ts项目搭建--初始化项目(一)

    vite 初始化项目 使用npm npm init vite@latest 使用yarn yarn create vite 使用pnpm pnpx create-vite 根据提示输入项目名称,选择v ...

  2. 在实验中观察指针——C++ 函数参数的压栈顺序

    前言 好久没写东西了,突发奇想,写写函数参数的压栈顺序 先看看这个问题 https://q.cnblogs.com/q/137133/ 然后看我简化的代码,猜输出结果是多少? #include< ...

  3. hadoop入门到实战(6)hive常用优化方法总结

    问题导读:1.如何理解列裁剪和分区裁剪?2.sort by代替order by优势在哪里?3.如何调整group by配置?4.如何优化SQL处理join数据倾斜?Hive作为大数据领域常用的数据仓库 ...

  4. CobaltStrike简介与安装

    CobaltStrike的安装我踩了不少坑,所以我将正确的安装及启动过程跟大家分享一下,以免大家走一些不必要的弯路 Cobaltstrike简介 Cobalt Strike是一款美国Red Team开 ...

  5. Flowable实战(五)表单和流程变量

    一.流程变量   流程实例按步骤执行时,需要保存并使用一些数据,在Flowable中,这些数据称为变量(variable).   流程实例可以持有变量,称作流程变量(process variables ...

  6. java运行时创建对象

    有很多场景需要运行时创建对象,比如Copy对象到指定类型的对象中,比如根据指定的字段和值创建指定类型的对像.使用JDK自带的反射(java.lang.reflect)或者自省(java.beans.I ...

  7. 《剑指offer》面试题10- II. 青蛙跳台阶问题

    问题描述 一只青蛙一次可以跳上1级台阶,也可以跳上2级台阶.求该青蛙跳上一个 n 级的台阶总共有多少种跳法. 答案需要取模 1e9+7(1000000007),如计算初始结果为:1000000008, ...

  8. dgv 自动换行

    //设置自动换行 dgv.DefaultCellStyle.WrapMode = DataGridViewTriState.True; //设置自动调整高度 dgv.AutoSizeRowsMode ...

  9. Java学习小总结

    本学期主要学习Java程序语言及Javaweb相关知识,其中有相当一部分内容是暑假假期的学习内容,以下主要介绍一些Javaweb学习的总结. 以下教程均为个人建议(当然,适合自己的最好) 一.环境配置 ...

  10. P1518 [USACO2.4]两只塔姆沃斯牛 The Tamworth Two

    // Problem: P1518 [USACO2.4]两只塔姆沃斯牛 The Tamworth Two // Contest: Luogu // URL: https://www.luogu.com ...