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

祝大家学的开心

相关推荐

最近更新

  1. TCP协议是安全的吗?

    2024-04-21 09:44:04       19 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-04-21 09:44:04       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-04-21 09:44:04       19 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-04-21 09:44:04       20 阅读

热门阅读

  1. springboot整合mybatis-plus

    2024-04-21 09:44:04       14 阅读
  2. PTA-L2-004 这是二叉搜索树吗?

    2024-04-21 09:44:04       14 阅读
  3. ui自动化-appium

    2024-04-21 09:44:04       18 阅读