亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

使用C中自帶的驅動去改變字體和顏色

2019-11-17 05:19:16
字體:
來源:轉載
供稿:網友

  一.C語言中字體的問題
C語言中有兩種顯示方式,即文本方式和圖形方式。就我所知,只能在圖形方式下控制字體.
先看一下C中定義的幾種字體
名稱 索引值 字體說明
DEFAULT_FONT 0 8x8 bit-mapped font
TRipLEX_FONT 1 Stroked triplex font
SMALL_FONT 2 Stroked small font
SANS_SERIF_FONT 3 Stroked sans-serif font
GOTHIC_FONT 4 Stroked gothic font

(字體說明中的英文解釋無須明白,在例子的演示中去看)

請看例子(摘自TC3.0的聯機幫助文件)
例一.
#include
#include
#include
#include

/* the names of the text styles supported */
char *fname[] = { "DEFAULT font",
"TRIPLEX font",
"SMALL font",
"SANS SERIF font",
"GOTHIC font"
};

int main(void)
{
/* request auto detection */
int gdriver = DETECT, gmode, errorcode;
int style, midx, midy;
int size = 1;
/* initialize graphics and local variables */
initgraph(&gdriver, &gmode, "");

/* read result of initialization */
errorcode = graphresult();
if (errorcode != grOk) /* an error occurred */
{
printf("Press any key to halt:");
getch();
exit(1); /* terminate with an error code */
}
midx = getmaxx() / 2;
midy = getmaxy() / 2;
settextjustify(CENTER_TEXT, CENTER_TEXT);
/* loop through the available text styles */
for (style=DEFAULT_FONT; style<=GOTHIC_FONT; style++)
{
cleardevice();
if (style == TRIPLEX_FONT)
size = 4;
/* select the text style */
settextstyle(style, HORIZ_DIR, size);
/* output a message */
outtextxy(midx, midy, fname[style]);
getch();
}
/* clean up */
closegraph();
return 0;
}

原代碼講解:
上面的例子中,控制字體用settextstyle函數,style參數是選擇字體的,關于其它的參數說明可參考聯機幫助。Outtextxy函數用來輸出文本。
假如老兄是想顯示各種不同字體的漢字話,那得麻煩點。這里不想多說,只提供兩種方案
(1) 利用UCDOS的漢字特顯技術,用C中的printf函數帶上非凡參數即可,具體可參考有關資料(比如《電腦愛好者》中曾講過)
(2) 在圖形模式下,調用字體文件,用C函數putpixel輸出。推薦參考書
[1]《C語言最新編程技巧200例》(修訂本)魯沐浴主編 電子工業出版社 1997


二.C中的顏色問題
顏色問題不是一兩句話能將清楚的,建議你了解一點計算機是如何處理顏色的。下面的回答主要以TC3.0中的例子為主。
顏色可分為前景色(即字體顏色)和背景顏色。在C中顏色的設置分為文本模式下的設置和圖形模式下的設置。下面先將在文本模式下的設置
1.文本模式下的設置
先看文本模式下的色彩設定
7 6 5 4 3 2 1 0
(B b b b f f f f)
上面是一個字節(共有8位),0——3位設定前景色,4——6為設定背景色。第7為控制字符是否閃爍。請看下例

例二.

#include
int main(void)
{
int i, j;
clrscr();
for (i=0; i<9; i++)
{
textcolor(i+1);
textbackground(i);
for (j=0; j<80; j++) cprintf("C");
cprintf("/r/n");
}
return 0;
}
原代碼解釋:textcolor函數用來設定字符顏色,由于它只設定字符顏色,因此參數中(一個整數)只有0——3和第7為有效。textbackground函數用來設定背景色,參數中4——6位有效。

要想用一個函數同時設定前景色和背景色以及是否閃爍,可用textattr函數,看下例
例三.

clude

int main(void)
{
int i;
clrscr();
for (i=0; i<9; i++)
{
textattr(i + ((i+1) << 4));
cprintf("This is a test/r/n");
}
return 0;
}

提醒:在文本模式下輸出字符用cprintf函數,不用printf函數。

2.圖形模式下的設置

例四.

#include
#include
#include
#include

int main(void)
{
/* select a driver and mode that supports */
/* multiple drawing colors. */
int gdriver = EGA, gmode = EGAHI, errorcode;
int color, maxcolor, x, y;
char msg[80];
/* initialize graphics and local variables */
initgraph(&gdriver, &gmode, "");
/* read result of initialization */
errorcode = graphresult();
if (errorcode != grOk) /* an error occurred */
{
printf("Graphics error: %s/n", grapherrormsg(errorcode));
printf("Press any key to halt:");
getch();
exit(1); /* terminate with an error code */
}

/* maximum color index supported */
maxcolor = getmaxcolor();

/* for centering text messages */
settextjustify(CENTER_TEXT, CENTER_TEXT);
x = getmaxx() / 2;
y = getmaxy() / 2;

/* loop through the available colors */
for (color=1; color<=maxcolor; color++)
{
/* clear the screen */
cleardevice();

/* select a new background color */
setcolor(color);
setbkcolor(color+1);
/* output a messsage */
sprintf(msg, "Color: %d", color);
outtextxy(x, y, msg);
getch();
}
/* clean up */
closegraph();
return 0;
}

原代碼說明:setcolor設定字體顏色,setbkcolor設定背景色
提醒:輸出字符用outtextxy函數

小結:這里所敘述的只是一小部分,要學好這方面的內容,預備一本參考手冊(可用聯機幫助),多上機實踐.


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
韩国精品美女www爽爽爽视频| 国产综合香蕉五月婷在线| 国产午夜精品理论片a级探花| 亚洲午夜未删减在线观看| 日韩免费观看高清| 亚洲人成伊人成综合网久久久| 亚洲欧美在线一区| 亚洲国产97在线精品一区| 97久久国产精品| 国产成人综合精品| 亚洲mm色国产网站| 国产剧情久久久久久| 9.1国产丝袜在线观看| 亚洲国产精品高清久久久| 日韩在线视频导航| 亚洲天堂av高清| 26uuu亚洲伊人春色| 日韩在线中文字幕| 亚洲第一黄色网| 国产裸体写真av一区二区| 26uuu久久噜噜噜噜| 亚洲一级免费视频| 国产精品久久中文| 38少妇精品导航| 国外日韩电影在线观看| 91极品女神在线| www.色综合| 欧美日韩加勒比精品一区| 久久亚洲国产精品| 国产亚洲精品久久久优势| 亚洲色图美腿丝袜| 亚洲视频自拍偷拍| 久久99青青精品免费观看| 久久免费观看视频| 欧美一级视频免费在线观看| 国产精品入口日韩视频大尺度| 欧美日韩国产精品专区| 欧美激情国产日韩精品一区18| 国产亚洲精品久久久久动| 欧美一区二三区| 成人精品视频99在线观看免费| 欧美精品久久久久久久| 97国产真实伦对白精彩视频8| 中文字幕不卡在线视频极品| 91中文在线观看| 精品日韩美女的视频高清| 久久精品视频播放| 日韩欧美在线第一页| 亚洲欧美自拍一区| 亚洲永久免费观看| 国产精品久久久91| 日韩精品在线免费| 亚洲精品久久久久国产| 精品视频在线导航| 日本成人在线视频网址| 日韩中文字幕视频在线观看| 精品国产一区av| 亚洲色图欧美制服丝袜另类第一页| 国内精品模特av私拍在线观看| 亚洲最大激情中文字幕| 国产精品一区av| 国产亚洲精品美女久久久久| 亚洲第一在线视频| 午夜精品久久久久久久久久久久久| 一个人看的www欧美| 久热在线中文字幕色999舞| 亚洲视屏在线播放| 日韩不卡在线观看| 欧美一级淫片丝袜脚交| 91欧美精品午夜性色福利在线| 国产精品久久久久久亚洲调教| 欧美日韩加勒比精品一区| 亚洲男人的天堂在线播放| 久久久精品视频在线观看| 91精品久久久久久久久久久久久| 欧美大片va欧美在线播放| 欧美成人午夜免费视在线看片| 国产精品都在这里| 久久九九国产精品怡红院| 欧美xxxwww| 国产精品日本精品| 国产一区深夜福利| 国产乱肥老妇国产一区二| 久热精品视频在线观看| 欧美国产日韩一区二区三区| 97在线视频一区| 98精品国产高清在线xxxx天堂| 亚洲免费精彩视频| 国产精品国产三级国产aⅴ9色| 国产精品久久久久一区二区| www国产精品com| 国产精品久久久久久久久免费| 国产精品99导航| 亚洲性无码av在线| 欧美成人精品在线观看| 日韩中文字幕免费视频| 亚洲成人av资源网| 国产大片精品免费永久看nba| 欧美理论电影在线观看| 久久69精品久久久久久国产越南| 日日骚久久av| 久久成人人人人精品欧| 久久精品99久久香蕉国产色戒| 久久天天躁狠狠躁夜夜av| 日韩精品中文字幕在线| 成人免费观看网址| 国产精品欧美日韩久久| 亚洲成色777777在线观看影院| 国产99久久精品一区二区永久免费| 久久精品中文字幕免费mv| 久久精品国产v日韩v亚洲| 色中色综合影院手机版在线观看| 国产精品视频99| 国产精品永久免费观看| 欧美激情一区二区三区在线视频观看| 亚洲性xxxx| 日本精品一区二区三区在线| 在线日韩欧美视频| 性色av一区二区三区红粉影视| 97在线免费视频| 精品欧美激情精品一区| 成人福利视频网| 日韩中文在线不卡| 亚洲第一免费网站| 亚洲男女性事视频| 精品国产电影一区| 中文字幕亚洲色图| 欧美日韩精品在线观看| 成人激情视频在线| 97av在线播放| 国产亚洲美女久久| 日韩电影免费观看中文字幕| 97国产精品视频人人做人人爱| 国产欧美一区二区三区久久| 久久久99免费视频| 欧美国产欧美亚洲国产日韩mv天天看完整| 国产精品久久久999| 欧美自拍视频在线观看| 亚洲乱码av中文一区二区| 亚洲黄在线观看| 日韩av电影在线免费播放| 欧美精品www在线观看| 中文字幕久精品免费视频| 91免费综合在线| 日韩精品极品毛片系列视频| 欧美华人在线视频| www.日韩.com| 国产一区二区三区高清在线观看| 亚洲午夜av久久乱码| 亚洲xxx大片| 国产成人精品免费视频| 亚洲跨种族黑人xxx| 日韩精品亚洲精品| 欧美疯狂xxxx大交乱88av| 欧美乱大交做爰xxxⅹ性3| 精品视频—区二区三区免费| 日韩欧美国产中文字幕| 国产91精品青草社区| 日韩av片免费在线观看| 97在线看免费观看视频在线观看| 精品偷拍一区二区三区在线看| 欧美精品在线网站| 98精品国产自产在线观看| 成人激情视频免费在线|