大家在想自由输出不同样子的字体的时候一定思考过,比如能不能输出更大的字?其他字体的字? 字的样式等等,这些可以吗?
在easyX里是完全可以的,需要用到settextstyle函数,settextstyle函数被函数重载为多种函数形式,在easyX头文件中全部定义如下:
void settextstyle(int nHeight, int nWidth, LPCTSTR lpszFace); void settextstyle(int nHeight, int nWidth, LPCTSTR lpszFace, int nEscapement, int nOrientation, int nWeight, bool bItalic, bool bUnderline, bool bStrikeOut); void settextstyle(int nHeight, int nWidth, LPCTSTR lpszFace, int nEscapement, int nOrientation, int nWeight, bool bItalic, bool bUnderline, bool bStrikeOut, BYTE fbCharSet, BYTE fbOutPrecision, BYTE fbClipPrecision, BYTE fbQuality, BYTE fbPitchAndFamily); void settextstyle(const LOGFONT *font); // Set current text style void gettextstyle(LOGFONT *font); // Get current text style
文教程将重点介绍最为常用的第一种方式,其余更多参数大家可以参考easyX官方使用手册
void settextstyle(int nHeight, int nWidth, LPCTSTR lpszFace);
此处settextstyle有三个参数,意义分别为:
int nHeight:表示字体的高度,即控制了字的大小
int nWidth :表示字符串的宽度,一般我们可以输入0,表示自适应,以防止字体扭曲变形
LPCTSTR lpszFace:以何种字体显示
如我们想以高为50的字体输出字符串“www.dotcpp.com”,以Consolas字体输出,则代码为:
//www.dotcpp.com #include <graphics.h> // 引用图形库头文件 #include <conio.h> int main() { initgraph(640, 480); // 创建绘图窗口,大小为 640x480 像素 setcolor(LIGHTBLUE); settextstyle(50,0,"Consolas"); outtextxy(100,100,"www.dotcpp.com"); getch(); // 按任意键继续 closegraph(); // 关闭绘图窗口 return 0; }
大家注意,我们还是使用亮蓝色,并且都要在outtextxy执行之前设定好这些,就可以起作用,效果为:
这里字体样式非常多,大家可以使用常见的,黑体、楷体、宋体、行楷、微软雅黑、仿宋等等都可以,大家可以看自己电脑C:\Windows\Fonts里的所有ttf文件的名字都可以使用
本文固定URL:https://www.dotcpp.com/course/1199
C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:
一点编程也不会写的:零基础C语言学练课程
解决困扰你多年的C语言疑难杂症特性的C语言进阶课程
从零到写出一个爬虫的Python编程课程
只会语法写不出代码?手把手带你写100个编程真题的编程百练课程
信息学奥赛或C++选手的 必学C++课程
蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程
手把手讲解近五年真题的蓝桥杯辅导课程