资料收集站

SDL

Tuesday
Jan 06th
Text size
  • Increase font size
  • Default font size
  • Decrease font size


  前面介绍的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为输出字符高。

该函数的用法见下例。

#include<stdio.h>
#include<graphics.h>
int main()
{
int gdriver, gmode;
gdriver=DETECT;
initgraph(&gdriver, &gmode, "c:\\caic\\bgi");
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;
}

Comments (0)Add Comment

Write comment

busy
 

Google 搜索

在线用户

We have 26 guests online