分享
 
 
 

C语言图形编程(四、图形文本-01)

王朝c/c++·作者佚名  2008-06-01
窄屏简体版  字體: |||超大  

一、图形文本函数

85. outtext() 当前位置显示字符串函数

86. outtextxy() 在(x,y)处显示字符串函数

87. sprintf() 格式化输出函数

二、图形文本设置

88. settextstyle() 设置文本型式函数

89. settextjustify() 设置文本排齐函数

90. setusercharsize() 设置用户字符比例函数

91. gettextsettings() 获取文本设置函数

92. textheight() 文本高度函数

93. textwidth() 文本宽度函数

假如没有文本,图形也派不太多的用场。但是图形模式一旦设置,就无法进行常规文本显示。标号和文字信息只能用图形文本显示。图形文本显示与常规文本显示不同。例如,常规字符屏幕的位置其行列坐标表示已不再适用,这时单个字符可显示在屏幕上的任何位置。另外图形文本显示既可以水平显示,也可以垂直显示,字母大小也可以改变,同时可以提供几种不同的字型。总之,常规文本显示简单轻易;图形文本显示复杂不易操作。所以,在C语言里提供了几个函数来简化操作,控制图形文本显示。

一、图形文本函数

在图形模式下,屏幕上显示字符串,可以用outtext(),outtextxy(),sprintf()。

85. outtext() 当前位置显示字符串函数

功能: 函数outtext() 在图形模式下用当前文本设置(字体、字符大小、文本显示方向及文本排齐方式)在当前位置显示一个字符串。

用法: 此函数调用方式为void outtext(char *string);

说明: 参数string指向要显示的字符串。

调用该函数 也可以根据需要事先设置当前绘图色,选择字体、字符大小、确定文本显示方向及水平垂直两个方向的文本排齐方式。

假如当前显示方向是水平的,那么当前光标位置CP会移动所显示字符的长度,否则CP不变;在图形模式下,光标不可见,但是即使是不可见光标,在屏幕上光标位置CP还是存在的。

这个函数对应的头文件是graphics.h

例: 使用outtext()函数的例子见86.outtextxy()函数的例子中。

86. outtextxy() 在(x,y)处显示字符串函数

功能:函数outtextxy() 在图形模式下屏幕坐标像素点(x,y)处显示一个字符串。

用法:这个函数的调用方式为void outtextxy(int x,int y,char *string);

说明:参数(x,y)给定要显示字符串的屏幕位置,string指向该字符串。调用此函数不影响当前光标位置,当然光标是不可见的。

该函数也要用当前绘图色、字体、字符大小、文本显示方向和水平垂直两个方向的文本排齐方式。

outtextxy()的对应头文件是graphics.h

返回值:无

例:下面的程序中调用了outtext()和outtextxy()两个函数:

#include<graphics.h>

void main()

{

int driver,mode;

int i;

driver=DETECT;

mode=0;

initgraph(&driver,&mode,"");

outtext("This is an example");

outtext("another line");

for(i=100;i<200;i+=8)

outtextxy(200,i,"hello");

getch();

restorecrtmode();

}

87. sprintf() 格式化输出函数

功能:函数sprintf()用来作格式化的输出。

用法:此函数调用方式为int sprintf(char *string,char *format,arg_list);

说明:函数sprintf()的用法和printf()函数一样,只是sprintf()函数给出第一个参数string(一般为字符数组),然后再调用outtextxy()函数将串里的字符显示在屏幕上。arg_list为参数表,可有不定个数。通常在绘图方式下输出数字时可调用sprintf()函数将所要输出的格式送到第一个参数,然后显示输出。

假如没有文本,图形也派不太多的用场。但是图形模式一旦设置,就无法进行常规文本显示。标号和文官信息只能用图形文本显示。图形文本显示与常规文本显示不同。例如,常规字符屏幕的位置其行列坐标表示已不再适用,这时单个字符可显示在屏幕上的任何位置。另外图形文本显示既可以水平显示,也可以垂直显示,字母大小也可以改变,同时可以提 供几种不同的字型。总之,常规文本显示简单轻易;图形文本显示复杂不易操作。所以,在C语言里提 供了几个函数来简化操作,控制图形文本显示。

二、图形文本设置

常规文本模式显示相当于在纸上打字,而图形文本模式显示更接近于排版印刷。这种增强性能的要害是改变字体及字符大小。选择不同的水平位置文本排齐,甚至可以在垂直方向而不是水平方向显示文本。这些都要调用文本设置函数来实现。

88.settextstyle() 设置文本型式函数

功能:函数settextstyle() 设置图形文本当前字体、文本显示方向(水平显示或垂直显示)以及字符大小。

用法:此函数调用方式为void settextstyle(int font,int direction,int charsize);

说明:函数括号中,font为文本字体参数,direction为文本显示方向,charsize为字符大小参数。头部文件graphics中分别对它们进行了定义。表1-14所列为标准字体。

表1-14图形文本标准字体

--------------------------------------------------------------------

字体符号名 等价值 含义

--------------------------------------------------------------------

DEFAULT_FONT 0 8*8点阵字型(缺省字体)

TRIPLEx_FONT 1 笔划式三倍字型(三倍字体)

SMALL_FONT 2 笔划式小字型(小字体)

SANS_SERIF_FONT 3 笔划式字(Sanserif字体)

GOTHIC_FONT 4 笔划黑体字型(哥特体)

--------------------------------------------------------------------

在设置字体之前,被选字体的.CHR文件必须装在initgraph()中指定的driverpath(驱动程序路径)目录或子目录里。

缺省时图形文本显示方向为水平方向,但可以设置图形文本显示方向为垂直方向(逆时针转90度)。表1-15给出了这两个图形文本显示方向。

表 1-15 图形文本显示方向

------------------------------------------------------------

显示方向符号名 等价值 说 明

------------------------------------------------------------

HORIZ_DIR 0 从左到右显示(水平方向)

VERT_DIR 1 从底向上显示(垂直方向)

------------------------------------------------------------

在垂直显示时,文本字符串从底部向上显示,目前还没有现成的规定从上到下或从左到右的显示,但若需要也可设计。

对点阵字体,字符大小可以在0到10之间选择。对于笔划字体,charsize(字符大小参数)=0表示以缺省比例显示即4倍或由函数setusercharsize()设置的用户自定字符的比例放大显示。最大有效的charsize值为0。

假如有错误参数值传给函数settextstyle(),graphresult()函数将给出值-11(表示一般图形错误),当前的文本型式保持不变。

settextstyle()函数相应的头文件为graphics.h

返回值:无

例: 下面的程序中使用了settextstyle()函数,显示不同的文本字体和大小:

#include<graphics.h>

#include<conio.h>

void main()

{

int drive

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有