C++之Easyx——图形库的基本功能(3):形状绘制(上)

目录

                                                                      目录

目录

一、bar

        函数定义

        使用说明

                示例程序

二、circle

        函数定义

        使用说明

                示例程序

三、rectangle

        函数定义

       使用说明

                示例程序

 四、arc

        函数定义

        使用说明

                参考线

                 示例程序


一、bar

        函数定义

void EGEAPI bar(int left, int top, int right, int bottom, PIMAGE pimg = NULL);   

        使用说明

bar(左上顶点x坐标, 左上顶点y坐标, 右下顶点x坐标, 右下顶点y坐标);

绘制一个无边框填充长方形

注意!

这一次定义颜色必须使用setfillcolor定义填充色,使用setcolor是不行的,因为无边框。 

                示例程序

#include <graphics.h>

int main()
{
    initgraph(640, 480);
    setfillcolor(GREEN);
	bar(100,100, 300, 200);
	system("pause");
    closegraph();
    return 0;
}

二、circle

        函数定义

void EGEAPI circle(int x, int y, int radius, PIMAGE pimg = NULL);

        使用说明

circle(圆心的x坐标, 圆心的y坐标, 圆的半径)

画一个圆(不可以是椭圆)。

                示例程序

#include <graphics.h>
using namespace std;

int main(void)
{
	initgraph(500, 500);
	circle(250, 250, 200);
	system("pause");
	return 0;
}

                如果程序不出错,应该是这样的:

三、rectangle

        函数定义

void EGEAPI rectangle(int left, int top, int right, int bottom, PIMAGE pimg = NULL);   // 画矩形

       使用说明

rectangle(左上顶点x坐标, 左上顶点y坐标, 右下顶点x坐标, 右下顶点y坐标);

画一个从(左上顶点x坐标, 左上顶点y坐标)到( 右下顶点x坐标, 右下顶点y坐标)的不填充长方形边框。

                示例程序

#include <graphics.h>
using namespace std;

int main(void)
{
	initgraph(250, 250);
	rectangle(50, 50, 200, 200);
	system("pause");
	return 0;
}

 四、arc

        函数定义

void EGEAPI arc(int x, int y, int stangle, int endangle, int radius, PIMAGE pimg = NULL);                  // 画圆弧

        使用说明

arc(圆心x坐标, 圆心y坐标, 从参考线倾斜......度开始画, 在参考线倾斜......度停止画, int 半径);                  // 画圆弧

画一个不完整的、不填充的圆(圆弧)。

                参考线

                那参考线是哪一条呢?

                就是圆心向右延伸的半径。

                不懂?我来画一个图和一个示例程序解释一下。

#include<graphics.h>
int main(){
	initgraph(400,400);
	arc(200,200,150,350,100);
	getch();
	closegraph();
	return 0;
}

                 示例程序

#include<graphics.h>
int main(){
	initgraph(400,400);
	arc(200,200,150,350,100);
	getch();
	closegraph();
	return 0;
}

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

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

相关文章

【前端素材】推荐优质后台管理系统Sneat平台模板(附源码)

一、需求分析 后台管理系统是一种用于管理网站、应用程序或系统的工具&#xff0c;它通常作为一个独立的后台界面存在&#xff0c;供管理员或特定用户使用。下面详细分析后台管理系统的定义和功能&#xff1a; 1. 定义 后台管理系统是一个用于管理和控制网站、应用程序或系统…

snmp协议开通教程

目录 一、什么是snmp协议&#xff1f; 二、snmp协议可以用来干什么&#xff1f; 三、snmp协议的开通 1、snmpv2协议开通 2、snmpv3协议开通 一、什么是snmp协议&#xff1f; SNMP&#xff08;Simple Network Management Protocol&#xff09;是一种用于网络管理的标准协议&a…

Redis cluster集群搭建

1.cluster集群原理 1.1最低需要6个节点即三主三从&#xff0c;每个主节点对应一个从节点 1.2数据存储采用分片存储方式&#xff0c;整个redis集群有16384个哈希槽&#xff0c;集群中的每个节点负责一部分哈希槽&#xff0c;现在集群中三个主节点&#xff0c;就会把这些哈希槽…

VR系统的开发流程

虚拟现实&#xff08;Virtual Reality&#xff0c;VR&#xff09;系统是一种通过计算机技术模拟出的具有三维视角和交互性的虚拟环境&#xff0c;使用户能够沉浸在其中并与虚拟环境进行交互。这种技术通常利用头戴式显示器和手柄等设备&#xff0c;使用户能够感觉到仿佛身临其境…

Elasticsearch:基于 Langchain 的 Elasticsearch Agent 对文档的搜索

在今天的文章中&#xff0c;我们将重点介绍如何使用 LangChain 提供的基础设施在 Python 中构建 Elasticsearch agent。 该 agent 应允许用户以自然语言询问有关 Elasticsearch 集群中数据的问题。 Elasticsearch 是一个强大的搜索引擎&#xff0c;支持词法和向量搜索。 Elast…

C 嵌入式系统设计模式 11:观察者模式

本书的原著为&#xff1a;《Design Patterns for Embedded Systems in C ——An Embedded Software Engineering Toolkit 》&#xff0c;讲解的是嵌入式系统设计模式&#xff0c;是一本不可多得的好书。 本系列描述我对书中内容的理解。本文章描述访问硬件的设计模式之四&…

VSCODE include错误 找不到 stdio.h

解决办法&#xff1a; Ctrl Shift P 打开命令面板&#xff0c; 键入 “Select Intellisense Configuration”&#xff08;下图是因为我在写文章之前已经用过这个命令&#xff0c;所以这个历史记录出现在了第一行&#xff09; 再选择“Use gcc.exe ”&#xff08;后面的Foun…

C# If与Switch的区别

在 switch 语句中使用表达式比较时&#xff0c;编译器会生成一个查找表&#xff0c;其中包含所有表达式的值和对应的 case 标签。因此&#xff0c;与使用常量或字面量比较相比&#xff0c;使用表达式比较可能会略微降低性能。 只有当 switch 语句中的所有 case 标签都使用常量或…

Linux快速修改ip地址

Linux修改IP配置 一 、查找ip配置文件 ifcfg-ens33二、编辑 vi ifcfg-ens33文件三、重启网络或者重启系统 一 、查找ip配置文件 ifcfg-ens33 cd /etc/sysconfig/network-scripts/ls //查看network-scripts文件夹下面的文件二、编辑 vi ifcfg-ens33文件 vi ifcfg-ens33注意&…

反序列化 [NPUCTF2020]ReadlezPHP1

打开题目 直接查看源代码 打开源代码发现了个./time.php?source 访问一下 审计代码&#xff1a; 现存在反序列化语句&#xff1a;$ppp unserialize($_GET["data"]);和执行漏洞&#xff1a;echo $b($a); 发现在__destruct()方法里面有 echo $b($a); 这个是php的…

用6点结构标定5点结构的顺序

( A, B )---6*30*2---( 1, 0 )( 0, 1 ) 让网络的输入只有6个节点&#xff0c;AB训练集各由6张二值化的图片组成&#xff0c;A的6张图片共有5个点&#xff0c;B全是0.收敛误差7e-4&#xff0c;收敛199次&#xff0c;统计迭代次数平均值并排序。 如果使行和列自由变换&#xff0…

Sora是什么?

文章目录 前言Sora是什么&#xff1f;功能特色优点 缺点Sora模型的工作原理如何使用Sora模型Sora模型的应用场景Sora模型带来的问题虚假信息版权问题 后记 前言 Sora是美国人工智能研究公司OpenAI发布的一款令人惊叹的人工智能文生成视频大模型。近年来&#xff0c;人工智能技…

《凤凰架构》 -分布式事务章节 读书笔记

分布式事务严谨的定义&#xff1a;分布式环境下的事务处理机制 CAP定理&#xff1a;在一个分布式系统中&#xff0c;涉及共享数据问题时&#xff0c;以下三个特性最多只能同时满足两个 一致性&#xff1a;代表数据在任何时刻、任何分布式节点中看到的都是符合预期的&#xff0…

SpringBoot-2.7.6基于SLF4J日志门面的日志框架切换

SpringBoot 没有强制性的日志记录依赖项,但 Commons Logging API 除外,它通常由 Spring Framework 的模块提供。 要使用 Logback,您需要将其包含在类路径中。 推荐的方法是您只需要通过启动器,这都取决于 . 对于 Web 应用程序 ,因为它可传递地依赖于日志记录启动器。 如果…

持续集成,持续交付和持续部署的概念,以及GitLab CI / CD的介绍

引言&#xff1a;上一期我们部署好了gitlab极狐网页版&#xff0c;今天我们介绍一下GitLabCI / CD 目录 一、为什么要 CI / CD 方法 1、持续集成 2、持续交付 3、持续部署 二、GitLab CI / CD简介 三、GitLab CI / CD 的工作原理 4、基本CI / CD工作流程 5、首次设置 …

ELK入门(三)-Kibana

Kibana Kibana是一个开源的分析与可视化平台&#xff0c;设计出来用于和Elasticsearch一起使用的。你可以用kibana搜索、查看存放在Elasticsearch中的数据。Kibana与Elasticsearch的交互方式是各种不同的图表、表格、地图等&#xff0c;直观的展示数据&#xff0c;从而达到高级…

让C语言代码变抽象(二)

目录 前言&#xff1a; 代码&#xff1a; 前言&#xff1a; 在今天写代码的时候&#xff0c;我又想到一个更抽象的代码。 我在写注释的时候突然想想到条件编译的东西&#xff0c;好像也能用来注释东西。 代码&#xff1a; 我们在这直接上干货 我们知道在条件编译中有一个叫…

鸿蒙开发-DevEcoStudio的安装及使用

DevEcoStudio的安装及使用 前言 DevEcoStudio分为两个版本&#xff0c;分别用于HarmonyOS和OpenHarmony开发&#xff0c;截止文档编写时&#xff0c;用于开发HarmonyOS的DevEcoStudio版本为3.1.1&#xff0c;适用于OpenHarmony的DevEcoStudio版本为4.0.0。 接下来的文档是基…

React18源码: schedule任务调度messageChannel

React调度原理(scheduler) 在React运行时中&#xff0c;调度中心&#xff08;位于scheduler包&#xff09;是整个React运行时的中枢&#xff08;其实是心脏&#xff09;&#xff0c;所以理解了scheduler调度&#xff0c;就基本掌握了React的核心React两大循环&#xff1a;从宏…

年关将至送大礼 社区适时献爱心

在这个快节奏的时代&#xff0c;社区作为人们生活的重要组成部分&#xff0c;其凝聚力和互助精神显得尤为重要。2024年2月7日&#xff0c;实践队员李若钰有幸参与了社区礼盒分装的活动&#xff0c;这不仅仅是一次简单的劳动&#xff0c;更是一次心灵的洗礼和感悟。 礼盒分装&am…