TAG:
三、用户对文本字符大小的设置 前面介绍的settextstyle()函数, 可以设定图形方式下输出文本字符这字体和大小但对于笔划型字体(除8*8点阵字以个的字体), 只能在水平和垂直方向以相同的放大倍数放大。为此Turbo C2.0又提供了另外一个setusercharsize() 函数,对笔划字体可以分别设置水平和垂直方向的放大倍数。该函数的调用格式为: void far setusercharsize(int mulx, int divx, int muly, int divy); 该函数用来设置笔划型字和放大系数, 它只有在settextstyle( ) 函数中的charsize为0(或USER_CHAR_SIZE)时才起作用, 并且字体为函数settextstyle()规定的字体。调用函数setusercharsize()后, 每个显示在屏幕上的字符都以其缺省大小乘以mulx/divx为输出字符宽, 乘以muly/divy为输出字符高。该函数的用法见下例。 例15: #include<stdio.h> #include<graphics.h> int main() { int gdirver, gmode; gdriver=DETETC; initgraph(&gdriver, &gmode, ""); setbkcolor(BLUE); cleardevice(); setfillstyle(1, 2); /*设置填充方式*/ setcolor(WHITE); /*设置白色作图*/ rectangle(100, 100, 330, 380); floodfill(50, 50, 14); /*填充方框以外的区域*/ setcolor(12); /*作图色为淡红*/ settextstyle(1, 0, 8);/*三重笔划字体, 放大8倍*/ outtextxy(120, 120, "Very Good"); setusercharsize(2, 1, 4, 1);/*水平放大2倍, 垂直放大4倍*/ setcolor(15); settextstyle(3, 0, 5); /*无衬字笔划, 放大5倍*/ outtextxy(220, 220, "Very Good"); setusercharsize(4, 1, 1, 1); settextstyle(3, 0, 0); outtextxy(180, 320, "Good"); getch(); closegraph(); return 0; } (jacky) |