当前位置: 首页 > news >正文

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#程序结构
  • 单北斗终端:铸就国产科技脊梁
  • 告别 ifconfig:为什么现代 Linux 系统推荐使用 ip 命令
  • 【蓝桥杯Web】2022年十三届省赛大学组真题 冬奥大抽奖 介绍 蓝桥云课庆冬奥需要举行一次抽奖活动,我们一起做一个页面提供给云课冬奥抽奖活动使用。
  • 【算法】【蓝桥23国A软件C】四版代码思路分析与逐步优化
  • influxdb数据导出笔记
  • 【结肠息肉AI论文集】Shallow Attention Network for Polyp Segmentation
  • Flutter容器组件深度解析
  • C++基础精讲-02
  • idea里面不能运行 node 命令 cmd 里面可以运行咋回事啊
  • 北京大学DeepSeek内部研讨系列:AI在新媒体运营中的应用与挑战|122页PPT下载方法
  • Excel通过VBA脚本去除重复数据行并保存
  • 2025年常见渗透测试面试题- PHP考察(题目+回答)
  • Kotlin 通用请求接口设计:灵活处理多样化参数
  • HackMyVM-Hotel
  • springboot返回所有接口详细信息
  • 2.Spring-注解开发定义bean/纯注解开发/Spring整合MyBatis(p21-p30)
  • 【动手学深度学习】现代卷积神经网络:ALexNet
  • vue实现目录锚点且滚动到指定区域时锚点自动回显——双向锚点
  • [特殊字符] 企业级Docker私有仓库实战:3步搭建Harbor安全仓库,镜像管理从此高效无忧
  • 东营微信开发网站建设/免费制作网页的网站
  • 亚马逊网站入口/什么是淘宝搜索关键词
  • 广州企业网站设计方案/做seo排名好的公司
  • 深圳网站设计比较好的公司有哪些/seo云优化
  • 新疆政府采购网/广州百度seo公司
  • tk后缀网站是什么网站/百度小程序入口