真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

c語言常用圖形函數(shù)教程,c語言圖形處理函數(shù)

C語言中的圖形函數(shù)有哪些

一) 像素函數(shù)

專注于為中小企業(yè)提供做網(wǎng)站、成都網(wǎng)站建設服務,電腦端+手機端+微信端的三站合一,更高效的管理,為中小企業(yè)順德免費做網(wǎng)站提供優(yōu)質的服務。我們立足成都,凝聚了一批互聯(lián)網(wǎng)行業(yè)人才,有力地推動了上千企業(yè)的穩(wěn)健成長,幫助中小企業(yè)通過網(wǎng)站建設實現(xiàn)規(guī)模擴充和轉變。

putpiel() 畫像素點函數(shù)

getpixel()返回像素色函數(shù)

(二) 直線和線型函數(shù)

line() 畫線函數(shù)

lineto() 畫線函數(shù)

linerel() 相對畫線函數(shù)

setlinestyle() 設置線型函數(shù)

getlinesettings() 獲取線型設置函數(shù)

setwritemode() 設置畫線模式函數(shù)

(三)、多邊形函數(shù)

rectangle() 畫矩形函數(shù)

bar() 畫條函數(shù)

bar3d() 畫條塊函數(shù)

drawpoly() 畫多邊形函數(shù)

(四)、 圓、弧和曲線函數(shù)

getaspectratio()獲取縱橫比函數(shù)

circle()畫圓函數(shù)

arc() 畫圓弧函數(shù)

ellipse()畫橢圓弧函數(shù)

fillellipse() 畫橢圓區(qū)函數(shù)

pieslice() 畫扇區(qū)函數(shù)

sector() 畫橢圓扇區(qū)函數(shù)

getarccoords()獲取圓弧坐標函數(shù)

(五)、 填充函數(shù)

setfillstyle() 設置填充圖樣和顏色函數(shù)

setfillpattern() 設置用戶圖樣函數(shù)

floodfill() 填充閉域函數(shù)

fillpoly() 填充多邊形函數(shù)

getfillsettings() 獲取填充設置函數(shù)

getfillpattern() 獲取用戶圖樣設置函數(shù)

(六)、圖像函數(shù)

imagesize() 圖像存儲大小函數(shù)

getimage() 保存圖像函數(shù)

putimage() 輸出圖像函數(shù)

C語言中,圖像處理函數(shù)的使用

Tc中用initgraph()函數(shù)可以切換到圖形模式,用closegraph()可以從圖形模式切換回字符模式。

initgraph()和closegraph()都是圖形函數(shù),使用圖形函數(shù)必須包括頭文件"graphics.h"。

void far i nitgraph(int far *graphdriver, int far *graphmode,char far *pathtodriver);

graphdriver是指向圖形驅動序號變量的指針,

graphmode是在graphdriver選定后,指向圖形顯示模式序號變量的指針,

pathtodriver表示存放圖形驅動文件的路徑。

圖形驅動序號不同,圖形驅動文件也不同。序號為VGA圖形驅動對應"egavga.bgi"這個圖形驅動文件。

"egavga.bgi"一般在 Tc目錄下

例如:

-------

#include graphics.h

int Drive,Mode=DETECT;

initgraph(Drive,Mode,""); //圖形顯示器、顯示模式、路徑自動檢測

運行時需要在當前目錄下存在 EGAVGA.BGI文件

在TC\BGI目錄底下

-------

如果編譯后的.exe文件在另外一個目錄(如編譯后的.exe文件在D:\MyTc 目錄下,而編譯器的程序和.BGI文件在C:\Turboc\bin 目錄下,則需要填上BGI文件的路徑

例如:

initgraph(Drive,Mode,"C:\\Turboc\\bgi");

c語言的圖形函數(shù)庫有哪些

圖形和圖像函數(shù)包含在graphics.h里面(一) 像素函數(shù)56. putpiel() 畫像素點函數(shù)57. getpixel()返回像素色函數(shù)(二) 直線和線型函數(shù)58. line() 畫線函數(shù)59. lineto() 畫線函數(shù)60. linerel() 相對畫線函數(shù)61. setlinestyle() 設置線型函數(shù)62. getlinesettings() 獲取線型設置函數(shù)63. setwritemode() 設置畫線模式函數(shù)(三)、多邊形函數(shù)64. rectangle() 畫矩形函數(shù)65. bar() 畫條函數(shù)66. bar3d() 畫條塊函數(shù)67. drawpoly() 畫多邊形函數(shù)(四)、 圓、弧和曲線函數(shù)68. getaspectratio()獲取縱橫比函數(shù)69. circle()畫圓函數(shù)70. arc() 畫圓弧函數(shù)71. ellipse()畫橢圓弧函數(shù)72. fillellipse() 畫橢圓區(qū)函數(shù)73. pieslice() 畫扇區(qū)函數(shù)74. sector() 畫橢圓扇區(qū)函數(shù)75. getarccoords()獲取圓弧坐標函數(shù)(五)、 填充函數(shù)76. setfillstyle() 設置填充圖樣和顏色函數(shù)77. setfillpattern() 設置用戶圖樣函數(shù)78. floodfill() 填充閉域函數(shù)79. fillpoly() 填充多邊形函數(shù)80. getfillsettings() 獲取填充設置函數(shù)81. getfillpattern() 獲取用戶圖樣設置函數(shù)(六)、圖像函數(shù)82. imagesize() 圖像存儲大小函數(shù)83. getimage() 保存圖像函數(shù)84. putimage() 輸出圖像函數(shù)四、圖形和圖像函數(shù)對許多圖形應用程序,直線和曲線是非常有用的。但對有些圖形只能靠操作單個像素才能畫出。當然如果沒有畫像素的功能,就無法操作直線和曲線的函數(shù)。而且通過大規(guī)模使用像素功能,整個圖形就可以保存、寫、擦除和與屏幕上的原有圖形進行疊加。(一) 像素函數(shù)56. putpixel() 畫像素點函數(shù)功能: 函數(shù)putpixel() 在圖形模式下屏幕上畫一個像素點。用法: 函數(shù)調用方式為void putpixel(int x,int y,int color);說明: 參數(shù)x,y為像素點的坐標,color是該像素點的顏色,它可以是顏色符號名,也可以是整型色彩值。此函數(shù)相應的頭文件是graphics.h返回值: 無例: 在屏幕上(6,8)處畫一個紅色像素點:putpixel(6,8,RED);57. getpixel()返回像素色函數(shù)功能: 函數(shù)getpixel()返回像素點顏色值。用法: 該函數(shù)調用方式為int getpixel(int x,int y);說明: 參數(shù)x,y為像素點坐標。函數(shù)的返回值可以不反映實際彩色值,這取決于調色板的設置情況(參見setpalette()函數(shù))。這個函數(shù)相應的頭文件為graphics.h返回值: 返回一個像素點色彩值。例: 把屏幕上(8,6)點的像素顏色值賦給變量color。color=getpixel(8,6);

如何用C語言畫基本圖形

下面舉一個用drawpoly()函數(shù)畫箭頭的例子。#include

#include

int main()

{

int gdriver, gmode, i;

int arw[16]={200,102,300,102,300,107,330,br/100,300,93,300,98,200,98,200,102};

gdriver=DETECT;

initgraph(gdriver, gmode, "c:\\caic\\bgi");

setbkcolor(BLUE);

cleardevice();

setcolor(12); /*設置作圖顏色*/

drawpoly(8, arw); /*畫一箭頭*/

getch();

closegraph();

return 0;

}

設定線型函數(shù)

在沒有對線的特性進行設定之前,TURBO C 用其默認值,即一點寬的實線,但TURBO C 也提供了可以改變線型的函數(shù)。線型包括:寬度和形狀。其中寬度只有兩種選擇:一點寬和三點寬。而線的形狀則有五種。下面介紹有關線型的設置函數(shù)。

void far setlinestyle(intlinestyle,unsigned upattern,int thickness); 該函數(shù)用來設置線的有關信息,其中l(wèi)inestyle是線形狀的規(guī)定,

見下表:

有關線的形狀(linestyle)

━━━━━━━━━━━━━━━━━━━━━━━━━

符號常數(shù) 數(shù)值 含義

─────────────────────────

SOLID_LINE 0 實線

DOTTED_LINE 1 點線

CENTER_LINE 2 中心線

DASHED_LINE 3 點畫線

USERBIT_LINE 4 用戶定義線

━━━━━━━━━━━━━━━━━━━━━━━━━

有關線寬(thickness)

thickness是線的寬度,見下表。

━━━━━━━━━━━━━━━━━━━━━━━━━

符號常數(shù) 數(shù)值 含義

─────────────────────────

NORM_WIDTH 1 一點寬

THIC_WIDTH 3 三點寬

━━━━━━━━━━━━━━━━━━━━━━━━━

對于upattern,只有l(wèi)inestyle選USERBIT_LINE 時才有意義 (選其它線型,uppattern取0即可)。此進uppattern的16位二進制數(shù)的每一位代表一個象元,如果那位為1,則該象元打開,否則該象元關閉。 void far getlinesettings(struct linesettingstypefar *lineinfo);該函數(shù)將有關線的信息存放到由lineinfo 指向的結構中,表中l(wèi)inesettingstype的結構如下:

 struct linesettingstype

 {

 int linestyle;

 unsigned upattern;

 int thickness;

 }

c語言常用函數(shù)有哪些?主要掌握的要點是什么

函數(shù)1。absread()讀磁盤絕對扇區(qū)函數(shù)原形:int absread(int drive,int num,int sectnum,void *buf)功能:從drive指定的驅動器磁盤上,sectnum指定的邏輯扇區(qū)號開始讀取(通過DOS中斷0x25讀取)num個(最多64K個)扇區(qū)的內容,儲存于buf所指的緩沖區(qū)中。參數(shù):drive=0對應A盤,drive=1對應B盤。返回值:0:成功;-1:失敗。頭文件:dos.h函數(shù)2。abswrite()寫磁盤絕對扇區(qū)函數(shù)原形:int abswrite(int drive,int nsects,int lsect,void *buffer) drive=0(A驅動器)、1(B驅動器)、 nsects=要寫的扇區(qū)數(shù)(最多64K個); lsect=起始邏輯扇區(qū)號; buffer=要寫入數(shù)據(jù)的內存起始地址。功能:將指定內容寫入(調用DOS中斷0x26)磁盤上的指定扇區(qū),即使寫入的地方是磁盤的邏輯結構、文件、FAT表和目錄結構所在的扇區(qū),也照常進行。返回值:0:成功;-1:失敗。頭文件:dos.h函數(shù)3。atof()將字符串轉換成浮點數(shù)的函數(shù)原形:double atof(const char *s)功能:把s所指向的字符串轉換成double類型。 s格式為:符號 數(shù)字.數(shù)字 E符號 數(shù)字返回值:字符串的轉換值。頭文件:math.h、stdlib.h函數(shù)4。atoi()將字符串轉換成整型數(shù)的函數(shù)原形:int atoi(const char *s)功能:把s所指向的字符串轉換成int類型。 s格式為:符號 數(shù)字返回值:字符串的轉換值。若出錯則返回0。頭文件:stdlib.h函數(shù)5。atol()將字符串轉換成長整型數(shù)的函數(shù)原形:long atol(const char *s)功能:把s所指向的字符串轉換成long int類型。 s格式為:符號 數(shù)字返回值:字符串的轉換值。若出錯則返回0。頭文件:stdlib.h函數(shù)6。bcd()把一個數(shù)轉換成對應的BCD碼的函數(shù)原形:bcd bcd(int x) bcd bcd(double x) bcd bcd(double x,int decimals)注意:BCD碼的精度可達17位。參數(shù)decimals是可選的,用來指定轉換后小數(shù)點后的位數(shù)。頭文件:bcd.h函數(shù)7。bdos()原形∶int bdos(int fnum,unsigned dx,unsigned al) 其中fnum是系統(tǒng)調用號;dx是傳給寄存器DX的值;al是傳給寄存器AL的值;功能∶DOS系統(tǒng)調用(INT21H)返回值∶AX中的值函數(shù)8。biosdisk()調用BIOS磁盤驅動程序函數(shù)原形:char biosdisk(int cmd,int drive,int head,int track,int sector,int nsects,void *buffer)功能:使用中斷0x13,直接調用BIOS進行磁盤操作參數(shù):(1)cmd: 2-數(shù)據(jù)以每扇區(qū)512字節(jié)的格式讀入buffer,起始扇區(qū)由head、track和sector定,扇區(qū)數(shù)由nsects定。 3-將buffer中的數(shù)據(jù)按每扇區(qū)512字節(jié)寫入磁盤。 4-對扇區(qū)進行數(shù)據(jù)校驗。 6-格式化一個磁盤并對化扇區(qū)設置化標志。 8-返回當前驅動器參數(shù)在buffer的前4個字節(jié)中。 10-長讀,每扇區(qū)讀入512字節(jié)加上額外的4個字節(jié)。 11-長寫,每扇區(qū)寫入512字節(jié)加上額外的4個字節(jié)。 (2)drive:0-第一個軟驅;1-第二個軟驅;0x80-第一個硬驅 (3)head:磁頭 (4)track:磁道 (5)sector:扇區(qū) (6)nsects:扇區(qū)數(shù) (7)buffer:數(shù)據(jù)緩沖區(qū),定義為unsigned char buffer[];返回值:0x00-操作成功 0x01-錯誤命令 0x03-企圖寫具有寫保護的磁盤 0x07-驅動器參數(shù)設置錯誤 0x10-磁盤讀/CRC/ECC錯誤頭文件:bios.h注:對于硬盤主引導記錄扇區(qū)head=0,track=0,sector=1函數(shù)9。biosprint()調用BIOS打印機I/O接口的函數(shù)原形:int biosprint(int cmd,int abyte,int port)功能:通過BIOS中斷0x17在由參數(shù)port指定的打印機上完成各種打印機功能。 port=0(LPT1) =1(LPT2); cmd=0(打印字符abyte) 1(初始化打印機端口) 2(讀打印機狀態(tài)); abyte=0-255;返回值:打印機狀態(tài) 位0(設備超時);位3(I/O出錯);位4(打印機已選擇);位5(沒紙);位6(打印機確認);位7(不忙)頭文件:bios.h函數(shù)10。calloc()分配內存函數(shù)原形:void *calloc(size_t nitems,size_t size)功能:在堆中分配一塊內存,將該內存的內容全部清0。返回值:返回指向新分配內存的指針??臻g不夠則返回NULL。頭文件:stdlib.h、calloc.h函數(shù)11。ceil()原形∶double ceil(double num)功能∶求不小于num的最小雙精度整數(shù)頭文件∶math.h函數(shù)12。cgets()讀字符串函數(shù)原形:char *cgets(char *str)功能:從控制臺讀入一個字符串,并將該字符串(和字符串長度)存入有str所指向的地址中。注意:在調用cgets之前,必須將要讀入的字符串最大長度存入str[0]中,返回時str[1]被設置為實際讀入的字符數(shù)。實際字符串內容從str[2]開始,以空字符(\0)結尾。返回值:指向str[2]的指針。頭文件:conio.h函數(shù)13。chdir()改變當前目錄的函數(shù)原形:int chdir(const char *path)功能:把由path指定的目錄改為當前目錄。path參數(shù)中可以指定驅動器號,如"a:\\ddd", 但只是改變該驅動器上的當前目錄,對當前活動驅動器上的當前目錄無影響。返回值:0(成功);-1(失敗)頭文件:dir.h函數(shù)14。_chmod()改變文件存取權限的函數(shù)原形:int _chmod(const char *path,int func[,int attrib])功能:讀取(func=0時)或設置(func=1時)DOS文件屬性。 attrib=FA_RDONLY 只讀 attrib=FA_HIDDEN 隱藏文件 attrib=FA_SYSTEM 系統(tǒng)文件 attrib=FA_LABLE 卷標 attrib=FA_DIREC 目錄 attrib=FA_ARCH 檔案 返回值:失敗時返回-1。成功時返回文件的屬性字節(jié),如果 返回值FA_RDONLY 不等于0,則文件是只讀文件;......頭文件:io.h、dos.h函數(shù)15。chmod()改變文件存取權限的函數(shù)原形:int chmod(const char *path,int amode)功能:根據(jù)amode的值,設置由path所指文件的存取權限。 amode的值 存取權限 S_IWRITE 允許寫 S_IREAD 允許讀(只讀) S_IREAD|S_IWRITE 可讀可寫 返回值:0(成功);-1(失敗)頭文件:io.h、sys\stat.h函數(shù)16。clock()原形∶long clock(void)功能∶測得從程序開始到調用處處理機所用的時間頭文件∶time.h函數(shù)17。close()關閉文件函數(shù)原形:int close(int handle)功能:關閉由文件句柄所指向的文件,句柄是調用_creat、creat、creatnew、creattemp、dup、dup2、_open或open時得到的。該函數(shù)并不在文件末尾寫一個Ctrl-Z字符,如果想用該字符結束文件,必須顯式地給出該字符。返回值:0(成功);-1(失敗)頭文件:io.h函數(shù)18。closegraph()關閉圖形函數(shù)原形:void far closegraph(void)功能:釋放圖形系統(tǒng)分配的所有內存,將屏幕恢復到調用initgraph之前的模式。頭文件:graphics.h函數(shù)19。cos()原形∶double cos(double arg)功能∶計算arg(弧度)的余弦值頭文件∶math.h函數(shù)20。ctrlbrk()設置ctrl-break處理程序的函數(shù)原形:void ctrlbrk(int(*handle)(void))功能:修改中斷向量0x23,使用新的ctrl-break中斷處理函數(shù)。用法:ctrlbrk(函數(shù)名); 先定義函數(shù):int 函數(shù)名(void){...}頭文件:dos.h函數(shù)21。delay()暫停函數(shù)原形:void delay(unsigned milliseconds)功能:暫停當前所執(zhí)行的程序milliseconds毫秒。頭文件:dos.h函數(shù)22。disable()屏蔽中斷的宏原形:void disble(void)功能:屏蔽中斷,只允許從外部設備來的不可屏蔽中斷(NMI)。頭文件:dos.h函數(shù)23。enable()開硬件中斷的宏原形:void enable(void)功能:開放中斷,允許接受任何設備產(chǎn)生的中斷。頭文件:dos.h函數(shù)24。exec()加載并運行其它程序的函數(shù)族execl(),execle(),execlp(),execlpe(),execv(),execve(),execvp(),execvpe()原形∶ int execl(char *path,char *arg0,*arg1,...,*argn,NULL)int execle(char *path,char *arg0,*arg1,...,*argn,NULL,char **env)int execlp(char *path,char *arg0,*arg1,...,*argn,NULL)int execlpe(char *path,char *arg0,*arg1,...,*argn,NULL,char **env)int execv(char *path,char *argv[])int execve(char *path,char *argv[],char **env)int execvp(char *path,char *argv[])int execvpe(char *path,char *argv[],char **env) 其中,path是調用的子程序的文件名,在exec后面的后綴具有某種功能: p表示函數(shù)能夠在由DOS環(huán)境變量PATH的目錄中搜索子進程文件,如果path中未指明文件所在目錄,函數(shù)將首先在當前目錄中找,然后在DOS環(huán)境變量指定的目錄中找。 l表示參數(shù)指針(arg0,...,argn)按單獨參數(shù)傳送。當預先知道要傳送的參數(shù)個數(shù)時,通常用帶后綴l的函數(shù)。 v表示參數(shù)指針(arg0,...,argn)按指針數(shù)組傳送。當要傳送的參數(shù)可變時,使用帶后綴v的函數(shù)。 e表示參數(shù)env可以傳送到子進程,該函數(shù)可用來修改子進程的環(huán)境。若無e后綴,子進程將繼承父進程的環(huán)境。注意:arg0+...+argn,或arg[0]+...+arg[n]的總長度必需小于128字節(jié)。當調用exec函數(shù)時,原先已經(jīng)打開的文件在子進程中仍然是打開的。功能:加載并運行其它程序,調用時必須有足夠的內存空間用于加載和執(zhí)行子程序,子程序將覆蓋父程序。頭文件:process.h 函數(shù)25。farcalloc()從遠堆中分配內存的函數(shù)原形:void far *farcalloc(unsigned long nunits,unsigned long unitsz)功能:從遠堆中為包含nunits個元素的數(shù)組分配內存,每一區(qū)unitsz字節(jié)長。用法:fptr=farcalloc(數(shù)目,sizeof(char)); 先定義:char far *fptr;注意:所有可用RAM能被分配;大于64K的塊能被分配;用遠指針存取該塊。微模式不能用。返回值:返回指向新分配塊的指針,若內存不夠,則返回NULL。頭文件:alloc.h函數(shù)26。farfree()從遠堆中釋放一塊已分配內存的函數(shù)原形:void farfree(void far *block)頭文件:alloc.h函數(shù)27。farmalloc()從遠堆中分配內存的函數(shù)原形:void far *farmalloc(unsigned long nbytes)使用方式:fptr=farmalloc(字節(jié)數(shù)); 先定義char far *fptr;功能:從遠堆中分配長nbytes字節(jié)的內存。注意:所有可用RAM能被分配;大于64K的塊能被分配;用遠指針存取該塊。微模式不能用。返回值:返回指向新分配內存的指針,若內存不夠,則返回NULL。頭文件:alloc.h函數(shù)28。farrealloc()調整遠堆中已分配塊的函數(shù)原形:void far *farrealloc(void far *oldblock,unsigned long nbytes)返回值:返回調整后的新內存地址。若不能重新分配,則返回NULL。頭文件:alloc.h函數(shù)29。fclose()關閉一個流函數(shù)原形:int fclose(FILE *stream)使用方式:fclose(文件指針名);其中文件指針名=fopen();功能:關閉指定的流,關閉前清除所有與stream相聯(lián)的緩沖區(qū),釋放系統(tǒng)分配的緩沖區(qū),但由setbuf設置的緩沖區(qū)不能自動釋放。返回值:0(成功);EOF(失敗)頭文件:stdio.h函數(shù)30。fcloseall()關閉打開的流的函數(shù)原形:int fcloseall(void)功能:關閉所有打開的流,由stdin、stdout、stdprn、stderr和stdaux設置的流除外。返回值:關閉流的總數(shù)。如果發(fā)現(xiàn)錯誤則返回EOF。頭文件:stdio.h 函數(shù)31。feof()檢查文件是否結束的函數(shù)原形∶int feof(FILE *fp)返回值∶文件結束返回非0值,否則返回0。頭文件∶stdio.h函數(shù)32。fgets()從流中讀取一字符串的函數(shù)原形:char *fgets(char s[],int n,FILE *stream)使用格式:fgets(字符串指針,字符個數(shù),文件指針)功能:從輸入流stream中讀入字符存到s串中。當讀了n-1個字符或遇到換行符時,函數(shù)停止讀過程。fgets在s串尾保留換行字符。讀入的最后一個字符后面加一個空字符。返回值:成功時返回字符串參數(shù)s,出錯或遇到文件結束時,返回NULL。頭文件:stdio.h函數(shù)33。findfirst()函數(shù)和findnext()函數(shù)調用方式:整形數(shù)=findfirst(文件名,結構變量名,屬性常數(shù)組合(如0x26));其中定義struct ffblk 結構變量名;原形:int findfirst(path,buffer,attr)和int findnext(buffer) char *path;//要檢索的文件名 struct ffblk { char ff_reserved[21]; char ff_attrib;//被檢索的文件屬性 unsigned ff_ftime;//最后修改的時間 //(0-4位:秒數(shù)/2;5-10位:分數(shù);11-15位:小時數(shù)) unsigned ff_fdate;//最后修改的日期 //(0-4位:日;5-8位:月;9-15位:年減1980) long ff_fsize;//文件大小 char ff_name[13];//組名 }*buffer; int attr;//要檢索的文件屬性功能:檢索由path和attr指定的文件,把結果返回到buffer。findfirst返回關于第一個指定文件的信息,findnext繼續(xù)檢索。返回值:0(檢索成功),-1(沒有找到指定的文件)屬性常數(shù): FA_NORMAL(0x00) 含意:Normal file, no attributes FA_RDONLY(0x01) 含意:只讀 FA_HIDDEN(0x02) 含意:隱含文件 FA_SYSTEM(0x04) 含意:系統(tǒng)文件 FA_LABEL(0x08) 含意:卷標 FA_DIREC(0x10) 含意:子目錄 FA_ARCH(0x20) 含意:修改的文件Archive頭文件:dir.h(dos.h)函數(shù)34。floodfill()填充區(qū)域的函數(shù)原形:void far floodfill(int x,int y,int border)功能:在圖形設備上用顏色border圍起來的區(qū)域將用當前填充顏色填充。(x,y)是待填充區(qū)域的起點,若起點在封閉區(qū)域內,則區(qū)域內被填充;若起點在封閉區(qū)域外,則區(qū)域外被填充。頭文件:graphics.h函數(shù)35。floor()原形∶double floor(double num)功能∶求不大于num的最大雙精度整數(shù)頭文件∶math.h函數(shù)36。fnmerge()建立文件路徑函數(shù)原形:void fnmerge(char *path,const char *drive,const char *dir, const char *name,const char *ext)功能:合成drive:\dir\name.ext,放在path頭文件:dir.h函數(shù)37。fnsplit()分解完整的路徑名函數(shù)原形:int fnsplit(char *path,const char *drive,const char *dir,const char *name,const char *ext)功能:把文件名路徑path分成4個部分存放。 其中drive中有冒號;dir中有開始和結尾的反斜杠;ext包括開始圓點返回值:如果有擴展名,則 返回值EXTENSION!=0 如果有文件名,則 返回值FILENAME!=0 如果有目錄名,則 返回值DIRECTORY!=0 如果有驅動器號,則返回值DIRVE!=0頭文件:dir.h 函數(shù)38。fopen()打開一個流函數(shù)原形:FILE *fopen(const char *filename,const char *mode)功能:打開用filename指定的文件,并使其與一個流相聯(lián)。使用方式:文件指針名=fopen("文件名","處理方式") ”處理方式”?。? "rt" 打開一個文本文件,只能讀。 "wt" 生成一個文本文件,只能寫。若文件存在則被重寫。 "at" 打開一個文本文件,只能在文件尾部添加。 "rb" 打開一個二進制文件,只能讀。 "wb" 生成一個二進制文件,只能寫。 "ab" 打開一個二進制文件,只能在文件尾部添加。 "rt+" 打開一個文本文件,可讀可寫。 "wt+" 生成一個文本文件,可讀可寫。 "at+" 打開一個文本文件,可讀可添加。 "rb+" 打開一個二進制文件,可讀可寫。 "wb+" 生成一個二進制文件,可讀可寫。 "ab+" 打開一個二進制文件,可讀可添加。返回值:指明流的指針(成功時)或NULL(失敗時)注:需先定義 FILE *文件指針名; "文件名"若用 argv[1]代替,則可使用命令行形式指定文件名函數(shù)39。FP_OFF()獲取遠地址偏移量的宏原形:unsigned FP_OFF(void far *p)功能:取得和設置遠指針*p的偏移量返回值:偏移量頭文件:dos.h 函數(shù)40。fprintf()傳送輸出到一個流中的函數(shù)原形:int fprintf(FILE *stream,const char *format[,argument,...])功能:①向文件指針指向的文件輸出ASCⅡ代碼 ②向顯示器輸出錯誤信息 使用形式: ①fprintf(文件指針,"輸出格式",輸出項系列); ②fprintf(stderr,"錯誤信息");使用實例:fprintf(stream,"%d %c %f",i,c,f); 其中定義FILE *stream; int i; char c; float f;返回值:成功則返回輸出的字節(jié)數(shù),錯誤則返回EOF。頭文件:stdio.h函數(shù)41。FP_SEG()獲取遠地址段值的宏原形:unsigned FP_SEG(void far *p)功能:取得和設置遠指針*p段地址值返回值:段地址值頭文件:dos.hfree()釋放已分配內存的函數(shù)原形:void free(void *block)功能:釋放由calloc、malloc、realloc函數(shù)調用所分配的內存。頭文件:stdlib.h、alloc.h函數(shù)42。fscanf()格式化輸入函數(shù)原形:int fscanf(FILE *stream,const char *format[,address,...])功能:從一個流中掃描輸入字段,一次掃描一個字符,每個輸入字段根據(jù)format所指格式指示符格式化后,把輸入字段存在format后面由地址參數(shù)給出的位置上。使用格式:fscanf(文件指針,"輸入格式",輸入項系列);使用實例:fscanf(fp,"%d",b); 從fp指向的文件中讀取十進制整數(shù) (ASCⅡ形式)賦予變量b注:當文件指針是stdin時,與scanf功能完全相同頭文件:stdio.h函數(shù)43。fseek()移動文件指針函數(shù)原形:int fseek(FILE *stream,long offset,int whence)作用:強制一個文件的位置指針指向某個特定的位置(甚至超出文件的尾部)。使用格式:fseek(*文件指針,偏移(長整型),起點) 定義 FILE *文件指針名; "起點"取值: 0或SEEK_SET(表示文件開頭) 1或SEEK_CUR(表示當前位置) 2或SEEK_END(表示文件尾端)返回值:0表示成功,非0值表示失敗頭文件:stdio.h函數(shù)44。fwrite()把參數(shù)寫入流中的函數(shù)原形:size_t fwrite(const void *ptr,size_t size,size_t n,FILE *stream)功能:附加n個數(shù)據(jù)項(每個數(shù)據(jù)項長度為size個字節(jié))到指定的輸出文件后,數(shù)據(jù)從ptr處開始添加。ptr是指向任意對象的指針。返回值:調用成功時返回實際寫的數(shù)據(jù)項數(shù),出錯時返回一短整形數(shù)值。頭文件:stdio.h例:fwrite(s,sizeof(s),1,stream); 其中s是一結構變量,stream=fopen();函數(shù)45。gcvt()把雙精度數(shù)轉化成字符串的函數(shù)原形∶char*gcvt(value,ndigit,buf) 其中∶double value是待轉化數(shù) int ndigit是轉化長度 char *buf保存轉化后的地址頭文件∶stdlib.h函數(shù)46。geninterrupt()執(zhí)行中斷函數(shù)原形:void geninterrupt(int n)調用方式:geninterrupt(軟中斷號)功能:產(chǎn)生一個8086軟中斷注:需先向寄存器傳遞入口信息(用偽變量) 例如 偽變量=要賦的值(入口信息); 調用geninterrupt()函數(shù)后得接受出口信息 例如 變量名=偽變量偽變量∶Turbo C 允許使用偽變量直接訪問相應的8086寄存器。偽變量的類型有兩種。 ① unsigned int : _AX、 _BX、 _CX、 _DX、 _CS、 _DS、 _SS、 _ES、_SP、 _BP、 _DI、 _SI ② unsigned char: _AL、 _AH、 _BL、 _BH、 _CL、 _CH、 _DL、 _DH函數(shù)47。getc()從流中取字符的宏原形:int getc(FILE *stream)功能:返回輸入流stream中一個字符,移動文件指針使之指向下一個字符。使用格式:字符變量=getc(文件指針) (正常情況下讀取到代碼值,讀到文件尾或出錯時返回EOF)注:需定義 char 字符變量;FILE *文件指針;頭文件:stdio.h函數(shù)48。getch()從鍵盤無回顯地讀取一字符的函數(shù)功能:將鍵盤上輸入的單個字符的值(ASCⅡ 碼)立刻賦給字符型變量調用方式:字符形變量=getch()注:需先定義 char 字符形變量;頭文件:conio.h函數(shù)49。getchar()從stdin流中讀取一個字符的函數(shù)功能:將鍵盤上輸入的單個字符的值(ASCⅡ 碼)回車后賦給字符型變量調用方式:字符型變量=getchar()注:需先定義 char 字符型變量;頭文件:stdio.h函數(shù)50。getcurdir()讀取指定驅動器的當前目錄的函數(shù)原形:int getcurdir(int drive,char directory) drive=0(缺省);1(A驅動器);... directory用來存放目錄名,不包括驅動器名,不以反斜杠開始。返回值:0(調用成功);1(出錯)頭文件:dir.h函數(shù)61。getcwd()讀取當前目錄的函數(shù)原形:char *getcwd(char *buf,int buflen)功能:讀取當前目錄的完整路徑名(包括驅動器名),最長為buflen個字節(jié),存放在buf中。如果buf為NULL,函數(shù)將分配一個buflen字節(jié)長的緩沖區(qū),以后可將本函數(shù)的返回值作為free函數(shù)的參數(shù)來釋放該緩沖區(qū)。返回值:若buf非空,調用成功返回buf,出錯返回NULL;若buf為NULL,返回指向已經(jīng)分配的內存緩沖區(qū)地址。頭文件:dir.h函數(shù)62。getdate()讀取系統(tǒng)日期函數(shù)原形:void getdate(pdate) struct date { int da_year; int da_day; int da_mon; }; struct date *pdate;頭文件:dos.h函數(shù)63。getdfree()讀取磁盤空閑空間的函數(shù)原形:void getdfree(drive,dtable) unsigned char drive;驅動器號(0-當前;1-A;2-B;...) struct dfree { unsigned df_avail;//可使用的簇數(shù) unsigned df_total;//每個驅動器的簇數(shù) unsigned df_bsec;//每個扇區(qū)的字節(jié)數(shù) unsigned df_sclus;//每個簇的扇區(qū)數(shù)(出錯時返回0xffff) }*dtable;功能:把由drive指定的關于驅動器的信息返回到dtable函數(shù)64。getdisk()讀取當前磁盤驅動器號函數(shù)原形:int getdisk(void)功能:取得當前驅動器號(0=A;1=B;....)頭文件:dir.h函數(shù)65。getenv()讀取環(huán)境變量的當前值的函數(shù)原形:char *getenv(const char *name)用法:s=getenv("環(huán)境變量名"); 需先定義char *s;功能:返回一給定的環(huán)境變量值,環(huán)境變量名可大寫或小寫。如果指定的變量在環(huán)境中未定義,則返回一空串。 頭文件:stdlib.h函數(shù)66。getimage()將指定區(qū)域的位圖象存入內存的函數(shù)原形:void far getimage(int left,int top,int right,int bottom,void far *bitmap)功能:將圖像(矩形區(qū)域)從屏幕拷貝到內存,*bitmap指向內存中存放圖像的區(qū)域。該區(qū)域的前兩個字節(jié)用于存放矩形的高和寬。頭文件:graphics.h函數(shù)67。getmaxx()返回屏幕上最大的X坐標值的函數(shù)原形:int far getmaxx(void)功能:返回當前圖形驅動程序和圖形模式下最大的X坐標值。頭文件:graphics.h函數(shù)68。getmaxy()返回屏幕上最大的Y坐標值的函數(shù)原形:int far getmaxy(void)功能:返回當前圖形驅動程序和圖形模式下最大的Y坐標值。頭文件:graphics.h函數(shù)69。getpixel()讀取像素顏色的函數(shù)原形:unsigned far getpixel(int x,int y)頭文件:graphics.h函數(shù)70。getpsp()原形∶unsigned getpsp(void)功能∶使用DOS系統(tǒng)調用0x62,返回程序段前綴(PSP)的段地址頭文件∶dos.h函數(shù)71。gets()從標準輸入流stdio中讀取一字符串的函數(shù)功能:將鍵盤上輸入的字符串立刻賦予字符串變量并顯示出來調用方式:gets(字符串變量名)注:需定義 char *字符串變量名;函數(shù)72。gettime()讀取系統(tǒng)時間的函數(shù)原形:void gettime(ptime) struct time { unsigned char ti_min; unsigned char ti_hour; unsigned char ti_hund;//百分之一秒 unsigned char ti_sec; }; struct time *ptime;函數(shù)73。getvect()讀取中斷向量函數(shù)原形:void interrupt(*getvect(int interruptno))功能:讀入由interruptno(0-255之間)所指定的中斷向量值,并把該中斷向量值作為中斷函數(shù)的遠指針返回。返回值:指定中斷向量的當前4字節(jié)值。頭文件:dos.h使用實例:oldfunc=getvect(5); 先定義void interrupt(*oldfunc)(); 用后恢復setvect(5,oldfunc);函數(shù)74。getx()返回當前圖形方式下位置的X坐標值的函數(shù)原形:int far getx(void);頭文件:graphics.h函數(shù)75。gety()返回當前圖形方式下位置的Y坐標值的函數(shù)原形:int far gety(void);頭文件:graphics.h函數(shù)76。imagesize()返回保存圖像緩沖區(qū)大小的函數(shù)原形:unsigned far imagesize(int left,int top,int right,int bottom)功能:確定保存圖像所需的存儲區(qū)大小。返回值:返回存儲區(qū)的大小(字節(jié)),若所需內存大于等于64K-1字節(jié),則返回0xffff(-1)。頭文件:graphics.h函數(shù)77。initgraph()顯示模式控制函數(shù)(初始化圖形系統(tǒng)函數(shù))功能:把圖形適配器設置為一種圖形模式,將選擇的圖形驅動程序(在BGI文件中)裝入到內存。調用方式: void far initgraph(int far *driver,int far *mode,char far*path) 其中: *driver可以是數(shù)值(0-10),也可是符號值(DETECT、CGA、MCGA、EGA、EGA64、EGAMONO、RESERVED、HERCMONO、ATT400、VGA、 PC3270)。 *mode參數(shù)從圖形系統(tǒng)為各種常用的圖形適配器設置的圖形模式中(CGAC0、...、IBM8514HI--見頭文件graphics.h)選取。常用的有:VGAMED或1


當前名稱:c語言常用圖形函數(shù)教程,c語言圖形處理函數(shù)
本文地址:http://weahome.cn/article/hopjoe.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部