当前位置: 首页 > 工具软件 > easy-extends > 使用案例 >

Easyx基础知识

屠兴旺
2023-12-01
控制页面类:
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模式贴一张黑底彩字图,然后白底和黑底部分(需要重合)会镂空,也就是透明



 类似资料: