前言
昨天刚刚写完了基本图形的制作,今天直接可以来看看,在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
祝大家学的开心