easyx库的学习(文字绘制)

前言

昨天刚刚写完了基本图形的制作,今天直接可以来看看,在easyx中使用文字

直接看代码吧

文字绘制

void drawTest()
{
	printf("hello,EasyX");//指的是在控制台打印
	//设置字体大小,样式
	settextstyle(30, 0, "微软雅黑");//第一个参数为长度 第二个参数为宽度
	//设置文字颜色
	settextcolor(BROWN);
	//设置背景模式
	setbkmode(TRANSPARENT);
	//绘制文字
	outtextxy(100, 100, "hello,EasyX");//前2个参数指的是首字符的坐标
	//把需要数字格式化,打印在图形界面上
	int score = 150;
	char a[50] = "";
	sprintf(a, "score:%d", score);
	outtextxy(getwidth() - 100, 0, a);

}
void centerText()
{
	//绘制矩形
	int rx = 30, ry = 380, rw = 200, rh = 60;
	setfillcolor(RGB(230, 231, 232));
	fillrectangle(rx, ry, rx + rw, ry + rh);
	//绘制文字
	settextcolor(RED);
	//使文字在图形中居中,两参数的计算
	int hspace = (rw - textwidth("center Text")) / 2;//当然,如果字符串经常被使用可以用字符串数组使用
	int vspace = (rh - textheight("center Text")) / 2;//这样方便改字符串
	outtextxy(rx + hspace, ry + vspace, "center Text");
	//可以解释一下的 嗯!!! 
	//把问题可以转化为两矩形的对齐,由于字符串是从左上角开始打印的
	//只要左上角对齐就行:我们用大矩形的长或宽减去小矩形的长或宽得到的是 当对齐时小矩形左上角的点
	//离大矩形左上角的点在x或y轴上的距离的两倍
	//最后,只要除2在分别加上大矩形一左上点的坐标,就得到文字左上坐标,也就是第一个坐标
}
int main()
{
	//创造一个图形窗口,并设计窗口颜色
	initgraph(640, 480, EX_SHOWCONSOLE);
	setbkcolor(RGB(231, 114, 227));//设置背景颜色
	cleardevice();//用设计的背景颜色填充窗口
	drawTest();//设计文字
	centerText();//使文本居中

	getchar();
	return 0;
}

看看运行结果

当然在使用时,必须要设置,否则会报错

看看如何解决

点击项目属性

改为多字节字符集

看图

这样问题就解决了

ok

祝大家学的开心

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

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

相关文章

4.4 @ControllerAdvice全局数据处理

4.4 ControllerAdvice全局数据处理 1. 全局异常处理 @ExceptionHandler2. 添加全局数据 ModelAttribute3. 请求参数预处理 InitBinder 顾名思义,@ControllerAdvice 就是@Controller 增强版。@ControllerAdvice 主要用来…

【LAMMPS学习】八、基础知识(3.8)计算扩散系数

8. 基础知识 此部分描述了如何使用 LAMMPS 为用户和开发人员执行各种任务。术语表页面还列出了 MD 术语,以及相应 LAMMPS 手册页的链接。 LAMMPS 源代码分发的 examples 目录中包含的示例输入脚本以及示例脚本页面上突出显示的示例输入脚本还展示了如何设置和运行各…

esp32-通过wifi使用timelib库同步时间(三)

库的安装 本文基于platformIO,安装较为简单如下图 实例代码 完整代码如下,如果时间获取超时请使用time1.aliyun.com获取时间。 /** Time_NTP.pde* Example showing time sync to NTP time source** This sketch uses the Ethernet library*/#include …

通过实例学C#之序列化与反序列化XmlSerializer类

简介 可以将类序列化成xml文件,或者将xml文件反序列化成类对象,一般用于保存或加载项目参数。 构造函数 XmlSerializer() 不使用函数创建一个xmlSerializer对象。 XmlSerializer(Type type) 使用type对象创建一个xmlSerializer对象,注意&…

NotePad++联动ABAQUS

Abaqus 中脚本运行 1. 命令区kernel Command Line Interface (KCLI) execfile(C:\\temp\second develop\chapter2\pyTest1.py)2. CAE-Run Script File->Run Script 3. Abaqus command Abaqus cae noGUIscript.py(前后处理都可)Abaqus Python scr…

牛x之路 - Day1

Day1 微积分之屠龙宝刀(武林秘籍) 之前的一些东西都在pdf上记得笔记, 没有在这个上面展示一遍,只好学到相关内容的时候再提叙啦;所以其实再写这个小记的时候,我已经看了一半的书,但是不要紧&am…

【结构型模式】组合模式

一、组合模式概述 组合模式的定义与意图:将对象组合成树形结构来表现“整体/部分”层次结构。组合能让客户以一致的方式处理个别对象以及对象组合。(对象结构型) 组合模式分析: 1.当容器对象的某一个方法被调用时,将遍…

OpenHarmony网络协议通信—kcp

kcp 是一种 ARQ 协议,可解决在网络拥堵情况下 tcp 协议的网络速度慢的问题 下载安装 直接在 OpenHarmony-SIG 仓中搜索 kcp 并下载。 使用说明 准备一套完整的 OpenHarmony 3.1 Beta 代码 库代码存放路径:./third_party/kcp 修改添加依赖的编译脚本 在/develo…

书生·浦语实战营第二期(六)——Agent

一、概述: 1.1、Lagent: Lagent 是一个轻量级开源智能体框架,旨在让用户可以高效地构建基于大语言模型的智能体。同时它也提供了一些典型工具以增强大语言模型的能力。 Lagent 目前已经支持了包括 AutoGPT、ReAct 等在内的多个经典智能体范式&#xf…

jeecgflow之camunda工作流-串行流程

引言 UserTask用户任务,是需要人处理后才能流转的任务。 本文将构建一个简单的串行流程带大家快速入门camunda工作流。 BPMN在线建模 如需亲自体验文章案例,请访问如下网址。 JeecgFlow演示站点 需求 我们以三国为背景, 假设系统中拥有将军&#xff0c…

ardunio中自定义的库文件

1、Arduino的扩展库都是放在 libraries目录下的。完整路径为:C:\Users\41861\AppData\Local\Arduino15\libraries 所以我们需要在这个目录下创建一个文件夹,比如上面的例子是esp32上led灯控制程序,于是我创建了 m_led文件夹(前面加…

根据 Excel 列生成 SQL

公司有个历史数据刷数据的需求, 开发功能有点浪费, 手工刷数据有点慢, 所以研究了下 excel 直接生成 SQL, 挺好用, 记录一下; 例如这是我们的数据, 要求把创建时间和完成时间刷进数据库中, 工单编号唯一 Excel 公式如下: "UPDATE service_order SET create…

浅析Redis④:字典dict实现

什么是dict? 在 Redis 中,dict 是指哈希表(hash table)的一种实现,用于存储键值对数据。dict 是 Redis 中非常常用的数据结构之一,用于实现 Redis 的键空间。 在 Redis 源码中,dict 是一个通用…

linux中如何挂载yum云仓库进行软件的安装

1.首先在根目录下建立文件,用来挂载镜像文件 [rootclient ~]# mkdir /rhel9 2.挂载镜像文件: [rootclient ~]# mount /dev/cdrom /rhel9 3.切换到 /etc/yum.repos.d 下的目录并查看 ,创建 rhel9.repo文件,并编辑云仓库域名&am…

【LLM 论文】Self-Consistency — 一种在 LLM 中提升 CoT 表现的解码策略

论文:Self-Consistency Improves Chain of Thought Reasoning in Language Models ⭐⭐⭐⭐⭐ ICLR 2023, Google Research 文章目录 论文速读 论文速读 本工作提出了一种解码策略:self-consistency,并可以用于 CoT prompting 中。 该策略提…

Linux使用Libevent库实现一个网页服务器---C语言程序

Web服务器 这一个库的实现 其他的知识都是这一个专栏里面的文章 实际使用 编译的时候需要有一个libevent库 gcc httpserv.c -o httpserv -levent实际使用的时候需要指定端口以及共享的目录 ./httpserv 80 .这一个函数会吧这一个文件夹下面的所有文件共享出去 实际的效果, 这…

NLP_知识图谱_三元组实战

文章目录 三元组含义如何构建知识图谱模型的整体结构基于transformers框架的三元组抽取baselinehow to use预训练模型下载地址训练数据下载地址 结构图代码及数据bertconfig.jsonvocab.txt datadev.jsonschemas.jsontrain.jsonvocab.json 与bert跟data同个目录model.pytrain.py…

华为ensp中rip和ospf路由重分发 原理及配置命令

作者主页:点击! ENSP专栏:点击! 创作时间:2024年4月20日20点21分 路由重分发(Route Redistribution)是指路由器将从一种路由协议学习到的路由信息,通过另一种路由协议通告出去的功…

Linux环境变量深度解析

文章目录 一、引言二、环境变量的基本概念1、环境变量的定义2、环境变量的作用与意义 三、环境变量的导入1、导入所需文件2、登陆时的导入 四、环境变量的设置方法1、查看环境变量的方式2、使用export命令临时设置环境变量3、修改配置文件以永久设置环境变量 五、命令行参数与环…

Python编程与算法面试-编程面试的重点

在求职面试的过程中,编程能力也是面试官非常看重的一项能力。而对于编程这项能力主要的考察点也有三个维度: 初级:编程的基本功 编程的基本功主要考察的编程语言的基本语法,原理知识,以及一些在编程过程中的常见问题…