C语言图形函数大全(6)
时间:2025-07-14
时间:2025-07-14
C语言图形函数大全
定义那个窗口的setviewport( )函数再调用一次即可。
(3)前面所讲的图形屏幕操作的函数均适合于对窗口的操作。
三、图形模式下的文本输出
在图形模式下,只能用标准输出函数,如printf( )、puts( )、putchar( )函数输出文本到屏幕。除此之外,其他输出函数(如窗口输出函数)都不能使用,即使是可以输出的标准函数,也只能以前景色为白色,按80列、25行的文本方式输出。 为此TC另外提供了一些专门用于图形显示模式下的文本输出函数。 1、文本输出函数 void far outtext(char far *textstring);该函数在现行位置输出字符串指针textstring所指的文本。 void far outtextxy(int x,int y,char far *textstring);该函数在规定的(x,y)位置输出字符串指针textstring所指的文本。其中x和y为像素坐标。 说明:这两个函数都是输出字符串,但经常会遇到输出数值或其他类型的数据,此时就必须使用格式化输出函数sprintf( )。其格式为: int sprintf(char *str,char *format,variable_list); 它与printf( )函数不同之处是将按格式化规定的内容写入str指向的字符串中,返回值等于写入的字符个数。例如:sprintf(s,”your TOEFL score is %d”,mark);这里s应是字符串指针或数组,mark为整型变量。 2、有关文本字体、字型和输出方式的设置 有关图形方式下的文本输出,可以通过setcolor( )函数设置输出文本的颜色。另外,也可以改变字体大小,以及选择是水平方向输出还是垂直方向输出。 void far settextjustify(int horiz,int vert);该函数用于定位输出字符串。对使用outtextxy函数输出的字符串,其中哪个点对应于定位坐标(x,y)在TC中是有规定的。如果把一个字符串一个长方形的图形,在水平方向显示时,字符串长方形按垂直方向可分为顶部、中部和底部三个位置,水平方向可分为左、中、右三个位置,两者结合就有9个位置。 settextjustity( )函数的第一个参数horiz指出水平方向三个位置中的一个,第二个参数vert指出垂直方向三个位置中的一个,二者就确定了其中一个位置。不规定了这个位置后,用outtextxy( )函数输出字符串时,字符串长方形的这个规定位置就对准函数中的(x,y)位置。而用outtext( )函数输出字符串时,这个规定的位置就位于现行游标的位置。有关参数horiz和vert的取值参见下表:
void far settextstyle(int font,int direction,int charsize);该函数用来设置输出字符的字形(由font确定)、输出方向(由direction确定)和字符大小(由charsize确定)等特性。TC中对函数各参数如下:
C语言图形函数大全
有关图形屏幕下文本输出和字体字型设置函数的用法请看例[2.13]
3、用户对文本字符大小的设置 前面介绍的settextstyle( )函数,可以设定图形方式下输出文本字符的字体和大小,但对于笔划型字体(除8×8点阵字以外的字体),只能在水平和垂直方向以相同的放大倍数放大。为此TC又提供了另外一个setusercharsize( )函数,对笔划字体可以分别设置字体和垂直方向的放大倍数。该函数的调用格式为: void far setusercharsize(int mulx,int divx,int muly,int divy); 该函数用来设置笔划型字和放大系数,它只有在settextstyle( )函数中的charsize为0(或USER_CHAR_SIZE)时才起作用,并且字体为函数settextstyle( )所规定的字体。调用函数setusercharsize( )后,每个显示在屏幕上的字符都以其默认大小乘以mulx/divx为输出字符宽,乘以muly/divy为输出字符高。该函数的用法如例[2.14]。
四、动画制件
1、制作动画的几种方法 (1)覆盖法 所谓“覆盖法”就是首先用前景色绘制一个你所希望动起来的静止图像,同时用delay( )函数暂停当前所执行的程序若干毫秒,然后把前景色改为背景色,再把刚才的静止图像原样重新绘制一下。由于当前的前景色与当前的背景色一致,所以刚才所绘画的静止图像就看不见了,通过循环语句在新位置上重复上述过程就可以产生动画效果。 (2)擦除法 所谓“擦除法”就是首先用前景色绘制一个你希望动起来的静止图像,同时采用delay( )函数暂停当前所执行的程序若干毫秒。然后采用cleardevice( )函数进行全屏幕清除,然后通过循环语句在新位置上重复上述过程就产生了动画效果。这样的方法适合制作简单动画。 (3)存取屏幕法 所谓“存取屏幕法”就是首先采用imagesize( )函数计算存储某特定的屏幕区域所需的内存空间,然后使用getimage( )函数将需要运动的静止图形存储到该内存空间中,最后再通过循环语句以及putimage( )函
…… 此处隐藏:192字,全部文档内容请下载后查看。喜欢就下载吧 ……下一篇:第1章概论(上课)