easyx库的介绍

前言

如果想要摆脱黑窗口的限制那么easyx图形库是一个好的选择

easyx的初认识

easyx是针对c++的图形库,可以帮助c/c++上手图形和游戏编程
所以要用easyx必须要用.cpp的后缀
1 easyx的原理
window的图形编程,最终都由window的底层API来实现
2 easyx的颜色
用RGB宏合成颜色,合成的颜色为16进制的一个整数
RGB 红部分 绿部分 蓝部分
每个部分都是0-255
数字越大颜色越浅
255 255 255对应的是白色
3easyx的坐标和设备
坐标的默认原点在窗口的左上角,x轴向右为正,Y轴向下为正,单位为像素点。
easyx的的设备分两种,一种是默认的窗口,另一种是IMAGE。
4 eastx的窗口函数
4-1 intigraph(int width,int height,int flag=NULL);用于初始化窗口
width 指窗口宽度  height指窗口高度  flag窗口的格式,默认为NULL
4-2 closegraph();关闭窗口
4-3 cleardevice();清空绘图设备
对于easyx的介绍到此为止,接下来要敲代码来实现。

easyx实现基本图形的打印

void drawshape()
{
    //绘制一个点
    putpixel(50, 50, RED);
    //设置线条颜色
    setlinecolor(BLUE);
    //设置线条样式
    setlinestyle(PS_SOLID);
    //绘制一条线
    line(0, 0, getwidth(), getheight());//第一个参数为起始点 第二个参数为终点
    //绘制一个正矩形
    rectangle(100, 0, 100 + 50, 0 + 50);//第一个参数指的是左边的起始x坐标
    //第二个参数指的顶部的起始高度(Y轴的参数)
    // 第三个参数指的是矩形右边的x坐标,可以写成100+50,其实就是左加右
    // 第四个参数指的是下面底部的的y坐标,可以写成0+50,其实就是顶加底
    setfillcolor(YELLOW);// 设置填充颜色
    fillrectangle(100, 50, 100 + 50, 50 + 50);// 填充一个矩形
    solidrectangle(100, 100, 100 + 50, 100 + 50);//设置一个无边框的矩形
    //绘制一个圆角矩形,也可以有填充,和无边框
    roundrect(160, 0, 160 + 50, 0 + 50,10,10);
    fillroundrect(160, 50, 160 + 50, 50 + 50, 10, 10);
    solidroundrect(160, 100, 160 + 50, 100 + 50, 10, 10);
    //虽然没有边框但是仍然会有填充
    //绘制一个圆形
    circle(50, 50, 50);
    fillcircle(50, 150, 50);
    solidcircle(50, 250, 50);
    //绘制椭圆
    setfillcolor(GREEN);
    ellipse(220, 0, 220 + 50, 0 + 100);//参数和矩形一致,很明显是一个内接于矩形的椭圆
    fillellipse(280, 0, 280 + 50, 0 + 100);//填充
    solidellipse(340, 0, 340 + 50, 0 + 100);//无边框
    //绘制折线条
    //这个超纲了    emmmmmmmmm
}
int main()
{
    //创造一个图形窗口:长*宽
    initgraph(640, 480,EX_SHOWCONSOLE);
    //设置窗口的背景颜色
    setbkcolor(RGB(235,52,188));
    //用设计的背景颜色填充
    cleardevice();
    //窗口的坐标
    drawshape();
    //防止程序退出
    getchar();
    return 0;
}

看看运行结果


总结


这里简单介绍几种图形的绘制,其实还有很多图形没有讲到,可以在源文件中查看,需要在接下来的学习中不断地巩固

当然了,这些东西最好是要在程序中运行,自己动手才能有所收获

好好看 好好学


 


 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/560248.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【Java笔记】第4章:深入学习循环结构

前言1. 循环的理解2. while循环3. do...while循环4. for循环5. 循环的控制语句6. 循环的嵌套结语 ↓ 上期回顾: 【Java笔记】第3章:深入学习分支结构 个人主页:C_GUIQU 归属专栏:【Java学习】 ↑ 前言 各位小伙伴大家好!上期小编…

Mac下删除旧版本.net sdk

参照微软官网给的方法,Releases dotnet/cli-lab (github.com) 好像不能直接的解决问题,我做一下补充,希望对需要删除旧版本sdk的小伙伴们有所帮助 1:下载工具包 Releases dotnet/cli-lab (github.com) 2:打开终端,cd切换到该文件的制定目录 3:然后按照提示一步步执行…

2024上海国际半导体制造设备材料与核心部件展览会

2024上海国际半导体制造设备材料与核心部件展览会 2024 Shanghai International Semiconductor Manufacturing Equipment Materials and Core Components Exhibition 时间:2024年11月18日-20日 地点:上海新国际博览中心 详询主办方陆先生 I38&#…

【干货精品分享】Elasticsearch 6.7 Should 子语句的失效

在ES 使用多条件 查询,并且是多个条件只需要满足部分条件的时候,我们通常会使用到ES的should查询 GET /trademark_query_index/_search {"query":{"bool" : {"must":[{"match" : {"origin": {"…

PACS系统源码 新一代的医学图像管理系统 pacs 云影像,PACS云胶片,PACS影像工作站系统源码

PACS系统源码 新一代的医学图像管理系统 pacs 云影像,PACS云胶片,PACS影像工作站系统源码 三甲医院医学影像PACS系统源码,集成三维影像后处理功能,包括三维多平面重建、三维容积重建、三维表面重建、三维虚拟内窥镜、最大/小密度投影、心脏动脉钙化分…

SynchronousQueue

SynchronousQueue 解释: 同步队列 介绍 实现了BlockingQueue 和 Queue 其中每个插入操作必须等待另一个线程相应的删除操作 同步队列没有任何容量,甚至没有一个容量 如果你想放入一个元素,就必须有另外一个线程尝试从中移除元素 使用 …

软件行业中的蓝海领域有哪些?

什么是蓝海? 蓝海,指的是未知的市场空间。这个概念相对于“红海”而言,红海则是指已知的市场空间。 企业要启动和保持获利性增长,就必须超越产业竞争,开创全新市场,这其中包括两块:一块是突破…

Shader 渐变屏幕

渐变 前置工作,创建缓冲,对顶点着色器传递顶点数据 function main() {var canvas document.getElementById(webgl);var gl getWebGLContext(canvas);if (!initShaders(gl, VSHADER_SOURCE, FSHADER_SOURCE)) returnvar n initVertexBuffers(gl); }fu…

多个路由器连接的PC端进行ping通信需要做的事

实验环境: 三台PC三台路由器,并且配置好IP 拓扑图: 需求描述: 在PC0进行与PC2的ping通信: 需求步骤: 1.1首先配置ip(略过) 1.2我们首先查看在只配置了IP的情况下,P…

小程序如何优化搜索排名,获取曝光

在移动互联网时代,小程序以其便捷、轻量级的特点,逐渐成为用户获取服务的重要渠道。然而,小程序数量众多,如何让自己的小程序在搜索中脱颖而出,获取更多的曝光和流量,成为众多开发者关注的焦点。 一、理解…

javascript遍历多层级数据

javascript遍历多层级数据 代码 // data:需要处理的数据 level:用于标记数据所在层级(从1开始) const dataLoop(data, level 1)>{return data.map(item>{let r {...item, level}console.log(item, item)// 判断如果有下级,就传入children继续向下循环if(r…

Vuex 的原理

Vuex 是一个专为 Vue.js 应用程序开发的状态管理模式。每一个 Vuex 应用的核心就是 store(仓库)。“store” 基本上就是一个容器,它包含着你的应用中大部分的状态 ( state )。 Vuex 的状态存储是响应式的。当 Vue 组件从 store 中读取状态的…

在Vue项目使用kindEditor富文本编译器以及上传图片

第一步 npm install kindeditor第二步&#xff0c;建立kindeditor.vue组件 <template><div class"kindeditor"><textarea :id"id" name"content" v-model"outContent"></textarea></div> </templa…

【C语言__结构体__复习篇5】

目录 前言 一、结构体基础知识 1.1 结构体的语法形式 1.2 创建结构体变量 1.3 结构体变量的初始化 1.4 点(.)操作符和箭头(->)操作符 二、匿名结构体 三、结构体自引用 四、结构体内存对齐 4.1 内存对齐的规则 4.2 出现结构体内存对齐的原因 4.3 修改默认对齐数 五、结…

JavaScript高级

一、JavaScript 面向对象 面向对象编程介绍ES6 中的类和对象类的继承面向对象案例 1. 面向对象编程介绍 1.1 两大编程思想 面向过程面向对象 1.2 面向过程编程 POP(Process-oriented programming) 面向过程 就是分析出解决问题所需要的步骤&#xff0c;然后用函数把这些步…

shell脚本编程的例子(50例子)-1

前言 为了提高教学质量&#xff0c;并且能够让童鞋们更好的理解和运用shell脚本以及相关编程&#xff0c;特编写了50个shell例子&#xff0c;目前还在整理过程ing&#xff0c;计划分三期完成。请有需要的同学收藏。后续会申请VIP阅读。…… ^.^ …… ^…^ 实验环境&#xff1…

javaWeb项目-智慧餐厅点餐管理系统功能介绍

项目关键技术 开发工具&#xff1a;IDEA 、Eclipse 编程语言: Java 数据库: MySQL5.7 框架&#xff1a;ssm、Springboot 前端&#xff1a;Vue、ElementUI 关键技术&#xff1a;springboot、SSM、vue、MYSQL、MAVEN 数据库工具&#xff1a;Navicat、SQLyog 1、JavaScript Java…

C语言进阶课程学习记录-内存操作经典问题分析

C语言进阶课程学习记录-内存操作经典问题分析 实验-示例1优化 实验-示例2优化 实验-示例3实验-示例4小结 本文学习自狄泰软件学院 唐佐林老师的 C语言进阶课程&#xff0c;图片全部来源于课程PPT&#xff0c;仅用于个人学习记录 实验-示例1 #include <stdio.h> #include…

ChatGPT研究论文提示词集合1-【主题选择与问题研究、文献综述】

点击下方▼▼▼▼链接直达AIPaperPass &#xff01; AIPaperPass - AI论文写作指导平台 目录 1.主题选择与问题定义 2.文献综述 3.书籍介绍 AIPaperPass智能论文写作平台 近期小编按照学术论文的流程&#xff0c;精心准备一套学术研究各个流程的提示词集合。总共14个步骤…

HTTP请求中的cookie与session(servlet实现登录页面的表单验证)

一、cookie 与 session 1&#xff09;cookie 与 session 的定义 2&#xff09;相关的servlet中的 方法 二、代码实现 登录页面 1&#xff09;先用 vscode 编写登录页面 注意文件的路径 在webapp路径下 <!DOCTYPE html> <html lang"en"><head>&…