C语言图形编程函数大全

合集下载

C语言图形界面常用函数集锦

C语言图形界面常用函数集锦

C语⾔图形界⾯常⽤函数集锦(以下函数均应在图形⽅式初始之后使⽤(initgraph(a,b)),在win-tc中使⽤BGI图形程序模板时,其中已经定义有⼀个initgr函数,在main 函数中应在执⾏initgr函数之后再使⽤这些函数。

使⽤这些函数时,均应在程序中包含头⽂件graphics.h,即程序开始时应有#include "graphics.h")1、setcolor(⾊彩值):设置绘图⾊彩,使⽤该函数后,图形函数所绘制的直线或曲线为该函数中指定的⾊彩。

例如:setcolor(YELLOW);circle(320,240,100);在屏幕中央以黄⾊绘制半径为100的圆。

2、setbkcolor(⾊彩值):设置图形屏幕的背景⾊彩,使⽤该函数后图形屏幕清屏,背景⾊彩为该函数中所指定的⾊彩。

如果没有使⽤该函数设置背景⾊,则图形屏幕的背景⾊彩为⿊⾊。

3、cleardevice():清除图形屏幕上已经绘制的内容,该函数没有参数。

4、line(x1,y1,x2,y2): 绘制直线段,其中(x1,y1)为⼀个端点的坐标,(x2,y2)为另⼀个端点的坐标。

直线的⾊彩为在使⽤该函数之前通过setcolor函数所设置的⾊彩。

例如:setcolor(WHITE);line(0,240,639,240);绘制⼀条横贯屏幕中间的⽩⾊⽔平直线。

5、circle(x,y,r):绘制⼀个以(x,y)为圆⼼坐标,半径为r的圆。

例如:setcolor(WHITE);circle(320,240,100);绘制⼀个以(320,240)为圆⼼位置,半径为100的圆。

6、rectangle(x1,y1,x2,y2):绘制⼀个以(x1,y1)和(x2,y2)为对⾓端点坐标的矩形7、putpixel(x,y,color):在(x,y)坐标位置处绘制⼀个点,点的⾊彩由color指定。

例如:putpixel(320,240,RED);在屏幕中央绘制⼀个红⾊的点。

C语言画图函数

C语言画图函数

C语言画图函数与图形有关的函数GRAPHICS.H 库文件bar【功能】画出一条栏目。

【原型】void far bar(int left,int top,int right,int bottom)【位置】graphics.hgraphics.h【参见】bar3d,setfillstyle,rectanglebar3d【功能】画出一条3-D栏目。

【原型】void far bar3d(int left,int top,int right,int bottom,int depth,int topflag) 【位置】graphics.h【参见】barcircle【功能】以(x,y)为圆心按照指定的半径画出一个圆。

【原型】void far circle(int x,int y,int radius)【位置】graphics.h【参见】arccleardevice【功能】清除图形画面。

【原型】void far cleardevice(void)【位置】graphics.h【参见】clearviewportclearviewport【功能】清除当前可视区域。

【原型】clearviewport(void)【位置】graphics.h【参见】setviewport,cleardeviceclosegraph【功能】关闭图形系统。

【原型】void far closegraph(void)【位置】graphics.h【参见】initgraphdetecgraph【功能】通过检查硬件确定使用的图形驱动程序和模式。

【原型】void far detectgraph(int far *graphdriver,int far *graphmode)【位置】graphics.h【参见】initgraph,graphresultdrawpoly【功能】画出一个多边形的轮廓。

【原型】void far drawpoly(int numpoints,int far polypoints[])【位置】graphics.h【说明】polypoints中包括一共numpoints对数值。

C语言函数大全

C语言函数大全

C语言函数目录:A函数名: abort功能: 异常终止一个进程函数名: abs功能: 求整数的绝对值函数名: absread, abswirte功能: 绝对磁盘扇区读、写数据函数名: access功能: 确定文件的访问权限函数名: acos功能: 反余弦函数函数名: allocmem功能: 分配DOS存储段函数名: arc功能: 画一弧线函数名: asctime功能: 转换日期和时间为ASCII码函数名: asin功能: 反正弦函数函数名: assert功能: 测试一个条件并可能使程序终止函数名: atan功能: 反正切函数函数名: atan2功能: 计算Y/X的反正切值函数名: atexit功能: 注册终止函数函数名: atof功能: 把字符串转换成浮点数函数名: atoi功能: 把字符串转换成长整型数函数名: atol功能: 把字符串转换成长整型数B函数名: bar功能: 画一个二维条形图函数名: bar3d功能: 画一个三维条形图函数名: bdos功能: DOS系统调用函数名: bdosptr功能: DOS系统调用函数名: bioscom功能: 串行I/O通信函数名: biosdisk功能: 软硬盘I/O函数名: biosequip功能: 检查设备函数名: bioskey功能: 直接使用BIOS服务的键盘接口函数名: biosmemory功能: 返回存储块大小函数名: biostime功能: 读取或设置BIOS时间函数名: brk功能: 改变数据段空间分配函数名: bsearch功能: 二分法搜索C函数名: cabs功能: 计算复数的绝对值函数名: calloc功能: 分配主存储器函数名: ceil功能: 向上舍入函数名: cgets功能: 从控制台读字符串函数名: chdir功能: 改变工作目录函数名: _chmod, chmod功能: 改变文件的访问方式函数名: chsize功能: 改变文件大小函数名: circle功能: 在给定半径以(x, y)为圆心画圆函数名: cleardevice功能: 清除图形屏幕函数名: clearerr功能: 复位错误标志函数名: clearviewport功能: 清除图形视区函数名: _close, close功能: 关闭文件句柄函数名: clock功能: 确定处理器时间函数名: closegraph功能: 关闭图形系统函数名: clreol功能: 在文本窗口中清除字符到行末功能: 清除文本模式窗口函数名: clrscr函数名: coreleft功能: 返回未使用内存的大小函数名: cos功能: 余弦函数函数名: cosh功能: 双曲余弦函数函数名: country功能: 返回与国家有关的信息函数名: cprintf功能: 送格式化输出至屏幕函数名: cputs功能: 写字符到屏幕函数名: _creat creat功能: 创建一个新文件或重写一个已存在的文件函数名: creatnew功能: 创建一个新文件函数名: creattemp功能: 创建一个新文件或重写一个已存在的文件函数名: cscanf功能: 从控制台执行格式化输入函数名: ctime功能: 把日期和时间转换为字符串函数名: ctrlbrk功能: 设置Ctrl-Break处理程序D函数名: delay功能: 将程序的执行暂停一段时间(毫秒)函数名: delline功能: 在文本窗口中删去一行函数名: detectgraph功能: 通过检测硬件确定图形驱动程序和模式函数名: difftime功能: 计算两个时刻之间的时间差函数名: disable功能: 屏蔽中断函数名: div功能: 将两个整数相除, 返回商和余数函数名: dosexterr功能: 获取扩展DOS错误信息函数名: dostounix功能: 转换日期和时间为UNIX时间格式函数名: drawpoly功能: 画多边形函数名: dup功能: 复制一个文件句柄函数名: dup2功能: 复制文件句柄E函数名: ecvt功能: 把一个浮点数转换为字符串函数名: ellipse功能: 画一椭圆函数名: enable功能: 开放硬件中断函数名: eof功能: 检测文件结束函数名: exec...功能: 装入并运行其它程序的函数函数名: exit功能: 终止程序F函数名: fabs功能: 返回浮点数的绝对值函数名: farcalloc功能: 从远堆栈中申请空间函数名: farcoreleft功能: 返回远堆中未作用存储区大小函数名: farfree功能: 从远堆中释放一块函数名: farmalloc功能: 从远堆中分配存储块函数名: farrealloc功能: 调整远堆中的分配块函数名: fclose功能: 关闭一个流函数名: fcloseall功能: 关闭打开流函数名: fcvt功能: 把一个浮点数转换为字符串函数名: fdopen功能: 把流与一个文件句柄相接函数名: feof功能: 检测流上的文件结束符函数名: ferror功能: 检测流上的错误函数名: fflush功能: 清除一个流函数名: fgetc功能: 从流中读取字符函数名: fgetchar功能: 从流中读取字符函数名: fgetpos功能: 取得当前文件的句柄函数名: fgets功能: 从流中读取一字符串函数名: filelength功能: 取文件长度字节数函数名: fillellipse功能: 画出并填充一椭圆函数名: fillpoly功能: 画并填充一个多边形函数名: findfirst, findnext功能: 搜索磁盘目录; 取得下一个匹配的findfirst模式的文件函数名: floodfill功能: 填充一个有界区域函数名: floor功能: 向下舍入函数名: flushall功能: 清除所有缓冲区函数名: fmod功能: 计算x对y的模, 即x/y的余数函数名: fnmerge功能: 建立新文件名函数名: fopen功能: 打开一个流函数名: fprintf功能: 传送格式化输出到一个流中函数名: FP_OFF功能: 获取远地址偏移量函数名: FP_SEG功能: 获取远地址段值函数名: fputc功能: 送一个字符到一个流中函数名: fputchar功能: 送一个字符到标准输出流(stdout)中函数名: fputs功能: 送一个字符到一个流中函数名: fread功能: 从一个流中读数据函数名: free功能: 释放已分配的块函数名: freemem功能: 释放先前分配的DOS内存块函数名: freopen功能: 替换一个流函数名: frexp功能: 把一个双精度数分解为尾数的指数函数名: fscanf功能: 从一个流中执行格式化输入函数名: fseek功能: 重定位流上的文件指针函数名: fsetpos功能: 定位流上的文件指针函数名: fstat功能: 获取打开文件信息函数名: ftell功能: 返回当前文件指针函数名: fwrite功能: 写内容到流中G函数名: gcvt功能: 把浮点数转换成字符串函数名: geninterrupt功能: 产生一个软中断函数名: getarccoords功能: 取得最后一次调用arc的坐标函数名: getaspectratio功能: 返回当前图形模式的纵横比函数名: getbkcolor功能: 返回当前背景颜色函数名: getc功能: 从流中取字符函数名: getcbrk功能: 获取Control_break设置函数名: getch功能: 从控制台无回显地取一个字符函数名: getchar功能: 从stdin流中读字符函数名: getche功能: 从控制台取字符(带回显)函数名: getcolor功能: 返回当前画线颜色函数名: getcurdir功能: 取指定驱动器的当前目录函数名: getcwd功能: 取当前工作目录函数名: getdate功能: 取DOS日期函数名: getdefaultpalette功能: 返回调色板定义结构函数名: getdisk功能: 取当前磁盘驱动器号函数名: getdrivername功能: 返回指向包含当前图形驱动程序名字的字符串指针函数名: getdta功能: 取磁盘传输地址函数名: getenv功能: 从环境中取字符串函数名: getfat, getfatd功能: 取文件分配表信息函数名: getfillpattern功能: 将用户定义的填充模式拷贝到内存中函数名: getfillsettings功能: 取得有关当前填充模式和填充颜色的信息函数名: getftime功能: 取文件日期和时间函数名: getgraphmode功能: 返回当前图形模式函数名: getftime功能: 取文件日期和时间函数名: getgraphmode功能: 返回当前图形模式函数名: getimage功能: 将指定区域的一个位图存到主存中函数名: getlinesettings功能: 取当前线型、模式和宽度函数名: getmaxcolor功能: 返回可以传给函数setcolor的最大颜色值函数名: getmaxx功能: 返回屏幕的最大x坐标函数名: getmaxy功能: 返回屏幕的最大y坐标函数名: getmodename功能: 返回含有指定图形模式名的字符串指针函数名: getmoderange功能: 取给定图形驱动程序的模式范围函数名: getpalette功能: 返回有关当前调色板的信息函数名: getpass功能: 读一个口令函数名: getpixel功能: 取得指定像素的颜色函数名: gets功能: 从流中取一字符串函数名: gettext功能: 将文本方式屏幕上的文本拷贝到存储区函数名: gettextinfo功能: 取得文本模式的显示信息函数名: gettextsettings功能: 返回有关当前图形文本字体的信息函数名: gettime功能: 取得系统时间函数名: getvect功能: 取得中断向量入口函数名: getverify功能: 返回DOS校验标志状态函数名: getviewsetting功能: 返回有关当前视区的信息函数名: getw功能: 从流中取一整数函数名: getx功能: 返回当前图形位置的x坐标函数名: gety功能: 返回当前图形位置的y坐标函数名: gmtime功能: 把日期和时间转换为格林尼治标准时间(GMT)函数名: gotoxy功能: 在文本窗口中设置光标函数名: gotoxy功能: 在文本窗口中设置光标函数名: graphdefaults功能: 将所有图形设置复位为它们的缺省值函数名: grapherrormsg功能: 返回一个错误信息串的指针函数名: graphresult功能: 返回最后一次不成功的图形操作的错误代码函数名: _graphfreemem功能: 用户可修改的图形存储区释放函数函数名: _graphgetmem功能: 用户可修改的图形存储区分配函数H函数名: harderr功能: 建立一个硬件错误处理程序函数名: hardresume功能: 硬件错误处理函数函数名: highvideo功能: 选择高亮度文本字符函数名: hypot功能: 计算直角三角形的斜边长I函数名: imagesize功能: 返回保存位图像所需的字节数函数名: initgraph功能: 初始化图形系统函数名: inport功能: 从硬件端口中输入函数名: insline功能: 在文本窗口中插入一个空行函数名: installuserdriver功能: 安装设备驱动程序到BGI设备驱动程序表中函数名: installuserfont功能: 安装未嵌入BGI系统的字体文件(CHR)函数名: int86功能: 通用8086软中断接口函数名: int86x功能: 通用8086软中断接口函数名: intdos功能: 通用DOS接口函数名: intdosx功能: 通用DOS中断接口函数名: intr功能: 改变软中断接口函数名: ioctl功能: 控制I/O设备函数名: isatty功能: 检查设备类型函数名: itoa功能: 把一整数转换为字符串K函数名: kbhit功能: 检查当前按下的键函数名: keep功能: 退出并继续驻留L函数名: labs功能: 取长整型绝对值函数名: ldexp功能: 计算value*2的幂函数名: ldiv功能: 两个长整型数相除, 返回商和余数函数名: lfind功能: 执行线性搜索函数名: line功能: 在指定两点间画一直线函数名: linerel功能: 从当前位置点(CP)到与CP有一给定相对距离的点画一直线函数名: localtime功能: 把日期和时间转变为结构函数名: lock功能: 设置文件共享锁函数名: log功能: 对数函数ln(x)函数名: log10功能: 对数函数log函数名: longjump功能: 执行非局部转移函数名: lowvideo功能: 选择低亮度字符函数名: lrotl, _lrotl功能: 将无符号长整型数向左循环移位函数名: lsearch功能: 线性搜索函数名: lseek功能: 移动文件读/写指针Mmain()主函数函数名: memccpy功能: 从源source中拷贝n个字节到目标destin中函数名: malloc功能: 内存分配函数函数名: memchr功能: 在数组的前n个字节中搜索字符函数名: memcpy功能: 从源source中拷贝n个字节到目标destin中函数名: memicmp功能: 比较两个串s1和s2的前n个字节, 忽略大小写函数名: memmove功能: 移动一块字节函数名: memset功能: 设置s中的所有字节为ch, s数组的大小由n给定函数名: mkdir功能: 建立一个目录函数名: mktemp功能: 建立唯一的文件名函数名: MK_FP功能: 设置一个远指针函数名: modf功能: 把数分为指数和尾数函数名: movedata功能: 拷贝字节函数名: moverel功能: 将当前位置(CP)移动一相对距离函数名: movetext功能: 将屏幕文本从一个矩形区域拷贝到另一个矩形区域函数名: moveto功能: 将CP移到(x, y)函数名: movemem功能: 移动一块字节N函数名: normvideo功能: 选择正常亮度字符函数名: nosound功能: 关闭PC扬声器O函数名: open功能: 打开一个文件用于读或写函数名: outport功能: 输出整数到硬件端口中函数名: outportb功能: 输出字节到硬件端口中函数名: outtext功能: 在视区显示一个字符串函数名: outtextxy功能: 在指定位置显示一字符串P函数名: parsfnm功能: 分析文件名函数名: peek功能: 检查存储单元函数名: peekb功能: 检查存储单元函数名: perror功能: 系统错误信息函数名: pieslice功能: 绘制并填充一个扇形函数名: poke功能: 存值到一个给定存储单元函数名: pokeb功能: 存值到一个给定存储单元函数名: poly功能: 根据参数产生一个多项式函数名: pow功能: 指数函数(x的y次方)函数名: pow10功能: 指数函数(10的p次方)函数名: printf功能: 产生格式化输出的函数函数名: putc功能: 输出一字符到指定流中函数名: putch功能: 输出字符到控制台函数名: putchar功能: 在stdout上输出字符函数名: putenv功能: 把字符串加到当前环境中函数名: putimage功能: 在屏幕上输出一个位图函数名: putpixel功能: 在指定位置画一像素函数名: puts功能: 送一字符串到流中函数名: puttext功能: 将文本从存储区拷贝到屏幕函数名: putw功能: 把一字符或字送到流中Q函数名: qsort功能: 使用快速排序例程进行排序R函数名: raise功能: 向正在执行的程序发送一个信号函数名: rand功能: 随机数发生器函数名: randbrd功能: 随机块读函数名: randbwr功能: 随机块写函数名: random功能: 随机数发生器函数名: randomize功能: 初始化随机数发生器函数名: read功能: 从文件中读函数名: realloc功能: 重新分配主存函数名: rectangle功能: 画一个矩形函数名: registerbgidriver功能: 登录已连接进来的图形驱动程序代码函数名: remove功能: 删除一个文件函数名: rename功能: 重命名文件函数名: restorecrtmode功能: 将屏幕模式恢复为先前的imitgraph设置函数名: rewind功能: 将文件指针重新指向一个流的开头函数名: rmdir功能: 删除DOS文件目录S函数名: sbrk功能: 改变数据段空间位置函数名: scanf功能: 执行格式化输入函数名: searchpath功能: 搜索DOS路径函数名: sector功能: 画并填充椭圆扇区函数名: segread功能: 读段寄存器值函数名: setactivepage功能: 设置图形输出活动页函数名: setallpallette功能: 按指定方式改变所有的调色板颜色函数名: setaspectratio功能: 设置图形纵横比函数名: setbkcolor功能: 用调色板设置当前背景颜色函数名: setblock功能: 修改先前已分配的DOS存储段大小函数名: setbuf功能: 把缓冲区与流相联函数名: setcbrk功能: 设置Control-break函数名: setcolor功能: 设置当前画线颜色函数名: setdate功能: 设置DOS日期函数名: setdisk功能: 设置当前磁盘驱动器函数名: setdta功能: 设置磁盘传输区地址函数名: setfillpattern功能: 选择用户定义的填充模式函数名: setfillstyle功能: 设置填充模式和颜色函数名: setftime功能: 设置文件日期和时间函数名: setgraphbufsize功能: 改变内部图形缓冲区的大小函数名: setgraphmode功能: 将系统设置成图形模式且清屏函数名: setjmp功能: 非局部转移函数名: setlinestyle功能: 设置当前画线宽度和类型函数名: setmem功能: 存值到存储区函数名: setmode功能: 设置打开文件方式函数名: setpalette功能: 改变调色板的颜色函数名: setrgbpalette功能: 定义IBM8514图形卡的颜色函数名: settextjustify功能: 为图形函数设置文本的对齐方式函数名: settextstyle功能: 为图形输出设置当前的文本属性函数名: settextstyle功能: 为图形输出设置当前的文本属性函数名: settime功能: 设置系统时间函数名: setusercharsize功能: 为矢量字体改变字符宽度和高度函数名: setvbuf功能: 把缓冲区与流相关函数名: setvect功能: 设置中断矢量入口函数名: setverify功能: 设置验证状态函数名: setviewport功能: 为图形输出设置当前视口函数名: setvisualpage功能: 设置可见图形页号函数名: setwritemode功能: 设置图形方式下画线的输出模式函数名: signal功能: 设置某一信号的对应动作函数名: sin功能: 正弦函数函数名: sinh功能: 双曲正弦函数函数名: sleep功能: 执行挂起一段时间函数名: sopen功能: 打开一共享文件函数名: sound功能: 以指定频率打开PC扬声器函数名: spawnl功能: 创建并运行子程序函数名: spawnle功能: 创建并运行子程序函数名: sprintf功能: 送格式化输出到字符串中函数名: sqrt功能: 计算平方根函数名: srand功能: 初始化随机数发生器函数名: sscanf功能: 执行从字符串中的格式化输入函数名: stat功能: 读取打开文件信息函数名: _status87功能: 取浮点状态函数名: stime功能: 设置时间函数名: stpcpy功能: 拷贝一个字符串到另一个函数名: strcat功能: 字符串拼接函数函数名: strchr功能: 在一个串中查找给定字符的第一个匹配之处\函数名: strcmp功能: 串比较函数名: strncmpi功能: 将一个串中的一部分与另一个串比较, 不管大小写函数名: strcpy功能: 串拷贝函数名: strcspn功能: 在串中查找第一个给定字符集内容的段函数名: strdup功能: 将串拷贝到新建的位置处函数名: stricmp功能: 以大小写不敏感方式比较两个串函数名: strerror功能: 返回指向错误信息字符串的指针函数名: strcmpi功能: 将一个串与另一个比较, 不管大小写函数名: strncmp功能: 串比较函数名: strncmpi功能: 把串中的一部分与另一串中的一部分比较, 不管大小写函数名: strncpy功能: 串拷贝函数名: strnicmp功能: 不注重大小写地比较两个串函数名: strnset功能: 将一个串中的所有字符都设为指定字符函数名: strpbrk功能: 在串中查找给定字符集中的字符函数名: strrchr功能: 在串中查找指定字符的最后一个出现函数名: strrev功能: 串倒转函数名: strset功能: 将一个串中的所有字符都设为指定字符函数名: strspn功能: 在串中查找指定字符集的子集的第一次出现函数名: strstr功能: 在串中查找指定字符串的第一次出现函数名: strtod功能: 将字符串转换为double型值函数名: strtok功能: 查找由在第二个串中指定的分界符分隔开的单词函数名: strtol功能: 将串转换为长整数函数名: strupr功能: 将串中的小写字母转换为大写字母函数名: swab功能: 交换字节函数名: system功能: 发出一个DOS命令T函数名: tan功能: 正切函数函数名: tanh功能: 双曲正切函数函数名: tell功能: 取文件指针的当前位置函数名: textattr功能: 设置文本属性函数名: textbackground功能: 选择新的文本背景颜色函数名: textcolor功能: 在文本模式中选择新的字符颜色函数名: textheight功能: 返回以像素为单位的字符串高度函数名: textmode功能: 将屏幕设置成文本模式函数名: textwidth功能: 返回以像素为单位的字符串宽度函数名: time功能: 取一天的时间函数名: tmpfile功能: 以二进制方式打开暂存文件函数名: tmpnam功能: 创建一个唯一的文件名函数名: tolower功能: 把字符转换成小写字母函数名: toupper功能: 把字符转换成大写字母函数名: tzset功能: UNIX时间兼容函数U函数名: ultoa功能: 转换一个无符号长整型数为字符串函数名: ungetc功能: 把一个字符退回到输入流中函数名: ungetch功能: 把一个字符退回到键盘缓冲区中函数名: unixtodos功能: 把日期和时间转换成DOS格式函数名: unlink功能: 删掉一个文件函数名: unlock功能: 解除文件共享锁V函数名: vfprintf功能: 送格式化输出到一流中函数名: vfscanf功能: 从流中执行格式化输入函数名: vprintf功能: 送格式化输出到stdout中函数名: vscanf功能: 从stdin中执行格式化输入函数名: vsprintf功能: 送格式化输出到串中函数名: vsscanf功能: 从流中执行格式化输入W函数名: wherex功能: 返回窗口内水平光标位置函数名: wherey功能: 返回窗口内垂直光标位置函数名: window功能: 定义活动文本模式窗口函数名: write功能: 写到一文件中A函数名: abort功能: 异常终止一个进程用法: void abort(void);程序例:#include <stdio.h>#include <stdlib.h>int main(void){printf("Calling abort()¥n");abort();return 0; /* This is never reached */}函数名: abs功能: 求整数的绝对值用法: int abs(int i);程序例:#include <stdio.h>#include <math.h>int main(void){int number = -1234;printf("number: %d absolute value: %d¥n", number, abs(number));return 0;}函数名: absread, abswirte功能: 绝对磁盘扇区读、写数据用法: int absread(int drive, int nsects, int sectno, void *buffer); int abswrite(int drive, int nsects, in tsectno, void *buffer);程序例:/* absread example */#include <stdio.h>#include <conio.h>#include <process.h>#include <dos.h>int main(void){int i, strt, ch_out, sector;char buf[512];printf("Insert a diskette into drive A and press any key¥n"); getch();sector = 0;if (absread(0, 1, sector, &buf) != 0){perror("Disk problem");exit(1);}printf("Read OK¥n");strt = 3;for (i=0; i<80; i++){ch_out = buf[strt+i];putchar(ch_out);}printf("¥n");return(0);}函数名: access功能: 确定文件的访问权限用法: int access(const char *filename, int amode); 程序例:#include <stdio.h>#include <io.h>int file_exists(char *filename);int main(void){printf("Does NOTEXIST.FIL exist: %s¥n",file_exists("NOTEXISTS.FIL") ? "YES" : "NO"); return 0;}int file_exists(char *filename){return (access(filename, 0) == 0);}函数名: acos功能: 反余弦函数用法: double acos(double x);程序例:#include <stdio.h>#include <math.h>int main(void){double result;double x = 0.5;result = acos(x);printf("The arc cosine of %lf is %lf¥n", x, result);return 0;}函数名: allocmem功能: 分配DOS存储段用法: int allocmem(unsigned size, unsigned *seg);程序例:#include <dos.h>#include <alloc.h>#include <stdio.h>int main(void){unsigned int size, segp;int stat;size = 64; /* (64 x 16) = 1024 bytes */stat = allocmem(size, &segp);if (stat == -1)printf("Allocated memory at segment: %x¥n", segp); elseprintf("Failed: maximum number of paragraphs available is %u¥n",stat);return 0;}函数名: arc功能: 画一弧线用法: void far arc(int x, int y, int stangle, int endangle, int radius); 程序例:#include <graphics.h>#include <stdlib.h>#include <stdio.h>#include <conio.h>int main(void){/* request auto detection */int gdriver = DETECT, gmode, errorcode;int midx, midy;int stangle = 45, endangle = 135;int radius = 100;/* initialize graphics and local variables */initgraph(&gdriver, &gmode, "");/* read result of initialization */errorcode = graphresult(); /* an error occurred */if (errorcode != grOk){printf("Graphics error: %s¥n", grapherrormsg(errorcode));printf("Press any key to halt:");getch();exit(1); /* terminate with an error code */}midx = getmaxx() / 2;midy = getmaxy() / 2;setcolor(getmaxcolor());/* draw arc */arc(midx, midy, stangle, endangle, radius); /* clean up */getch();closegraph();return 0;}函数名: asctime功能: 转换日期和时间为ASCII码用法: char *asctime(const struct tm *tblock); 程序例:#include <stdio.h>#include <string.h>#include <time.h>int main(void){struct tm t;char str[80];/* sample loading of tm structure */t.tm_sec = 1; /* Seconds */t.tm_min = 30; /* Minutes */t.tm_hour = 9; /* Hour */。

(完整版)C语言函数大全

(完整版)C语言函数大全

功能: 异常终止一个进程用法: void abort(void)函数名: abs功能: 求整数的绝对值用法: int abs(int i)函数名: absread, abswirte功能: 绝对磁盘扇区读、写数据用法: int absread(int drive, int nsects, int sectno, void *buffer) int abswrite(int drive, int nsects, in tsectno, void *buffer函数名: access功能: 确定文件的访问权限用法: int access(const char *filename, int amode)函数名: acos功能:反余弦函数用法: double acos(double x)函数名: allocmem功能: 分配DOS存储段用法:int allocmem(unsigned size, unsigned *seg)函数名: arc功能: 画一弧线用法:void far arc(int x, int y, int stangle, int endangle, int radius)函数名: asctime功能: 转换日期和时间为ASCII码用法:char *asctime(const struct tm *tblock)函数名: asin功能:反正弦函数用法: double asin(double x)函数名: assert功能: 测试一个条件并可能使程序终止用法:void assert(int test)函数名: atan功能: 反正切函数用法: double atan(double x)功能: 计算Y/X的反正切值用法: double atan2(double y, double x)函数名:atexit功能: 注册终止函数用法: int atexit(atexit_t func)函数名: atof功能: 把字符串转换成浮点数用法:double atof(const char *nptr)函数名: atoi功能: 把字符串转换成长整型数用法: int atoi(const char *nptr)函数名: atol功能: 把字符串转换成长整型数用法: long atol(const char *nptr)函数名: bar功能: 画一个二维条形图用法: void far bar(int left, int top, int right, int bottom)函数名: bar3d功能: 画一个三维条形图用法:void far bar3d(int left, int top, int right, int bottom,int depth, int topflag)函数名: bdos功能: DOS系统调用用法: int bdos(int dosfun, unsigned dosdx, unsigned dosal)函数名:bdosptr功能:DOS系统调用用法: int bdosptr(int dosfun, void *argument, unsigned dosal)函数名:bioscom功能: 串行I/O通信用法:int bioscom(int cmd, char abyte, int port)函数名:biosdisk功能: 软硬盘I/O用法:int biosdisk(int cmd, int drive, int head, int track, int sectorint nsects, void *buffer)函数名:biosequip功能: 检查设备用法:int biosequip(void)函数名:bioskey功能: 直接使用BIOS服务的键盘接口用法:int bioskey(int cmd)函数名:biosmemory功能: 返回存储块大小用法:int biosmemory(void)函数名:biosprint功能: 直接使用BIOS服务的打印机I/O用法:int biosprint(int cmd, int byte, int port)函数名:biostime功能: 读取或设置BIOS时间用法: long biostime(int cmd, long newtime)函数名: brk功能: 改变数据段空间分配用法:int brk(void *endds)函数名:bsearch功能: 二分法搜索用法:void *bsearch(const void *key, const void *base, size_t *nelem, size_t width, int(*fcmp)(const void *, const *))函数名: cabs功能: 计算复数的绝对值用法: double cabs(struct complex z);函数名:calloc功能:分配主存储器用法:void *calloc(size_t nelem, size_t elsize);函数名: ceil功能: 向上舍入用法: double ceil(double x);函数名: cgets功能: 从控制台读字符串用法: char *cgets(char *str)函数名:chdir功能: 改变工作目录用法: int chdir(const char *path);函数名:_chmod, chmod功能: 改变文件的访问方式用法: int chmod(const char *filename, int permiss);函数名:chsize功能: 改变文件大小用法: int chsize(int handle, long size);函数名: circle功能: 在给定半径以(x, y)为圆心画圆用法: void far circle(int x, int y, int radius);函数名: cleardevice功能: 清除图形屏幕用法: void far cleardevice(void);函数名:clearerr功能: 复位错误标志用法:void clearerr(FILE *stream);函数名: clearviewport功能: 清除图形视区用法: void far clearviewport(void);函数名:_close, close功能: 关闭文件句柄用法:int close(int handle);函数名: clock功能:确定处理器时间用法: clock_t clock(void);函数名:closegraph功能: 关闭图形系统用法: void far closegraph(void);函数名:clreol功能: 在文本窗口中清除字符到行末用法:void clreol(void)函数名:clrscr功能: 清除文本模式窗口用法:void clrscr(void);函数名: coreleft功能: 返回未使用内存的大小用法:unsigned coreleft(void);函数名: cos功能: 余弦函数用法:double cos(double x);函数名:cosh功能: 双曲余弦函数用法: dluble cosh(double x);函数名: country功能: 返回与国家有关的信息用法: struct COUNTRY *country(int countrycode, struct country *country); 函数名: cprintf功能: 送格式化输出至屏幕用法:int cprintf(const char *format[, argument, ...]);函数名: cputs功能: 写字符到屏幕用法: void cputs(const char *string);函数名: _creat creat功能: 创建一个新文件或重写一个已存在的文件用法: int creat (const char *filename, int permiss)函数名:creatnew功能: 创建一个新文件用法:int creatnew(const char *filename, int attrib);函数名: cscanf功能: 从控制台执行格式化输入用法:int cscanf(char *format[,argument, ...]);函数名: ctime功能: 把日期和时间转换为字符串用法:char *ctime(const time_t *time);功能: 设置Ctrl-Break处理程序用法: void ctrlbrk(*fptr)(void);函数名: delay功能: 将程序的执行暂停一段时间(毫秒)用法: void delay(unsigned milliseconds);函数名: delline功能: 在文本窗口中删去一行用法: void delline(void);函数名:detectgraph功能: 通过检测硬件确定图形驱动程序和模式用法: void far detectgraph(int far *graphdriver, int far *graphmode); 函数名: difftime功能: 计算两个时刻之间的时间差用法: double difftime(time_t time2, time_t time1);函数名: disable功能: 屏蔽中断用法:void disable(void);函数名: div功能: 将两个整数相除, 返回商和余数用法:div_t (int number, int denom);函数名: dosexterr功能: 获取扩展DOS错误信息用法:int dosexterr(struct DOSERR *dblkp);函数名: dostounix功能: 转换日期和时间为UNIX时间格式用法: long dostounix(struct date *dateptr, struct time *timeptr);函数名: drawpoly功能: 画多边形用法: void far drawpoly(int numpoints, int far *polypoints);函数名:dup功能: 复制一个文件句柄用法: int dup(int handle);函数名:dup2功能: 复制文件句柄用法: int dup2(int oldhandle, int newhandle);功能: 把一个浮点数转换为字符串用法: char ecvt(double value, int ndigit, int *decpt, int *sign);函数名: ellipse功能: 画一椭圆用法:void far ellipse(int x, int y, int stangle, int endangle,int xradius, int yradius);函数名: enable功能: 开放硬件中断用法: void enable(void);函数名: eof功能: 检测文件结束用法: int eof(int *handle);函数名: exec...功能: 装入并运行其它程序的函数用法: int execl(char *pathname, char *arg0, arg1, ..., argn, NULL); int execle(char *pathname, char *arg0, arg1, ..., argn, NULL,char *envp[]);int execlp(char *pathname, char *arg0, arg1, .., NULL);int execple(char *pathname, char *arg0, arg1, ..., NULL,char *envp[]);int execv(char *pathname, char *argv[]);int execve(char *pathname, char *argv[], char *envp[]);int execvp(char *pathname, char *argv[]);int execvpe(char *pathname, char *argv[], char *envp[]);函数名:exit功能: 终止程序用法: void exit(int status);函数名: exp功能: 指数函数用法: double exp(double x);函数名: gcvt功能: 把浮点数转换成字符串用法: char *gcvt(double value, int ndigit, char *buf);函数名: geninterrupt功能: 产生一个软中断函数名: getarccoords功能: 取得最后一次调用arc的坐标用法: void far getarccoords(struct arccoordstype far *arccoords); 函数名: getaspectratio功能: 返回当前图形模式的纵横比用法: void far getaspectratio(int far *xasp, int far *yasp);函数名: getbkcolor功能: 返回当前背景颜色用法: int far getbkcolor(void);函数名: getc功能: 从流中取字符用法: int getc(FILE *stream);函数名: getcbrk功能: 获取Control_break设置用法: int getcbrk(void);函数名: getch功能: 从控制台无回显地取一个字符用法: int getch(void);函数名: getchar功能: 从stdin流中读字符用法: int getchar(void);函数名: getche功能: 从控制台取字符(带回显)用法: int getche(void);函数名: getcolor功能: 返回当前画线颜色用法: int far getcolor(void);函数名: getcurdir功能: 取指定驱动器的当前目录用法: int getcurdir(int drive, char *direc);函数名: getcwd功能: 取当前工作目录用法: char *getcwd(char *buf, int n);函数名: getdate功能: 取DOS日期函数名: getdefaultpalette功能: 返回调色板定义结构用法: struct palettetype *far getdefaultpalette(void);函数名: getdisk功能: 取当前磁盘驱动器号用法: int getdisk(void);函数名: getdrivername功能: 返回指向包含当前图形驱动程序名字的字符串指针用法: char *getdrivename(void);函数名: getdta功能: 取磁盘传输地址用法: char far *getdta(void);函数名: getenv功能: 从环境中取字符串用法: char *getenv(char *envvar);函数名: getfat, getfatd功能: 取文件分配表信息用法: void getfat(int drive, struct fatinfo *fatblkp);函数名: getfillpattern功能: 将用户定义的填充模式拷贝到内存中用法: void far getfillpattern(char far *upattern);函数名: getfillsettings功能: 取得有关当前填充模式和填充颜色的信息用法: void far getfillsettings(struct fillsettingstype far *fillinfo); 函数名: getftime功能: 取文件日期和时间用法: int getftime(int handle, struct ftime *ftimep);函数名: getgraphmode功能: 返回当前图形模式用法: int far getgraphmode(void);函数名: getftime功能: 取文件日期和时间用法: int getftime(int handle, struct ftime *ftimep);函数名: getgraphmode功能: 返回当前图形模式用法: int far getgraphmode(void);函数名: getimage功能: 将指定区域的一个位图存到主存中用法: void far getimage(int left, int top, int right, int bottom,void far *bitmap);函数名: getlinesettings功能: 取当前线型、模式和宽度用法: void far getlinesettings(struct linesettingstype far *lininfo): 函数名: getmaxx功能: 返回屏幕的最大x坐标用法: int far getmaxx(void);函数名: getmaxy功能: 返回屏幕的最大y坐标用法: int far getmaxy(void);函数名: getmodename功能: 返回含有指定图形模式名的字符串指针用法: char *far getmodename(int mode_name);函数名: getmoderange功能: 取给定图形驱动程序的模式范围用法: void far getmoderange(int graphdriver, int far *lomode,int far *himode);函数名: getpalette功能: 返回有关当前调色板的信息用法: void far getpalette(struct palettetype far *palette);函数名: getpass功能: 读一个口令用法: char *getpass(char *prompt);函数名: getpixel功能: 取得指定像素的颜色用法: int far getpixel(int x, int y);函数名: gets功能: 从流中取一字符串用法: char *gets(char *string);函数名: gettext功能: 将文本方式屏幕上的文本拷贝到存储区用法: int gettext(int left, int top, int right, int bottom, void *destin);函数名: gettextinfo功能: 取得文本模式的显示信息用法: void gettextinfo(struct text_info *inforec);函数名: gettextsettings功能: 返回有关当前图形文本字体的信息用法: void far gettextsettings(struct textsettingstype far *textinfo); 函数名: gettime功能: 取得系统时间用法: void gettime(struct time *timep);函数名: getvect功能: 取得中断向量入口用法: void interrupt(*getvect(int intr_num));函数名: getverify功能: 返回DOS校验标志状态用法: int getverify(void);函数名: getviewsetting功能: 返回有关当前视区的信息用法: void far getviewsettings(struct viewporttype far *viewport); 函数名: getw功能: 从流中取一整数用法: int getw(FILE *strem);函数名: getx功能: 返回当前图形位置的x坐标用法: int far getx(void);函数名: gety功能: 返回当前图形位置的y坐标用法: int far gety(void);函数名: gmtime功能: 把日期和时间转换为格林尼治标准时间(GMT)用法: struct tm *gmtime(long *clock);函数名: gotoxy功能: 在文本窗口中设置光标用法: void gotoxy(int x, int y);函数名: gotoxy功能: 在文本窗口中设置光标用法: void gotoxy(int x, int y);函数名: graphdefaults功能: 将所有图形设置复位为它们的缺省值用法: void far graphdefaults(void);函数名: grapherrormsg功能: 返回一个错误信息串的指针用法: char *far grapherrormsg(int errorcode);函数名: graphresult功能: 返回最后一次不成功的图形操作的错误代码用法: int far graphresult(void);函数名: _graphfreemem功能: 用户可修改的图形存储区释放函数用法: void far _graphfreemem(void far *ptr, unsigned size);函数名: _graphgetmem功能: 用户可修改的图形存储区分配函数用法: void far *far _graphgetmem(unsigned size);函数名: harderr功能: 建立一个硬件错误处理程序用法: void harderr(int (*fptr)());函数名: hardresume功能: 硬件错误处理函数用法: void hardresume(int rescode);函数名: highvideo功能: 选择高亮度文本字符用法: void highvideo(void);函数名: hypot功能: 计算直角三角形的斜边长用法: double hypot(double x, double y);函数名: imagesize功能: 返回保存位图像所需的字节数用法: unsigned far imagesize(int left, int top, int right, int bottom); 函数名: initgraph功能: 初始化图形系统用法: void far initgraph(int far *graphdriver, int far *graphmode函数名: inport功能: 从硬件端口中输入用法: int inp(int protid);函数名: insline功能: 在文本窗口中插入一个空行用法: void insline(void);函数名: installuserdriver功能: 安装设备驱动程序到BGI设备驱动程序表中用法: int far installuserdriver(char far *name, int (*detect)(void));函数名: installuserfont功能: 安装未嵌入BGI系统的字体文件(CHR)用法: int far installuserfont(char far *name);函数名: int86功能: 通用8086软中断接口用法: int int86(int intr_num, union REGS *inregs, union REGS *outregs) 函数名: int86x功能: 通用8086软中断接口用法: int int86x(int intr_num, union REGS *insegs, union REGS *outregs, 函数名: intdos功能: 通用DOS接口用法: int intdos(union REGS *inregs, union REGS *outregs);函数名: intdosx功能: 通用DOS中断接口用法: int intdosx(union REGS *inregs, union REGS *outregs,struct SREGS *segregs);函数名: intr功能: 改变软中断接口用法: void intr(int intr_num, struct REGPACK *preg);函数名: ioctl功能: 控制I/O设备用法: int ioctl(int handle, int cmd[,int *argdx, int argcx]);函数名: isatty功能: 检查设备类型用法: int isatty(int handle);函数名: itoa功能: 把一整数转换为字符串用法: char *itoa(int value, char *string, int radix);函数名: kbhit功能: 检查当前按下的键用法: int kbhit(void);函数名: keep功能: 退出并继续驻留用法: void keep(int status, int size);函数名: kbhit功能: 检查当前按下的键用法: int kbhit(void);函数名: keep功能: 退出并继续驻留用法: void keep(int status, int size);函数名: labs用法: long labs(long n);函数名: ldexp功能: 计算value*2的幂用法: double ldexp(double value, int exp);函数名: ldiv功能: 两个长整型数相除, 返回商和余数用法: ldiv_t ldiv(long lnumer, long ldenom);函数名: lfind功能: 执行线性搜索用法: void *lfind(void *key, void *base, int *nelem, int width,int (*fcmp)());函数名: line功能: 在指定两点间画一直线用法: void far line(int x0, int y0, int x1, int y1);函数名: linerel功能: 从当前位置点(CP)到与CP有一给定相对距离的点画一直线用法: void far linerel(int dx, int dy);函数名: localtime功能: 把日期和时间转变为结构用法: struct tm *localtime(long *clock);函数名: lock功能: 设置文件共享锁用法: int lock(int handle, long offset, long length);函数名: log功能: 对数函数ln(x)用法: double log(double x);函数名: log10功能: 对数函数log用法: double log10(double x);函数名: longjump功能: 执行非局部转移用法: void longjump(jmp_buf env, int val);函数名: lowvideo功能: 选择低亮度字符用法: void lowvideo(void);函数名: lrotl, _lrotl功能: 将无符号长整型数向左循环移位用法: unsigned long lrotl(unsigned long lvalue, int count);unsigned long _lrotl(unsigned long lvalue, int count);函数名: lsearch功能: 线性搜索用法: void *lsearch(const void *key, void *base, size_t *nelem,size_t width, int (*fcmp)(const void *, const void *));函数名: lseek功能: 移动文件读/写指针用法: long lseek(int handle, long offset, int fromwhere);main()主函数每一C 程序都必须有一main() 函数, 可以根据自己的爱好把它放在程序的某个地方。

c语言数学函数大全及详解

c语言数学函数大全及详解

c语言数学函数大全及详解C语言提供了一系列的数学函数,这些函数包含在`math.h` 头文件中。

以下是一些常见的C 语言数学函数及其简要说明:1. fabs:-函数原型:`double fabs(double x);`-描述:返回`x` 的绝对值。

2. sqrt:-函数原型:`double sqrt(double x);`-描述:返回`x` 的平方根。

3. pow:-函数原型:`double pow(double x, double y);`-描述:返回`x` 的`y` 次方。

4. exp:-函数原型:`double exp(double x);`-描述:返回自然对数的底`e` 的`x` 次方。

5. log:-函数原型:`double log(double x);`-描述:返回`x` 的自然对数。

6. sin, cos, tan:-函数原型:- `double sin(double x);`- `double cos(double x);`- `double tan(double x);`-描述:分别返回`x` 的正弦、余弦和正切值。

这些函数中`x` 的单位是弧度。

7. asin, acos, atan:-函数原型:- `double asin(double x);`- `double acos(double x);`- `double atan(double x);`-描述:分别返回`x` 的反正弦、反余弦和反正切值。

返回的值是弧度。

8. sinh, cosh, tanh:-函数原型:- `double sinh(double x);`- `double cosh(double x);`- `double tanh(double x);`-描述:分别返回`x` 的双曲正弦、双曲余弦和双曲正切值。

9. ceil:-函数原型:`double ceil(double x);`-描述:返回不小于`x` 的最小整数值。

C语言图形编程(三、绘图函数-02)5

C语言图形编程(三、绘图函数-02)5
drawpoly()函数对应的头文件为grpahics.h
返回值: 无
例: 下面的程序画一个封闭星形图与一个不封闭星形图:
#include<graphics.h>
void main()
{
int driver,mode;
static int polypoints1[18]={100,100,110,120,100,130,120,125,140,140,130,120,
printf("aspect ratio: %f",aspectratio);
69. circle()画圆函数
功能: 函数circle()使用当前绘图色并以实线画一个完整的圆。
用法:该函数调用方式为void circle(int x,int y,int radius);
说明: 参数x,y为圆心坐标,radius为圆半径,用像素个素表示。注意,调用circle()函数画圆时不用当前线型。
不同于ellipse()函数,只用单个半径radius参数调用circle()函数,故屏显纵横比可以自动调节,以产生正确的显示图。
此函数对应的头文件为graphics.h
返回值: 无
例: 画六个同心圆,圆心在(100,100)。
#include<graphics.h>
void main()
为了保证几何图形基本按预计情况显示在屏幕上,用屏显的纵横比来计算和纠正不同硬件及显示卡产生的畸变。计算纵横比所需要的水平方向和垂直方向的比例系数可调用函数getaspectratio()获得。
68. getaspectratio()获取纵横比函数
功能: 函数getaspectratio()返回x方向和y方向的比例系数,用这两个整型值可计算某一特定屏显的纵横比。

c语言画图基本函数

c语言画图基本函数

c语言画图基本函数基本图形函数包括画点,线以及其它一些基本图形的函数。

本节对这些函数作一全面的介绍。

1、画点I. 画点函数 void far putpixel(int x, int y, int color);该函数表示有指定的象元画一个按color 所确定颜色的点。

对于颜色color的值可从表3中获得而对x, y是指图形象元的坐标。

在图形模式下,是按象元来定义坐标的。

对VGA适配器,它的最高分辨率为640x480,其中640为整个屏幕从左到右所有象元的个数,480为整个屏幕从上到下所有象元的个数。

屏幕的左上角坐标为(0,0),右下角坐标为(639, 479),水平方向从左到右为x 轴正向,垂直方向从上到下为y轴正向。

TURBO C的图形函数都是相对于图形屏幕坐标,即象元来说的。

关于点的另外一个函数是: int far getpixel(int x, int y); 它获得当前点(x, y)的颜色值。

II、有关坐标位置的函数int far getmaxx(void);返回x轴的最大值。

int far getmaxy(void); 返回y轴的最大值。

int far getx(void); 返回游标在x轴的位置。

void far gety(void); 返回游标有y轴的位置。

void far moveto(int x, int y); 移动游标到(x, y)点,不是画点,在移动过程中亦画点。

void far moverel(int dx, int dy); 移动游标从现行位置(x, y)移动到(x+dx, y+dy)的位置,移动过程中不画点。

2、画线I. 画线函数TURBO C提供了一系列画线函数,下面分别叙述:void far line(int x0, int y0, int x1, int y1); 画一条从点(x0, y0)到(x1, y1)的直线。

void far lineto(int x, int y); 画一作从现行游标到点(x, y)的直线。

C语言图形函数库

C语言图形函数库

C语言图形编程(三、绘图函数-02)四、图形和图像函数(一)像素函数56.putpiel()画像素点函数57.getpixel()返回像素色函数(二)直线和线型函数58.line()画线函数59.lineto()画线函数60.linerel()相对画线函数61.setlinestyle()设置线型函数62.getlinesettings()获取线型设置函数63.setwritemode()设置画线模式函数(三)、多边形函数64.rectangle()画矩形函数65.bar()画条函数66.bar3d()画条块函数67.drawpoly()画多边形函数(四)、圆、弧和曲线函数68.getaspectratio()获取纵横比函数69.circle()画圆函数70.arc()画圆弧函数71.ellipse()画椭圆弧函数72.fillellipse()画椭圆区函数73.pieslice()画扇区函数74.sector()画椭圆扇区函数75.getarccoords()获取圆弧坐标函数(五)、填充函数76.setfillstyle()设置填充图样和颜色函数77.setfillpattern()设置用户图样函数78.floodfill()填充闭域函数79.fillpoly()填充多边形函数80.getfillsettings()获取填充设置函数81.getfillpattern()获取用户图样设置函数(六)、图像函数82.imagesize()图像存储大小函数83.getimage()保存图像函数84.putimage()输出图像函数四、图形和图像函数对许多图形应用程序,直线和曲线是非常有用的。

但对有些图形只能靠操作单个像素才能画出。

当然如果没有画像素的功能,就无法操作直线和曲线的函数。

而且通过大规模使用像素功能,整个图形就可以保存、写、擦除和与屏幕上的原有图形进行叠加。

(一)像素函数56.putpixel()画像素点函数功能:函数putpixel()在图形模式下屏幕上画一个像素点。

C语言图像处理函数大全

C语言图像处理函数大全

C语言图像处理函数大全,完整版∙∙1.图像平移图像平移只是改变图像在屏幕上的位置,图像本身并不发生变化。

假设原图像区域左上角坐标为(x0, y0),右下角坐标为(x1, y1),将图像分别沿x和y轴平移dx和dy,则新图像的左上角坐标为(x0 +dx, y0+dy),右下角坐标为(x1+dx, y1+dy)。

坐标平移变换公式为:x′ = x +dxy′ = y +dy在屏幕上实现图像的移动分为四个步骤:⑴保存原图像到缓冲区。

⑵擦除原图像。

⑶计算平移后的新坐标。

⑷在新的坐标位置重新显示原图像。

其中,擦除原图像的方法与图形变换中擦除原图形的方法一致,在实现中仍采用XOR异或方式画图擦除原图像。

对于新坐标值的计算还需要考虑边界情况,不要在图像平移后超出允许的屏幕范围。

此外,如果采用C函数getimage()和putimage()来保存和恢复图像,则图像的大小不能超过64K。

2.图像颠倒图像颠倒是指把定义好的图像区域上下翻转地显示在屏幕上。

分析图像颠倒的过程,可发现每行的图像信息都保持不变,而只是改变了行的顺序,将第一行与最后的第n行相互交换,第二行与第n-1行交换……,依此类推,从而实现了图像的颠倒。

只需采用按行交换的方式,即可方便地修改缓冲区内容,实现图像的颠倒。

基本步骤如下:(1) 用getimage()保存原图像,并擦除原图像。

(2) 计算图像的高度,即行数height;计算图像宽度width;计算保存一行图像信息height = bottom -top +1;width = right -left +1;linebytes = (width +7) /8 *4;(3)利用行交换缓冲区linebuf在图像内存缓冲区中进行信息交换,即把第一行与最末行交换,第2行与第n-1行交换……,依此类推,直至全部交换完毕。

(4)把交换后的图像缓冲区内容重新显示在屏幕上。

3.图像镜像变换镜像变换是指将指定区域的图像左右翻转地显示在屏幕。

C语言中的画图函数

C语言中的画图函数

C语言中的画图函数基本图形函数包括画点,线以及其它一些基本图形的函数。

本节对这些函数作一全面的介绍。

1、画点I. 画点函数 void far putpixel(int x, int y, int color);该函数表示有指定的象元画一个按color 所确定颜色的点。

对于颜色color 的值可从表3中获得而对x, y是指图形象元的坐标。

在图形模式下,是按象元来定义坐标的。

对VGA适配器,它的最高分辨率为640x480,其中640为整个屏幕从左到右所有象元的个数,480为整个屏幕从上到下所有象元的个数。

屏幕的左上角坐标为(0,0),右下角坐标为(639, 479),水平方向从左到右为x 轴正向,垂直方向从上到下为y轴正向。

TURBO C的图形函数都是相对于图形屏幕坐标,即象元来说的。

关于点的另外一个函数是: int far getpixel(int x, int y); 它获得当前点(x, y)的颜色值。

II、有关坐标位置的函数int far getmaxx(void);返回x轴的最大值。

int far getmaxy(void); 返回y轴的最大值。

int far getx(void); 返回游标在x轴的位置。

void far gety(void); 返回游标有y轴的位置。

void far moveto(int x, int y); 移动游标到(x, y)点,不是画点,在移动过程中亦画点。

void far moverel(int dx, int dy); 移动游标从现行位置(x, y)移动到(x+dx, y+dy)的位置,移动过程中不画点。

2、画线I. 画线函数TURBO C提供了一系列画线函数,下面分别叙述:void far line(int x0, int y0, int x1, int y1); 画一条从点(x0, y0)到(x1, y1)的直线。

void far lineto(int x, int y); 画一作从现行游标到点(x, y)的直线。

C语言图形库函数.docx

C语言图形库函数.docx

1•初始化图形系统函数名:ini tgraph功能:初始化图形系统用法:void far initgraph(int far *graphdriver, int far *grciphmode, char far *pathtodriver);程序例:^include <graphics. h>★include <stdlib. h>^include <stdio. h> #includo <conio・ h> int main(void){/* request auto detection */int gdriver = DETEC1\ gmode, errorcode;/* initialize graphics mode */initgraph(&gdriver, &gmode,"“);/* read result of initialization */errorcode 二graphresult():if (errorcode != grOk) /* an error occurred */(prin tf (''Graphics error: %s\n: grapherrormsg (errorcode)):printf("Press any key to halt:"):getch ();exi t(1); /* return wi th error code *//* draw a line */line(0, 0, gctmaxx0, gctmaxy());/* clean up */getch ();closegraph ();return 0;2.#include〈graphics・ h>★include <stdlib. h>^include <stdio. h>#include <conio.h> irH main(void){/* request auto detection */int gdriver = DETECT, gmode, errorcode; int maxx, mcixy;/* our polygon array */int polyL1OJ;/* initialhe 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(orrorcode));prin订("Press any key to halt/); getch ();/♦ terminate with an error code */ exi t (1);}meixx = getmeixx ();mcixy = getmcixy 0 ;poly[0] = 20; /* 1st vertext */poly[1] = maxy / 2;poly[2] = maxx - 20; /* 2nd */ poly[3] = 20;poly [4] = maxx - 50; /* 3rd */ poly [5] = maxy - 20;poly[6] = maxx / 2;/* 4th */poly[7] = maxy / 2;/*drawpoly doesn't automatically close the polygon, so we close il・poly [8] = poly[0]:poly[9] = poly[l]:/* draw the polygon */ drawpoly(5, poly);/* clean up */ getchO ; elosegraph ();return 0;}#include <graphics・h> #include <stdlib. h> #includo <stdio・h> ^include <conio.h> int main(void)/* request auto detection */int gdriver = DETECT, gmode, errorcode;int midx, midy;ini stangle = 0, endangle = 360;int xradius = 100, yradius = 50;/* initidli/e graphics, local variables */ inilgraph(&gdrivg &gmode,"“);/* read result of initialization */ errorcode = graphrcsult();if (errorcode != grOk)/* an error occurred */(prin(『("Graphics error: %s\r)zz, grapherrormsg (errorcode));printf("Press any key to halt:");getch ();exit(1);/* term in ate with an error code */}midx = getmaxx () / 2;midy = getmaxy () / 2;setcolor (getmtixcolor ());/* draw ellipse */ellipse(midx, midy, stangle, endangle, xradius, yradius);/* clean up */getch ();closegraph();return 0;}功能:画出并填充一椭恻用法:void far fillellipse(int x, int y, int xradius, int yradius); 程序例:#includo〈graphics・ h>#include <conio. h>int main(void){int gdriver 二DETECT, gmode;int xcenter, ycenter, i;initgraph(&gdriver, &gmode,"“); xcenter = getmaxxO / 2;ycenter = getmaxy() / 2;for (i=0; i<13; i++){setfillstyle(i, WHITE);fillellipse(xcenter, ycenter, 100, 50); getch ();}closegraph();return 0;}#include <graphics・h> #include <stdlib. h> #includo <string・h> ^include <stdio.h> ^include <conio. h>int main(void)/* request auto detection */int gdriver = DETECT, gmode, errorcode;int bkcolor, midx, midy; char bknamc[35];/* initialize graphics and local variables */ initgraph(&gdrivor, &gmode,"”);/* road result of initializalion */errorcode = graphresult():/* an error occurred */if (errorcode != grOk){printf(z,Grciphics error: %s\n", grapherrormsg(errorcode)); printf("Press any key to halt:z/); getch0 ;/* terminate with an error code */exit(1);}midx = getmaxx () / 2;midy 二gelmtixy() / 2; setcolor (getmaxcolor ());/* for centering text on the display */ settextjustify(CENTER_TEXT, CENTER_TEXT);/* get the current background color */ bkcolor = getbkcolor0 ;/* convert color value into a string */ itoa(bkcolor, bkname, 10);strcat (bknamc,"is the current background color・“);/* display a message */outtextxy (midx, midy, bkntune);/* clean up */getch();closegraph ();return 0;函数名:line 功能:在指定两点间画一直线用法:void far line(int xO, int yO, int xl, int yl);程序例:#include <graphics・h>^include <stdlib. h> #includo <stdio. h>^include <conio. h> int main(void){/* request auto detection */int gdriver 二DETECT, gmode, errorcode;int xmax, ymax;/* iniliali/e graphics and 1ocal variables */ initgraph(&gdriver, &gmode,"”):/* read result of initialization */cri^orcodc = graphrcsult ();/* an error occurred */if (errorcode != grOk){prin订("Graphics error: %s\n", grapherrormsg(errorcode));printf("Press any key to halt:"); getch ();exi t (1);setcolor (getmcixcolor ());xmax = getmeixx ();ymeix 二getmtixy ();/* draw a diagonal line */ line(0, 0, xmax, ymax);/* clean up */ getchO ; closegraph ();return 0;}函数名:rectangle功能:画一个矩形)\] 法:void far rectangle(int left, int top, int right, int bottom);函数名:sctbkcolor功能:用调色板设置当前背景颜色用法:void far setbkcolor(int color): 程序例:ttinclude <graphics. h>tfinclude <stdlib. h>ttinclude <stdio. h>ttinclude <conio. h>int main(void){/* select a driver and mode that supports *//* multiple background colors・*/int gdrivcr 二EGA, gmodc = EGAHI, errorcode; int bkcol, maxcolor, x, y;char msg[80];/* initialize graphics and local variables */ initgraph(&gdriver,&gmode,"”);/* read result of initialization */ errorcode = graphresult();if (errorcode != grOk) /* an e门occurred */prinlf ("Graphics error: %s\n/z, grapherrormsg (errorcode)); printf("Press any key to halt/);getch0 ;exit(1) ; /* terminate with an error code */ }/* maximum color index supported */ maxcolor = getmtixcolor ();/* for centering text messages */seitextjustify(CENTER TEXT, CENTER TEXT);x 二getmaxxO / 2;y = getmaxyO / 2;/* loop through the available colors */for (bkcol~0; bkcol<=maxcolor; bkcol++){/* c l ear the screen */cleardevice();/* select a new background color */ sctbkcolor(bkcol);/* output a messsage */if (bkcol == WHITE)setcolor(EGA_BLUE):sprintf (msg, ''Background color: bkcol);outtextxy (x, y, msg);getch ();}/* clean up */closcgraphO ;return 0;}函数名:setcolor功能:设置当前画线颜色用法:void far setcolor(int color);程序例:ttinclude <graphics. h>^include <stdlib. h>ftinclude <stdio.h>#includc <conio.h>int m3in(void){/* select a driver and mode that supports *//* multiple drawing colors・*/int gdriver = EGA, gmode = EGAI11, errorcode;int color, maxcolor, x, y;char msg [80];/* initialize graphics and local variables */ initgraph(&gdrivcr, &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:,z);gctchO ;exit(1); /* terminate with an error code */}/* maximum color index supported */ mtixcolor 二getmtixcolor ();/* for centering text messages */settextjustify(CENTER_TEXT, CENTER_TEXT);x = getmaxxO / 2;y = getmaxyO / 2;/* loop through the available colors */for (color=i; color<-maxcolor; color++){/* clear the screen */cleardevice();/* select a new background color */ setcolor(color);/* output a messsage */sprintf (msg, "Color: color): outtextxy(x, y, msg); getch ();}/* clean up */ closcgraph ();return 0;}函数名:setfillstyle功能:设登填充模式和颜色用法:void far setfi 1 lstyle(int pattern, int color); 程序例:^include <graphics. h> 廿include <stdlib. h> ^include〈string. h> ^include <stdio.h> #inelude <conio. h>/* the names of the fill styles supported */ char *fname[] = { "EMPTY_FILL","SOLID FILL","LINE FII丄","LTSLASH FILI/;"SLASII_F1LL", "BKSLASII_FILL","LTBKSLASH_FILL","HATCH FILL","XHATCH_FILL","INTERLEAVE_FILL","WIDE DOT FILL","CLOSE DOT FILI/;"USER FILL" int main(void)/* request auto detection */int gdriver = DETECT, gmode, errorcode;int style, midx, midy;char stylestr[40];/* initialize graphics and 1ocal variables */ initgraph(&gdriver, &gmode, ");/* read result of initialization */errorcodc = graphresult();if (errorcode != grOk) /* an error occurred */{printf("Graphics error: %s\n〃,grapherrormsg(errorcode)); printf("Press any key to halt/):getchO ;exi t (1) ; /* term in ate with an error code */}midx = getmtixx () / 2;midy = getmtixy () / 2;for (style = EMPTY_FILL; style < USER一FILL; style++){/* select the fill style */setfillstyle(style, getmaxcolor());/* convert style into a string */strepy(stylestr, fname[style]);/* fill a bar */bar 3d (0, 0, midx-10, midy, 0, 0);/* output a message */outtextxy (midx, midy, stylestr);/* wait for a key */getch ();cleardevice();}/* clean up */getchO ;closegraph();return 0;函数名:set linestyle功能:设置当前画线宽度和类型用法:void far setlinestyle(int linestype, unsigncd upattern); 程序例:#include <graphics・ h>#include <stdlib. h> #include <string・ h>^include <stdio>h>ttinclude <conio. h> /* the names of the line styles supported */ char amc [] = {,,SOL1D_L1NE,\,,DOTTED_LINE,,I"CENTER LTNE\"DASHED_LINE","USERBnjLINE"};int main(void){/* request auto detection */int gdriver = DETECT, gmode, errorcode;int style, midx, midy, userpat;char stylestr[40];/* initialize graphics and local variables */initgraph(&gdrivg &gmodc,"”);/* read result of initialization */errorcode 二graphrcsult():if (errorcode != grOk) /* an error occurred */{printf("Graphics error: grapherrormsg(errorcode));printf(”Press any key to halt:");getchO ;exit(1); /* terminate with an error code */midx = getmaxx () / 2;midy = getmaxy () / 2;/* a user defined line pattern *//* binary: "0000000000000001" */userpat = 1;for (style=SOLTD LTNE; style<=USERBTT LTNE; style++){/* select the line style */setlinestyle(style, userpat, 1);/* convert style into a string */strcpy(stylestr, InameEstyle]);/* draw a line */linc(0, 0, midx-10, midy);/* draw a rectanglc */rectanglc(0, 0, getmaxx (), getmaxy ());/* output a message */outtextxy (midx, midy, stylestr);/* wait for a key */getchO ;cleardevice0 ;}/* clean up */closegraph();return 0;。

C语言函数大全-d开头-完整版

C语言函数大全-d开头-完整版

getch(); returnph
功能: 通过检测硬件确定图形驱动程序和模式
用法: void far detectgraph(int far *graphdriver, int far *graphmode);
程序例:
#include #include #include #include /* names of the various cards supported */ char *dname[] = { "requests detection", "a CGA", "an MCGA", "an EGA", "a 64K EGA", "a monochrome EGA", "an IBM 8514", "a Hercules monochrome", "an AT&T 6300 PC", "a VGA", "an IBM 3270 PC" }; int main(void) { /* returns detected hardware info. */ int gdriver, gmode, errorcode; /* detect graphics hardware available */ detectgraph(&gdriver, &gmode); /* read result of detectgraph call */ 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

c语言的常用函数

c语言的常用函数

c语言的常用函数c语言是一门流行的多用途的编程语言,几乎在所有的领域都有应用。

在把它应用到实际项目中时,需要熟悉c语言常用函数。

本文介绍c语言中105个常用函数,包括数据类型转换、输入输出等函数,以及字符串处理、文件处理、学习内存管理、数学函数、定时器等函数,可以帮助程序员们更加熟悉c语言中的常用函数,从而更好地实现编程项目。

一、数据类型转换函数1、atoi()一个字符串转换成一个整数。

2、atof()一个字符串转换成浮点数。

3、atol()一个字符串转换成长整数。

4、strtod()一个字符串转换成双精度浮点数。

5、strtol()一个字符串转换成长整数。

6、strtoul()字符串转换成无符号长整数。

7、itoa()整数转换为字符串。

8、ftoa()浮点数转换为字符串。

9、ltoa()长整数转换为字符串。

二、输入输出函数1、printf()格式化的数据输出到标准输出设备。

2、scanf() 从标准输入设备读取格式化的数据。

3、fprintf()格式化的数据写入指定的文件。

4、fscanf() 从指定的文件读取格式化的数据。

5、sprintf()格式化的数据存储到字符串变量中。

6、sscanf() 从字符串变量中读取格式化的数据。

三、字符串处理函数1、strlen()算字符串长度。

2、strcpy() 从源字符串复制到目标字符串。

3、strcat()源字符串添加到目标字符串的末尾。

4、strcmp()较两个字符串。

5、strncpy() 从源字符串复制到目标字符串,长度不超过指定的长度。

6、strncat()源字符串添加到目标字符串的末尾,长度不超过指定的长度。

7、strncmp()较两个字符串,长度不超过指定的长度。

8、strstr()到第一个字符串中出现第二个字符串的位置。

9、strchr()到第一个字符串中出现字符c的位置。

10、strrchr()到第一个字符串中最后一次出现字符c的位置。

C语言图形编程

C语言图形编程
用法: 此函数调用方式为void getviewsettings(struct viewporttype *info);
说明: 该函数执行后,把有关当前视口的信息装入info指向的viewporttype型结构中。
viewporttype结构定义如下:
struct viewporttype {
说明: 参数left,top是左上角坐标,right,bottom是右下角坐标,它们都是绝对屏幕坐标。
传给setviewport()的第五个参数是clip,如果clip为1,则超出视口的输出图形自动被裁剪掉,即所有作图限制于当前图形视口之内,如果clip为0,则不做裁剪,即作图将无限制地扩展于视口周界之外,直到屏幕边界。若无效参数传入setviewport(),则graphresult()函数返回值-11,先前视口设置仍有效。
BROWN(棕色) 6 YELLOW(黄色) 14
LIGHTGRAY(淡灰) 7 WHITE(白色) 15
-----------------------------------------------------------------
三、屏幕位置函数
50. getmaxx()返回最大x坐标函数
51. getmaxy() 返回最大y坐标函数
52. getx() 返回x坐标函数
53. gety() 返回y坐标函数
54. moveto()函数
55. moverel() 相对移动函数
一、屏幕和视口设置与清除函数
36. setviewport() 设置图形视口函数
功能: 函数setviewport() 设置当前图形视口。
用法: 函数调用方式为void setviewport(int left,int top,int right,int bottom,int clip);

C语言函数大全(C)

C语言函数大全(C)

C语言函数大全(C)C语言是一种非常重要的编程语言,它是一种结构化,通用和高效的编程语言,适用于各种不同的应用领域。

C语言的重要性在于它已经成为了许多操作系统,编译器,数据库,GUI(图形用户界面)和其他高级语言的实现基础。

在本文中,我们将介绍C语言中的一些重要的函数,并简要描述它们的作用。

1. printf()该函数可以将输出的字符串和变量打印到屏幕上。

例如:printf("This is a string");,字符串“This is a string”将被打印到屏幕上。

2. scanf()该函数可以从屏幕上读取输入,并将其存储到变量中。

例如:scanf("%d", &x);,这将从屏幕上读取一个整数并将其存储在x变量中。

3. strlen()该函数可以计算字符串的长度(不包括空字符),并返回结果。

例如:strlen(str);,这将返回字符串“str”的长度。

4. strcmp()该函数可以比较两个字符串。

如果字符串相等则返回0,如果第一个字符串小于第二个字符串则返回一个负数,如果第一个字符串大于第二个字符串则返回一个正数。

例如:strcmp(str1, str2);,这将比较字符串“str1”和“str2”。

7. getchar()该函数从标准输入流中获取一个字符,并将其作为返回值返回。

例如:char c = getchar();,这将从键盘上获取一个字符并将其存储在变量“c”中。

8. putchar()该函数将一个字符输出到标准输出流中。

例如:putchar('a');,这将把字符‘a’输出到控制台。

9. isalpha()该函数检查给定的字符是否为字母。

如果是则返回非零值,否则返回0。

例如:isalpha('a');,这将返回非零值,因为‘a’是一个字母。

11. toupper()该函数返回给定字符的大写形式。

C语言图形的填充函数

C语言图形的填充函数

C语言图形的填充函数一、先画轮廓再填充TURBO C提供了一些先画出基本图形轮廓, 再按规定图模和颜色填充整个封闭图形的函数。

在没有改变填充方式时, TURBO C以默认方式填充。

下面介绍这些函数。

void bar(int x1, int y1, int x2, int y2);确定一个以(x1, y1)为左上角, (x2, y2)为右下角的矩形窗口, 再按规定图模和颜色填充。

说明: 此函数不画出边框, 所以填充色为边框。

void bar3d(int x1,int y1,int x2,int y2,int depth,int topflag);当topflag为非0时, 画出一个三维的长方体。

当topflag为0时, 三维图形不封顶, 实际上很少这样使用。

说明: bar3d()函数中, 长方体第三维的方向不随任何参数而变, 即始终为45度的方向。

void pieslice(int x,int y,int stangle,int endangle,int radius);画一个以(x, y)为圆心, radius为半径, stangle为起始角度, endangle 为终止角度的扇形, 再按规定方式填充。

当stangle=0, endangle=360 时变成一个实心圆, 并在圆内从圆点沿X轴正向画一条半径。

void sector(int x, int y, int stanle, intendangle, int xradius, int yradius);画一个以(x, y)为圆心分别以xradius, yradius为x轴和y轴半径, stangle为起始角, endangle为终止角的椭圆扇形, 再按规定方式填充。

二、设定填充方式TURBO C有四个与填充方式有关的函数。

下面分别介绍:void setfillstyle(int pattern, int color);color的值是当前屏幕图形模式时颜色的有效值。

C语言中图形函数及其用法

C语言中图形函数及其用法
x,y为圆弧所在圆的圆心坐标。angs,ange分别为圆弧的起始角和终止角(单位为度),r为圆弧的半径。
例如:
arc(300,200,90,180,200);的结果是以点(300,200)为圆心,200为半径,从90度到180度画了四分之一圆弧。当圆弧的起始角angs=0,终止角angs=360时,则可以画出一个整圆。
14.8.4 图形属性控制
图形的属性控制包括控制颜色和线型。颜色有背景色和前景色之分。背景色指屏幕的颜色(即绘图时的底色),前景色指绘图时图形线条所用的颜色。
任何绘图函数都是在当前的颜色(包括背景色和前景色)和线型的状态下进行绘图的。前面所举的例子中没有提当前的颜色和线型,是因为用了系统的缺省值(系统的缺省值是:背景色为黑色,前景色为白色,线型为实线)。
cleardevice();
14.8.3 绘图函数
绘图函数是进行图形操作的基础。用象素点几乎可以画出任何图形,但效率太低。为此TC提供了大量的基本绘图函数,以方便图形设计。
在使用绘图函数时,要随时注意画图的"当前点位置",它是绘图的起始位置。也就是说,图形总是从当前点开始画。画完一个图形后,有时当前点的位置不变,仍在原来的位置;有时则要把当前点移到新的位置。此外,为了从指定位置开始作图,有时需要先改变当前点位置,然后再作图。在调用绘图函数的时候要注意这些问题。
ellipse()函数
函数ellipes()用于画椭圆弧或椭圆。其调用格式为:
ellipse(x,y,angs,ange,xr,yr);
函数的参数均为整型。其中:
x,y为椭圆的中心坐标,angs,ange分别为椭圆弧的起始角和终止角(单位为度),xr,yr分别为椭圆的水平轴半轴和垂直轴半轴。如果args=0,ange=360,则可以画出一个完整的椭圆。另外:
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

C语言图形编程一、字符屏幕一、屏幕操作函数1. clrscr()清除字符窗口函数2. window()字符窗口函数3. gotoxy()光标定位函数4. clreol() 清除光标行尾字符函数5. insline() 插入空行函数6. delline() 删除一行函数7. gettext() 拷进文字函数8. puttext() 拷出文字函数9. movetext() 移动文字函数二、字符属性函数10. textmode() 文本模式函数11. highvideo()高亮度函数12. lowvideo() 低亮度函数13. normvideo(void);14. textcolor() 文本颜色函数15. textattr() 文本属性函数16.textbackground() 文本背景函数三、屏显状态函数17. wherex() 光标处x坐标函数18. wherey() 光标处y坐标函数19. gettextinfo() 获取文本窗口信息函数在Borland C++里面提供了字符屏幕和图形函数。

字符屏幕的核心是窗口(Window),它是屏幕的活动部分,字符输出或显示在活动窗口中进行。

窗口在缺省时,就是整个屏幕。

窗口可以根据需要指定其大小。

同样,对图形函数的操作,也提供了(Viewport)。

也就是说图形函数的操作都是在视口上进行。

图形视口与字符窗口具有相同的特性,用户可以在屏幕上定义大小不同的视口,若不定义视口大小,它就是整个屏幕。

窗口是在字符屏幕下的概念,只有字符才能在窗口中显示出来,这时用户可以访问的最小单位为一个字符。

视口是在图形屏幕状态下的概念,文本与图形都可以在视口上显示,用户可访问的最小单位是一个像素(像素这一术语最初用来指显示器上最小的、单独的发光点单元。

然而现在,其含义拓宽为指图形显示器上的最小可访问点)。

字符和图形状态下,屏幕上的位置都是由它们的行与列所决定的。

有一点须指出:字符状态左上角坐标为(1,1),但图形左上角坐标为(0,0)。

了解字符屏幕和图形函数与窗口和视口的关系是很重要的。

例如,字符屏幕光标位置函数gotoxy()将光标移到窗口的x,y位置上,这未必是相对于整个屏幕。

下面介绍常用的几类字符屏幕函数的功能用途、操作方法及其例行程序。

一、屏幕操作函数编写程序绘图经常要用到对字符屏幕进行操作。

例如,在往屏幕上写字符之前,首先要将屏幕清除干净。

又如,有时需要在屏幕上多处写上肉中刺样的字符内容,这时最好用屏幕拷贝来高效率地完成这一任务。

对这些操作,Borland C++提供了一系列字符屏幕操作函数来实现。

1. clrscr()清除字符窗口函数功能:函数clrscr()清除整个当前字符窗口,并且把光标定位于左上角(1,1)处。

用法:此函数调用方式为 void clrscr(void);说明:括号中void 表示无参数。

该函数相应的头文件为conio.h返回值:无例:使用这个函数的例子见4.clreol()函数的实例中。

2. window()字符窗口函数功能:函数window()用于在指定位置建立一个字符窗口。

用法:此函数调用方式为 void window(int left,int top,int right,int bottom);说明:函数中参数left,top为窗口左上角坐标;right,bottom为其右下角坐标。

若有一个坐标是无效的,则window()函数不起作用。

一旦该函数调用成功,那么所有定位坐标都是相对于窗口的,而不是相对于整个屏幕。

但是建立窗口所用的坐标总是相对整个屏幕的绝对坐标,而不是相对当前窗口的相对坐标。

这样用户就可以根据各种需要建立多个互不嵌套的窗口。

此函数的头文件为conio.h。

返回值:无例:调用这个函数的实现例见3.gotoxy()函数的例子中。

3. gotoxy()光标定位函数功能:函数gotoxy()将字屏幕上的光标移到当前窗口指定的位置上。

用法:这个函数调用方式为void gotoxy(int x,int y);说明:括号里x,y是,光标定位的坐标,如果其中一个坐标值无效(如坐标超界),那么光标不会移动。

此函数在字符状态(有时称为文本状态)下经常用到,其相应的头文件为conio.h返回值:无例:下面程序建立两个窗口,然后在窗口里显示字符,字符的位置是调用该函数确定的。

#include <conio.h>void border(int startx,int starty,int endx,int endy){register int i;gotoxy(1,1);for(i=0;i<=endx-startx;i++)putch('-');gotoxy(1,endy-starty);for(i=0;i<=endx-startx;i++)putch('-');for(i=2;i<=endy-starty;i++){gotoxy(1,i);putch('1');gotoxy(endx-startx+1,i);putch('1');}}main(){void border(int,int,int,int);clrscr();window(6,8,38,12);border(6,8,38,12);gotoxy(2,2);printf("window 1");window(8,16,40,24);border(8,16,40,24);gotoxy(3,2);printf("window 2");getch();}4. clreol() 清除光标行尾字符函数功能:函数clreol()在当前字符窗口中清除从光标位置到行尾的所有字符,而光标位置保持不变。

用法:它的调用方式为void clreol(void);说明:此函数的相应头文件为 conio.h返回值:无例:程序中使用了函数clreol()和clrscr()#i nclude "conio.h>void main(){register int i;gotoxy(6,8);printf("This is a test of the clreol() function.");getch();gotoxy(6,8);clreol();for(i=0;i<20;i++)printf("Hello\n");getch();clrscr();}5. insline() 插入空行函数功能:函数insline()插入一空行到当前光标所在行上,同时光标以下的所有行都向下顺移一行。

用法:此函数的调用方式为void insline(void);说明:该函数只用于文本方式,并且在当了符窗口才有效。

这个函数的对应头文件是 conio.h返回值:无例:程序给出了insline()函数的用法。

#i nclude "conio.h"void main(){registser int i;clrscr();for(i=1;i<24;i++){gotoxy(1,i);printf("This is line %d\n",i);}getch();gotoxy(1,10);insline();getch();}6. delline() 删除一行函数功能:函数delline()删除当前窗口内光标所在行,同时把该行下面所有行都上移一行。

用法:此函数调用方式为 void delline(void);说明:注意,如果当前窗口小于整个屏幕,那么该函数只影响到窗口内的字符。

这个函数相应的头部文件是conio.h返回值:无例:先在屏幕上显示16行文字,然后删除第4行#i nclude "conio.h"void main(){register int i;clrscr();for(i=0;i<16;i++) printf("line %d\n",i);getch();gotoxy(1,4);delline();getch();}7.gettext() 拷进文字函数功能:函数gettext()用于文本状态下将屏幕上矩形域内的文字拷进内存。

用法:该函数调用方式为 int gettext(int left,int top,int right,int bottom,void *buffer);说明:函数中参数left,top为矩形区域的左上角坐标,right,bottom为其右下角坐标,这些坐标是屏幕的绝对坐标,不是窗口的相对坐标。

buffer指针必须指向一个足够保存该矩形域内文字的内存。

所用内存大小按下式计算:点头用字节数=矩形哉内的行数×矩形域的列数×2这里将行数乘以列数再乘以2的原因是保存屏幕上每个字符要用两个字节存储单元,一个字节存储单元存放字符本身,而另一个存放其属性。

此函数相应的头文件是 conio.h返回值:若函数调用成功则返回1,否则返顺0。

例:把屏幕左上角点(1,1)和右下角点(10,10)的区域拷贝到buf指向的内存中去。

buf=(char *)malloc(10*10*2);if(!buf)gettext(1,1,10,10,buf);8. puttext() 拷出文字函数功能:函数puttext()把先前由gettext()保存到buffer指向的内存中的文字拷出到屏幕上一个矩形区域中。

用法:此函数调用方式为 int puttext(int left,int top,int right,int bottom,void *buffer);说明:函数里left,top为给出的屏幕上矩形区域的左上角点,right,bottom为其右下角点,其坐标是用屏幕的绝对坐标,而不是用窗口的相对坐标。

该函数相应的头文件为conio.h返回值:函数调用成功返回值为1,否则返回0。

例:屏幕上某个区域内容拷进buf指向的内存中,然后又将这些文字拷出到屏幕上新位置。

buf=(char *)malloc(10*10*2);gettext(1,1,10,10,buf);puttext(16,16,30,30,buf);9. movetext() 移动文字函数功能:函数movetext()将屏幕上一个矩形区域的文字移到另一个区域上。

用法:该函数调用方式为 int movetext(int left,int top,int right,int bottom,int newleft,int newtop); 说明:上面left,top为矩形区域上角坐标,right,bottom为其右下角坐标,newleft,newright为移动到区域左上角坐标。

相关文档
最新文档