eaxyx界面学习

2023-11-19

1、easyX的原理

基于Windows图形编程,将Windows下的复杂程序过程进行封装,仅给用户提供一个简单熟悉的接口。用户对于图形库中函数的调用,最终都会由Windows底层的API实现。

在官网搜索eaxyx下载点击安装即可

 接着引用<

easyX的坐标

坐标原点默认为窗口的左上角,X轴向右为正,Y轴向下为正,度量单位为像素点。

已打开的界面左上的直角为原点做x轴y轴

基本的有如下

 1、窗口函数 

2.    图形绘制

3     文字绘制

4.   文件图片引入

    initgraph(int width, int height, int flag = NULL);    //用于初始化绘图窗口(创建窗口)

   width 即窗口的宽       height 即窗口的高   flag 为窗口的样式默认为NULL  

   第三个参数可以用来设置控制台和绘图窗口的最小化和关闭按钮

    EW_SHOWCONSOLE       //显示控制台

    EW_NOCLOSE           //没有关闭按钮   (可以用来恶搞 ^_^)

    EW_NOMINIMIZE       //没有最小化按钮   

    closegraph();    //关闭绘图窗口

    cleardevice();  //清空绘图设备

1.画圆 circle(int x,int y,int r);
 画圆    circle(int X,int Y,int R);       //以(x,y)为圆心,R为半径画圆 另外两种样式相同

2.画矩形 rectangle(int x1,int y1,int x2,int y2); 
rectangle(int x1,int y1,int x2,int y2);   //以(x1,y1)为左上顶点(x2,y2)为右下顶点画矩形

3.画线条  line(int x1,int y1,int x2,int y2) ; 
line(int x1,int y1,int x2,int y2) ;    //连接(x1,y1)和(x2,y2)的一条线段

4.设置填充颜色  setfillcolor(颜色); 
setfillcolor(颜色);   //设置填充颜色,如setfillcolor(RED);  

5.设置线条颜色   setlinecolor(颜色);
setlinecolor(颜色); //设置线条颜色,如setlinecolor(YELLOW);

6.设置线条样式  setlinestyle(样式, 线宽);
setlinestyle(样式, 线宽);  //设置线条样式,setlinestyle(PS_SOLID, 3);   宽为3的实线

7.设置背景颜色  setbkcolor(颜色);
setbkcolor(颜色);     //设置背景颜色,如    setbkcolor(WHITE);

8.设置背景模式      setbkmode(模式); 
  setbkmode(模式);   //设置背景模式,一般使用设置为透明    setbkmode(TRANSPARENT);

1.绘制文字 outtextxy(int x,int y,文字);
outtextxy(int x,int y,LPCTSTR str); //在(x,y)输出文字str,如   outtextxy(10,10,"你好");

 注意:使用字符串时出现错误 

解决方法: 1.在字符串前加上L 。 即outtextxy(10,10,L"你好");

             2.进入项目 -> 属性 ->配置属性 ->常规 -> 字符集 -> 改为多字节字符集

2.设置字体颜色     settextcolor(颜色);
    settextcolor(颜色);   //设置字体颜色,如    settextcolor(BLUE); 

3.设置字体样式   settextstyle(int Height,int Width, 样式);
 settextstyle(int Height,int Width, 样式);  //设置字体类型,如settextstyle(30,0,"行楷");

 Height : 即字体的平均高度    Width : 即字体的平均宽度(为0表示自适应)

 3.获取文本的宽度     textwidth(文本);
    textwidth(文本);   //获取文字宽度,如    textwidth("哈哈哈哈");

4. 获取文本的高度     textheight(文本);
    textheight(文本);  //获取文本高度,如     textheight("嘿嘿");
 

3、图像处理函数
1.图像类型变量 IMAGE
在使用图像之前,需要先定义一个变量(对象),然后把图片加载进变量能使用。

定义一个图像变量,如 IMAGE img;

2.加载图像 loadimage(&img, 文件路径,宽, 高,是否调整 IMAGE大小来适应图片);
 loadimage(IMAGE *pDstImg,文件路径, 宽,高, bool  bResize = false);  

相对路径: ./ 表示当前文件夹下  ../ 表示上一级文件夹  如:./123.jpg

绝对路径:C:\\Users\\ASUS\\Desktop\\eaxyX项目\\eaxyX\\eaxyX\\123.jpg

如,loadimage(&img,"./123.jpg"); 

3.在设备上绘制图片 putimage(X,Y,&img)
 putimage(X,Y,&img,三元光栅操作码) 

 //把(x,y)作为左上角顶点放置图片,最后一个参数一般用不到

4、鼠标消息函数
1. 鼠标消息判断 MouseHit()
用MouseHit()来判断是否有鼠标消息(左键,右键,中间,移动) 

2.鼠标消息MOUSEMSG类型及其成员
如  MOUSEMSG    msg;   

鼠标消息(msg)的成员

uMsg,    //当前鼠标消息

x,           //当前鼠标x坐标

y,           //当前鼠标y坐标

使用鼠标消息的成员 如,msg.uMsg,msg.x,msg.y 

 uMsg是用来判断鼠标消息的类型

主要的两个消息 WM_LBUTTONDOWN 鼠标左击消息

                          WM_RBUTTONDOWN 鼠标右击消息

 3.鼠标消息接收  msg = GetMouseMsg();
如果有鼠标消息,就可以进行接收鼠标消息了  msg = GetMouseMsg();
 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

eaxyx界面学习 的相关文章

随机推荐

  • STM32通用定时器使用详解

    1 通用定时器基本介绍 通用定时器包括TIM2 TIM3 TIM4和TIM5 STM32通用定时器是一个通过可编程预分频器驱动的16位自动装载计数器构成 每个定时器都是完全独立的 没有互相共享任何资源 它们可以一起同步操作 定时器可以进行定
  • main.c(31): warning: #223-D: function “uart_init“ declared implicitly

    Keil5编程之warning 223 D function xxx declared implicitly 1 函数没有头文件中进行声明 在头文件中添加声明 2 定义错误 字母大小可能不一致 仔细看一下出现问题的函数是否在声明和调用时使用
  • C语言入门——适合练手的密码本项目

    一 引言 学C语言有一段时间了 趁着正好做了密码本的小项目 把它分享出来 二 思路与原理 密码本 见名知意 就是存放账号密码 起到备忘录作用的本子 将需要备忘的数据通过加密存放在文本文件中 打开的文本文件为加密文本 需要通过软件查看已经存放
  • 用实际例子理解回调函数(Calback)

    用实际例子理解回调函数 Calback 在我们编码的过程中 调用和回调几乎无处不在 但是我对回调函数到底是怎样一回事并没有一个真正透彻的理解 最近我查找学习了一些资料 学到了很多 我参考了一些知乎上的分享 很不错 https www zhi
  • <数据结构>创建一个单链表

    单链表基本操作的实现 内容 构建线性表的链式存储结构 采用动态分配方式实现单链表的初始化 数据的插入 删除 输出单链表内中各元素 求单链表的长度 实现单链表中数据结点的按值排序 实现单链表的逆置 合并两个有序的单链表 有序的a表和有序的b表
  • node版本管理工具nvm

    1 标题卸载nvm和node js 系统变量中删除nvm添加变量 NVM HOME和NVM SYMLINK 环境变量中 path 删除nvm自动添加的变量 Path NVM HOME NVM SYMLINK 删除自身安装node环境 参考图
  • 《机器人操作系统入门》课程代码示例安装出错解决方法

    问题描述 学习 机器人操作系统入门 课程时 在Ubuntu 16 04 上安装了kinetic 安装ROS Academy for Beginners时依赖总是报错 如下所示 rosdep install from paths src ig
  • endnote插入的不是序号(而是大括号加上作者)的解决

    仅作为记录 大佬请跳过 之前用word通过endnote导入文献 都是可以的 在正文出现 1 的引用 但是博主新的word 需要修改参考文献 因此拟重新导入参考文献来修改 但发现导入的都是 Dou 2017 在正文中 文章目录 解决 参考
  • 50多个开源PDF阅读编辑工具汇总

    PDF Editing Creation 50 open source free alternatives to Adobe Acrobat 文章来源于这里 版权归原作者所有 Adobe Acrobat is expensive but t
  • QT QTableWidget 表格 学习笔记

    首先 了解一下QTableWidget 控件的属性 成员方法 功能 setText const QString text 设置单元格中的文本 setlcon const Qlcon icon 给单元格添加图标 setBackground c
  • unity3d 输入法相关API

    Input inputString 获取输入的文字 正在打的中文是接受不到的 只有在文字写到文本框才能获取 Input imeCompositionMode 是否是激活输入框状态 on 是 Input compositionString 空
  • 软件测试之登录测试详解

    一 功能测试 登录 功能性测试用例包括 1 什么都不输入 点击提交按钮 看提示信息 非空检查 2 输入已注册的用户名和正确的密码 验证是否登录成功 3 输入已注册的用户名和不正确的密码 验证是否登录失败 并且提示信息正确 4 输入未注册的用
  • mysql将执行过的sql放到历史记录里面

    查看是不是开启将历史执行的sql存入文件 show variables like general log 输出结果如下 gt Variable name Value
  • Anaconda安装教程

    文章目录 1 下载链接 2 安装步骤 3 确认已安装Anaconda 4 问题解决 4 1问题一 4 2问题二 1 下载链接 Anaconda百度网盘链接 点击即可进入百度网盘 提取码u5fx 建议不要去官网下载最新版本的 因为后期可能会遇
  • H264视频传输、编解码----RTSP认证

    Rtsp认证主要分为两种 基本认证 basic authentication 和摘要认证 digest authentication 基本认证是http 1 0提出的认证方案 其消息传输不经过加密转换因此存在严重的安全隐患 摘要认证是htt
  • 智能门禁(2)---安检人脸识别人证验证系统解决方案

    安检人脸识别人证验证系统解决方案方案 一 概述及特点 基于可见光下的中远距离人脸识别算法 人脸识别智能监控平台 对多个摄像头监控范围内的多个人脸同时进行检测 跟踪和识别 实时对人员身份进行确认 一旦发现黑名单人员 自动报警 实现24小时的非
  • Python沙雕故事生成器

    Python故事生成器 本文章小编来给大家分享使用Python制作一个故事生成器 仅供娱乐 一 知识归纳 StringVar 控件变量 python中在使用界面编程时 用于跟踪数值不断发生变化的变量 确保数值的变更可以随时在根窗口上面显示出
  • YOLO3 -- 介绍

    YOLO介绍 YOLO官网 YOLO You Only Look Once 是目标检测模型 目标检测是计算机视觉中比较简单的任务 用来在一张图片中找到某些特定的物体 目标检测不仅要求我们识别这些物体的种类 同时要求我们标出这些物体的位置 Y
  • 【深度学习系列】用Tensorflow进行图像分类

    上个月发布了四篇文章 主要讲了深度学习中的 hello world mnist图像识别 以及卷积神经网络的原理详解 包括基本原理 自己手写CNN和paddlepaddle的源码解析 这篇主要跟大家讲讲如何用PaddlePaddle和Tens
  • eaxyx界面学习

    1 easyX的原理 基于Windows图形编程 将Windows下的复杂程序过程进行封装 仅给用户提供一个简单熟悉的接口 用户对于图形库中函数的调用 最终都会由Windows底层的API实现 在官网搜索eaxyx下载点击安装即可 接着引用