EasyX 图形库学习笔记

课程链接:EasyX 快速入门

文章目录

  • EasyX 坐标和设备
  • EasyX 图形编程
    • 窗口函数
    • 图形绘制函数
    • 文字绘制函数

EasyX 是针对 C++ 的图形库,源文件只能是 .cpp 文件。

EasyX 坐标和设备

  • 坐标默认远点在左上角,X 轴向右为证,Y 轴向下为正,度量单位是像素点
  • 设备:绘图表面
    • 默认的绘图窗口
    • IMAGE 对象

EasyX 图形编程

窗口函数

initgraph(int width, int height, int flag = NULL); // flag 是窗口样式,默认为 NULL
closegraph(); // 关闭绘图窗口
cleardevice(); // 清空绘图设备

图形绘制函数

绘图函数样式可分为无填充、有边框填充、无边框三种。

以画圆为例:

  1. 无填充:circle(int x, int y, int radius);
  2. 有边框填充:fillcircle(int x, int y, int radius);
  3. 无边框填充:solidcircle(int x, int y, int radius);

画圆 circle(),画椭圆 ellipse(),画扇形 pie(),画多边形 polygon(),画矩形 rectangle(),画圆角矩形 roundrect(),画线 line(),画点 putpixel()

  • 设置填充颜色 void setfillcolor(COLORREF color);
  • 设置边框颜色 void setlinecolor(COLORREF color);
  • 设置线条样式 void setlinestyle(int style, int thickness = 1, const DWORD *puserstyle = NULL, DWORD userstylecount = 0);
  • 设置背景颜色 void setbkcolor(COLORREF color);
  • 清屏 void cleardevice();

文字绘制函数

  • 在指定位置输出字符串:void outtextxy(int x, int y, LPCTSTR str);
    • 由于字符集错误导致找不到对应函数的解决方式
      • 在字符串前面加上大写的 L
      • 将字符串放入 TEXT(),_T()
      • 进 项目->属性->配置属性->常规->字符集 改为多字节字符集
  • 设置当前文字颜色:void settextcolor(COLORREF color);
  • 设置字体样式:settextstyle(int nHeight, int nWidth, LPCTSTR IpszFace);
    • nHeight 指定高度
    • nWidth 字符的平均宽度。如果为 0,则比例自适应
    • IpszFace 字体名称
  • 获取字符串实际占用的像素高度:textheight(LPCTSTR str);
  • 获取字符串实际占用的像素宽度:textwidth(LPCTSTR str);
  • 设置背景混合模式:void setbkmode(int mode);setbkmode(TRANSPARENT); 背景透明。

你可能感兴趣的:(学习笔记,c语言,c++)