資源描述:
《《圖形操作簡介》PPT課件.ppt》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫。
1、圖形操作簡介必要的頭文件必須的系統(tǒng)變量初始化圖形界面初始化出錯(cuò)處理取得必須的信息關(guān)閉圖形界面一些常用的畫圖函數(shù)必要的頭文件#include#include#include#include#include必須的變量intGraphDriver;intGraphMode;doubleAspectRatio;intMaxX,MaxY;intMaxColors;intErrorCode;structpalettetypepalette;初始化圖形界面
2、GraphDriver=DETECT;initgraph(&GraphDriver,&GraphMode,"");initgraph(&GraphDriver,&GraphMode,”d:\tc");初始化出錯(cuò)處理ErrorCode=graphresult();if(ErrorCode!=grOk){printf("GraphicsSystemError:%s",grapherrormsg(ErrorCode));exit(1);}取得必須的參數(shù)getpalette(&palette);MaxColors=getmaxcolor
3、()+1;MaxX=getmaxx();MaxY=getmaxy();AspectRatio=(double)xasp/(double)yasp;關(guān)閉圖形界面closegraph();/*Returnthesystemtotextmode*/一些常用的畫圖函數(shù)outtext(buffer),outtextxy(x,y,buffer)line(x0,y0,x1,y1);linerel();lineto()circle(intx,inty,intradius);arc()bar(intl,intt,intr,intb);bar3d();m
4、oveto(intx,inty);moverel(dx,dy);getx()putpixel(x,y,color);getpixel(x,y)setcolor();setbkcolor();getcolor();getbkcolor鼠標(biāo)操作鼠標(biāo)簡介鼠標(biāo)驅(qū)動(dòng)程序的主要功能鼠標(biāo)功能調(diào)用方法鼠標(biāo)的初始化鼠標(biāo)光標(biāo)的顯示與隱藏讀取按鈕狀態(tài),讀取或設(shè)置光標(biāo)位置設(shè)置鼠標(biāo)的光標(biāo)形狀和移動(dòng)范圍鼠標(biāo)簡介鼠標(biāo)系統(tǒng)實(shí)際上由兩個(gè)主要元素組成:鼠標(biāo)機(jī)制和稱作鼠標(biāo)驅(qū)動(dòng)程序的內(nèi)存駐留程序。鼠標(biāo)驅(qū)動(dòng)程序提供與鼠標(biāo)通信所需的全部低級(jí)支持。此外,它自動(dòng)維持鼠標(biāo)光標(biāo)位置和發(fā)
5、現(xiàn)是否按下了某個(gè)鍵。一旦裝入驅(qū)動(dòng)程序,鼠標(biāo)就可以被隨后執(zhí)行的任意程序使用。鼠標(biāo)簡介可以通過PC中斷33H訪問鼠標(biāo)和鼠標(biāo)驅(qū)動(dòng)程序的各種功能。所選擇的特定函數(shù)依賴于中斷時(shí)AX寄存器的值。三個(gè)其它寄存器(BX、CX和DX)用于把各種參數(shù)傳送給鼠標(biāo)例程。同樣,鼠標(biāo)函數(shù)使用這四個(gè)寄存器把鼠標(biāo)的位置和按鈕的狀態(tài)返回給調(diào)用函數(shù)。鼠標(biāo)驅(qū)動(dòng)程序主要功能鼠標(biāo)驅(qū)動(dòng)程序主要功能鼠標(biāo)功能調(diào)用方法用TC通過INT33H中斷來編制基本函數(shù),有三種常用方法:嵌入?yún)R編程序,如:ASMCLI清中斷利用全程變量賦予寄存器值,然后通過函數(shù)geninterrupt()調(diào)用中斷
6、實(shí)現(xiàn)利用聯(lián)合類型REGS,SREGS通過函數(shù)int86(),int86x()調(diào)用中斷,原型在dos.h鼠標(biāo)的初始化InitMouse(){unionREGSregs;regs.x.ax=0;int86(0x33,®s,®s);if(regs.x.ax==0)returnfalse;elsereturntrue;}鼠標(biāo)光標(biāo)的隱藏HideCur(){unionREGSregs;if(visual){regs.x.ax=2;int86(0x33,®s,®s);visual=false;}}鼠標(biāo)光標(biāo)的顯示ShowCur
7、(){unionREGSregs;if(!visual){regs.x.ax=1;int86(0x33,®s,®s);visual=true;}}鼠標(biāo)光標(biāo)的顯示與隱藏在鼠標(biāo)驅(qū)動(dòng)程序中,鼠標(biāo)的顯示狀態(tài)用0值表示,隱藏用負(fù)值表示,每調(diào)用一次顯示功能則該值加一,每調(diào)用一次隱藏功能,則該值減一。這樣,在多次調(diào)用了驅(qū)動(dòng)程序的隱藏鼠標(biāo)光標(biāo)功能后,再調(diào)用顯示鼠標(biāo)光標(biāo)功能時(shí),將不能正常顯示鼠標(biāo)光標(biāo)。需要加入一個(gè)visual布爾型變量,來取代驅(qū)動(dòng)程序中的數(shù)值。讀取鼠標(biāo)的狀態(tài)Status(){unionREGSregs;regs.x.ax=3
8、;int86(0x33,®s,®s);x=regs.x.cx;y=regs.x.dx;status=regs.x.bx;}讀取鼠標(biāo)的狀態(tài)其中X,Y為光標(biāo)位置status&1左鍵狀態(tài),1為按下,0為未按stat