国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 學(xué)院 > 開(kāi)發(fā)設(shè)計(jì) > 正文

C語(yǔ)言圖形編程(四、圖形文本-01)

2019-11-17 05:41:23
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友
一、圖形文本函數(shù)
    85. outtext() 當(dāng)前位置顯示字符串函數(shù)
    86. outtextxy() 在(x,y)處顯示字符串函數(shù)
    87. sPRintf() 格式化輸出函數(shù)
二、圖形文本設(shè)置
    88. settextstyle() 設(shè)置文本型式函數(shù)
    89. settextjustify() 設(shè)置文本排齊函數(shù)
    90. setusercharsize() 設(shè)置用戶字符比例函數(shù)
    91. gettextsettings() 獲取文本設(shè)置函數(shù)
    92. textheight() 文本高度函數(shù)
    93. textwidth() 文本寬度函數(shù)




   假如沒(méi)有文本,圖形也派不太多的用場(chǎng)。但是圖形模式一旦設(shè)置,就無(wú)法進(jìn)行常規(guī)文本顯示。標(biāo)號(hào)和文字信息只能用圖形文本顯示。圖形文本顯示與常規(guī)文本顯示不同。例如,常規(guī)字符屏幕的位置其行列坐標(biāo)表示已不再適用,這時(shí)單個(gè)字符可顯示在屏幕上的任何位置。另外圖形文本顯示既可以水平顯示,也可以垂直顯示,字母大小也可以改變,同時(shí)可以提供幾種不同的字型??傊?,常規(guī)文本顯示簡(jiǎn)單輕易;圖形文本顯示復(fù)雜不易操作。所以,在C語(yǔ)言里提供了幾個(gè)函數(shù)來(lái)簡(jiǎn)化操作,控制圖形文本顯示。

一、圖形文本函數(shù)
   在圖形模式下,屏幕上顯示字符串,可以用outtext(),outtextxy(),sprintf()。

85. outtext() 當(dāng)前位置顯示字符串函數(shù)
功能: 函數(shù)outtext() 在圖形模式下用當(dāng)前文本設(shè)置(字體、字符大小、文本顯示方向及文本排齊方式)在當(dāng)前位置顯示一個(gè)字符串。
用法: 此函數(shù)調(diào)用方式為void outtext(char *string);
說(shuō)明: 參數(shù)string指向要顯示的字符串。
   調(diào)用該函數(shù) 也可以根據(jù)需要事先設(shè)置當(dāng)前繪圖色,選擇字體、字符大小、確定文本顯示方向及水平垂直兩個(gè)方向的文本排齊方式。
   假如當(dāng)前顯示方向是水平的,那么當(dāng)前光標(biāo)位置CP會(huì)移動(dòng)所顯示字符的長(zhǎng)度,否則CP不變;在圖形模式下,光標(biāo)不可見(jiàn),但是即使是不可見(jiàn)光標(biāo),在屏幕上光標(biāo)位置CP還是存在的。
   這個(gè)函數(shù)對(duì)應(yīng)的頭文件是graphics.h
例: 使用outtext()函數(shù)的例子見(jiàn)86.outtextxy()函數(shù)的例子中。

86. outtextxy() 在(x,y)處顯示字符串函數(shù)
功能:函數(shù)outtextxy() 在圖形模式下屏幕坐標(biāo)像素點(diǎn)(x,y)處顯示一個(gè)字符串。
用法: 這個(gè)函數(shù)的調(diào)用方式為void outtextxy(int x,int y,char *string);
說(shuō)明: 參數(shù)(x,y)給定要顯示字符串的屏幕位置,string指向該字符串。調(diào)用此函數(shù)不影響當(dāng)前光標(biāo)位置,當(dāng)然光標(biāo)是不可見(jiàn)的。
   該函數(shù)也要用當(dāng)前繪圖色、字體、字符大小、文本顯示方向和水平垂直兩個(gè)方向的文本排齊方式。
   outtextxy()的對(duì)應(yīng)頭文件是graphics.h
返回值: 無(wú)
例: 下面的程序中調(diào)用了outtext()和outtextxy()兩個(gè)函數(shù):
#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() 格式化輸出函數(shù)
功能: 函數(shù)sprintf()用來(lái)作格式化的輸出。
用法: 此函數(shù)調(diào)用方式為int sprintf(char *string,char *format,arg_list);
說(shuō)明: 函數(shù)sprintf()的用法和printf()函數(shù)一樣,只是sprintf()函數(shù)給出第一個(gè)參數(shù)string(一般為字符數(shù)組),然后再調(diào)用outtextxy()函數(shù)將串里的字符顯示在屏幕上。arg_list為參數(shù)表,可有不定個(gè)數(shù)。通常在繪圖方式下輸出數(shù)字時(shí)可調(diào)用sprintf()函數(shù)將所要輸出的格式送到第一個(gè)參數(shù),然后顯示輸出。
假如沒(méi)有文本,圖形也派不太多的用場(chǎng)。但是圖形模式一旦設(shè)置,就無(wú)法進(jìn)行常規(guī)文本顯示。標(biāo)號(hào)和文官信息只能用圖形文本顯示。圖形文本顯示與常規(guī)文本顯示不同。例如,常規(guī)字符屏幕的位置其行列坐標(biāo)表示已不再適用,這時(shí)單個(gè)字符可顯示在屏幕上的任何位置。另外圖形文本顯示既可以水平顯示,也可以垂直顯示,字母大小也可以改變,同時(shí)可以提 供幾種不同的字型??傊?,常規(guī)文本顯示簡(jiǎn)單輕易;圖形文本顯示復(fù)雜不易操作。所以,在C語(yǔ)言里提 供了幾個(gè)函數(shù)來(lái)簡(jiǎn)化操作,控制圖形文本顯示。


二、圖形文本設(shè)置
   常規(guī)文本模式顯示相當(dāng)于在紙上打字,而圖形文本模式顯示更接近于排版印刷。這種增強(qiáng)性能的要害是改變字體及字符大小。選擇不同的水平位置文本排齊,甚至可以在垂直方向而不是水平方向顯示文本。這些都要調(diào)用文本設(shè)置函數(shù)來(lái)實(shí)現(xiàn)。

88. settextstyle() 設(shè)置文本型式函數(shù)
功能: 函數(shù)settextstyle() 設(shè)置圖形文本當(dāng)前字體、文本顯示方向(水平顯示或垂直顯示)以及字符大小。
用法: 此函數(shù)調(diào)用方式為void settextstyle(int font,int direction,int charsize);
說(shuō)明: 函數(shù)括號(hào)中,font為文本字體參數(shù),direction為文本顯示方向,charsize為字符大小參數(shù)。頭部文件graphics中分別對(duì)它們進(jìn)行了定義。表1-14所列為標(biāo)準(zhǔn)字體。

表1-14 圖形文本標(biāo)準(zhǔn)字體
--------------------------------------------------------------------
      字體符號(hào)名            等價(jià)值         含     義
--------------------------------------------------------------------
   DEFAULT_FONT               0         8*8點(diǎn)陣字型(缺省字體)
   TRipLEx_FONT                1         筆劃式三倍字型(三倍字體)
   SMALL_FONT                  2         筆劃式小字型(小字體)
   SANS_SERIF_FONT             3         筆劃式字(Sanserif字體)
   GOTHIC_FONT                 4         筆劃黑體字型(哥特體)
--------------------------------------------------------------------

   在設(shè)置字體之前,被選字體的.CHR文件必須裝在initgraph()中指定的driverpath(驅(qū)動(dòng)程序路徑)目錄或子目錄里。
缺省時(shí)圖形文本顯示方向?yàn)樗椒较?,但可以設(shè)置圖形文本顯示方向?yàn)榇怪狈较?逆時(shí)針轉(zhuǎn)90度)。表1-15給出了這兩個(gè)圖形文本顯示方向。

表 1-15 圖形文本顯示方向
------------------------------------------------------------
   顯示方向符號(hào)名       等價(jià)值         說(shuō)         明
------------------------------------------------------------
   HORIZ_DIR               0        從左到右顯示(水平方向)
   VERT_DIR                1        從底向上顯示(垂直方向)
------------------------------------------------------------

在垂直顯示時(shí),文本字符串從底部向上顯示,目前還沒(méi)有現(xiàn)成的規(guī)定從上到下或從左到右的顯示,但若需要也可設(shè)計(jì)。
對(duì)點(diǎn)陣字體,字符大小可以在0到10之間選擇。對(duì)于筆劃字體,charsize(字符大小參數(shù))=0表示以缺省比例顯示即4倍或由函數(shù)setusercharsize()設(shè)置的用戶自定字符的比例放大顯示。最大有效的charsize值為0。
   假如有錯(cuò)誤參數(shù)值傳給函數(shù)settextstyle(),graphresult()函數(shù)將給出值-11(表示一般圖形錯(cuò)誤),當(dāng)前的文本型式保持不變。
   settextstyle()函數(shù)相應(yīng)的頭文件為graphics.h
返回值:無(wú)
例: 下面的程序中使用了settextstyle()函數(shù),顯示不同的文本字體和大小:
#include<graphics.h>
#include<conio.h>
void main()
{
   int drive


發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 宁河县| 连云港市| 沅江市| 山东省| 乌兰浩特市| 安康市| 兴安县| 石台县| 虹口区| 日土县| 邹城市| 依安县| 澄江县| 集安市| 芜湖市| 红安县| 莱芜市| 寻乌县| 彭泽县| 乌恰县| 麟游县| 兰西县| 拉孜县| 醴陵市| 延长县| 台前县| 额敏县| 手机| 和龙市| 五指山市| 大连市| 罗甸县| 烟台市| 那坡县| 舞钢市| 绍兴市| 承德市| 闽侯县| 大埔县| 徐闻县| 离岛区|