控制页面类:
1.#include <graphics.h> //为Easyx库的头文件
2.initgraph(x,y); //初始化x*y大小的绘图屏幕
3.closegraph(); //关闭绘图屏幕
4.Sleep(n); //延时n毫秒
5.System("pause"); //起暂停作用,用户随机输入继续运行
6.initgraph(x,y,SHOWCONSOLE); //初始化x*y大小的绘图屏幕并打开控制台
7.setorigin(); //修改坐标原点
获取值类:
1.char c;
if(kbhit()) //判断是否有用户按键
c=getch(); //用getch()获取按键
2.SYSTEMTIME STRUCT
{
WORD wYear;
...
}SYSTEMTIME ENDS //系统定义的时间结构体
/*例:*/SYSTEMTIME t; //定义存储时间的变量
GetLocal Time(&t); //获取当地时间
t.wHour;t.wMinute;t.Second; //引用时间
3.struct MOUSEMSG
{
UINT uMsg; // 当前鼠标消息
bool mkCtrl; // Ctrl 键是否按下
bool mkShift; // Shift 键是否按下
bool mkLButton; // 鼠标左键是否按下
bool mkMButton; // 鼠标中键是否按下
bool mkRButton; // 鼠标右键是否按下
int x; // 当前鼠标 x 坐标(物理坐标)
int y; // 当前鼠标 y 坐标(物理坐标)
int wheel; // 鼠标滚轮滚动值
};
/*其中当前鼠标消息可以是以下值:*/
WM_MOUSEMOVE //鼠标移动消息
WM_MOUSEWHEEL //鼠标滚轮拨动消息
WM_LBUTTONDOWN //左键按下消息
WM_LBUTTONUP //左键弹起消息
WM_LBUTTONDBLCLK//左键双击消息
WM_MBUTTONDOWN //中键按下消息
WM_MBUTTONUP //中键弹起消息
WM_MBUTTONDBLCLK//中键双击消息
WM_RBUTTONDOWN //右键按下消息
WM_RBUTTONUP //右键弹起消息
WM_RBUTTONDBLCLK//右键双击消息
/*例:*/MOUSEMSG m;
m=Get.MouseMsg();
if(m.uMsg==WM_LBUTTONDOWN); //判断获取的消息是否是左键按下
4.getbacolor(); //获取当前背景颜色
5.if(GetAsyncKeyState(VK_RIGHT)&0x8000) //判断是否按下右方向键,VK_LEFT,VK_UP,VK_DOWN分别对应左,上,下
设置大小样式类:
1.setcolor(c); //设置画线颜色为c
2.setfillcolor(c); //设置填充颜色为c
3.settextcolor(RED); //设置字体颜色为红色
4.settextstyle(36,15,"楷体"); //36为字号,15为字体宽窄
5.setbkmode(TRANSPARENT); //设置文字背景透明
6./*颜色设置可替换为*/HSLTORGB(0-360,0-1,0-1); //三个参数分别为颜色分布(红到绿到蓝到红),饱和度,亮度
7.setlinestyle(int linestyle,unsigned patten, ine width) //设置当前画线的宽度和类型
/*linestyle为整数型,用来定义所画直线类型,具体内容如下:*/
0 SOLID_LINE //实心线
1 DOTTED_LINE //点线
2 CENTER_LINE //中心线
3 DASHED_LINE //断续线
4 USERBIT_LINE //用户自定义线
/*patten和USERBIT_LINE配合使用,具体内容如下:*/
PS_SOLID //实线
PS_DATA //虚线
PS_DOT //点线
PS_DASHDOT //点化线
PS_DASHDOTDOT //双点化线
/*width为线条宽度*/
/*例:*/setlinestyle(PS_SOLID,2,NULL); //宽度为2的实线,第三个参数为NULL,可不加
setlinestyle(PS_SOLID,10); //宽度为10的实心线
setlinestyle(PS_SOLID,10); //宽度为10的实心线
8.LOGFONT f; //定义字体对象
getfont(&f);
f.lfHeight=42; //字号为42
strcpy(f.lfFaceName,"宋体"); //字体为宋体
setfont(&f);
绘制线段图形类:
1.line(x1,y1,x2,y2); //画一条点(x1,y1)到点(x2,y2)的直线
2.circle(x,y,r); //在圆心为(x,y)处画一个半径为r的圆
3.putpixel(x,y,c); //(x,y)位置画一个点,颜色为c。c可用英文也可用编码
4.fillcircle(x,y,r); //在圆心为(x,y)处画一个半径为r的填充圆
5.bar(left,top,right,bottom); //画一个填充矩形,(left,top)为矩形左上角坐标,(right,bottom)为右下角坐标,填充颜色由setfillstyle决定
6.rectangle(left,top,right,bottom); //画一个空矩形框,(left,top)为矩形左上角坐标,(right,bottom)为右下角坐标,线条颜色由setcolor决定
7.fillellipse(x,y,xradius,yradius); //在圆心为(x,y)处画一个填充椭圆,x轴半径x-xradius,y轴半径y-yradius
8.SetWorkingImage(&img); //,IMAGE定义一个img对象,在img对象上绘制直线
显示类:
1.outtextxy(x,y,char *textstring); //在点(x,y)输出字符串*textstring
/*例:*/outtextxy(200,100,_T("hello"));
outtextxy(100,100,"你好");
2.rand()%10; //产生随机数,随机数小于10
rand()%6+1; //随机数1-6
/*单独只有rand()这一句可以产生随机数,但是每次运行都是一种情况,要想每次运行都有不同的随机数,需要添加随机种子srand((unsigned)time(NULL));*/
3.IMAGE img; //定义image对象
loadimage(&img,"c:\\test.jpg"); //读取图片到img对象
putimage(0,0,&img); //在(0,0)点显示图片
/*另外loadimage(NULL,"image/...");可以直接加载到屏幕,适合背景图片*/
4.IMAGE img; //定义image对象
getimage(&img,70,70,130,130); //将左上角坐标(70,70),宽130,长130的矩形区域截取并保存在img中,是一个截图方法
5.IMAGE img(200,200); //创建200*200的img对象
5.HWND hwnd=GetHwnd(); //定义窗口句柄对象
SetWindowText(hwnd,"hello world!"); //设置窗口标题
6.setbkcolor(RED); //设置背景色为红色
cleardevice(); //清空屏幕,然后显示红色背景
7./*批量绘图,执行后,任何绘图操作都暂时不输出到屏幕上,知道执行到EndBatchDraw才将绘图输出*/
BeginBatchDraw(); //开始批量绘制
for(int i=0;i<n;i++)
{
FlushBatchDraw(); //绘制
Sleep(10);
}
EndBatchDraw(); //关闭批量绘制
8./*插入背景音乐*/
/*头文件处加:*/#pragma comment(lib,"Winmm.lib");
/*想要添加音乐处:*/mciSendString("open audio/move.mp3 alias move",NULL,0,NULL); //从audio文件夹找到move.mp3音乐文件并命名为move
mciSendString("play move from 0",NULL,0,NULL); //将move播放一次
mciSendString("play move repeat",NULL,0,NULL); //将move循环播放
mciSendString("stop move",NULL,0,NULL); //将move暂停播放
mciSendString("play move",NULL,0,NULL); //将move从上一次暂停位置开始继续播放
9./*三元光栈(局部透明)*/
putimage(x,y,&img1,SRCAND); //白底黑字
putimage(x,y,&img2,SRCRAINT); //黑底彩字
//先SRCAND模式贴一张白底黑字的图,再SRCRAINT模式贴一张黑底彩字图,然后白底和黑底部分(需要重合)会镂空,也就是透明