#includegraphics.h#includestdlib.h#includeconio.h#includestdio.h#includedos.h#includebios.h#includemath.h#includealloc.h/*定义常量*//*向上翻页移键*/#definePAGEUP0x4900/*向下翻页移键*/#definePAGEDOWN0x5100/*Escape键*/#defineESC0x011b/*左移键*/#defineLEFT0x4b00/*右移键*/#defineRIGHT0x4d00/*下移键*/#defineDOWN0x5000/*上移键*/#defineUP0x4800/*空格键*/#defineSPACE0x3920#defineNO_PRESSED0#defineLEFT_PRESSED1#defineRIGHT_PRESSED2#definepi3.1415926/*定义全局变量*/intRx,Ry,R;intTOPx,TOPy,BOTTOMx,BOTTOMy;intCentx,Centy;intlineStartx,lineStarty,lineEndx,lineEndy;intlinePoint_x[20],linePoint_y[20];/*这里的字模数组均由“点阵字模工具”生成,你可以用你自己需要的点阵信息来替换示例中的字模信息,注意字模大小要一致,否则显示会出问题。*/charzhi16K[]={/*以下是'直'的16点阵楷体_GB2312字模,32byte*/0x01,0x00,0x01,0x00,0x01,0xF0,0x1E,0x00,0x02,0x00,0x07,0xC0,0x08,0x40,0x0F,0x40,0x08,0x40,0x0F,0x40,0x08,0x40,0x0F,0x40,0x08,0x40,0x0F,0xFC,0x70,0x00,0x00,0x00,};charxian16K[]={/*以下是'线'的16点阵楷体_GB2312字模,32byte*/0x00,0x80,0x00,0x90,0x08,0x88,0x10,0x80,0x24,0xF0,0x45,0x80,0x78,0xB0,0x11,0xC0,0x2C,0x88,0x70,0x50,0x04,0x60,0x18,0xA4,0x63,0x14,0x00,0x0C,0x00,0x04,0x00,0x00,};charju16K[]={/*以下是'矩'的16点阵楷体_GB2312字模,32byte*/0x00,0x00,0x08,0x00,0x08,0x78,0x10,0x80,0x1E,0x80,0x28,0xF8,0x48,0x88,0x0E,0x88,0xF8,0xF0,0x08,0x80,0x14,0x80,0x12,0x9E,0x20,0xE0,0x40,0x00,0x00,0x00,0x00,0x00,};charxing16K[]={/*以下是'形'的16点阵楷体_GB2312字模,32byte*/0x00,0x00,0x07,0x88,0x3A,0x08,0x12,0x10,0x12,0x20,0x17,0x48,0xFA,0x10,0x12,0x20,0x12,0xC8,0x12,0x08,0x22,0x10,0x42,0x20,0x00,0x40,0x00,0x80,0x03,0x00,0x00,0x00,};charyuan16K[]={/*以下是'圆'的16点阵楷体_GB2312字模,32byte*/0x00,0xF8,0x3F,0x08,0x23,0x88,0x24,0x88,0x27,0x08,0x21,0xC8,0x2E,0x48,0x29,0x48,0x29,0x48,0x22,0x88,0x24,0x48,0x28,0x08,0x3F,0xE8,0x00,0x10,0x00,0x00,0x00,0x00,};charqing16K[]={/*以下是'清'的16点阵楷体_GB2312字模,32byte*/0x00,0x80,0x00,0xE0,0x33,0x80,0x10,0xE0,0x03,0x80,0x40,0xFC,0x2F,0x00,0x01,0xE0,0x12,0x20,0x13,0xA0,0x22,0x20,0x63,0xA0,0x42,0x20,0x02,0x60,0x00,0x20,0x00,0x00,};charping16K[]={/*以下是'屏'的16点阵楷体_GB2312字模,32byte*/0x00,0xF0,0x0F,0x30,0x08,0x60,0x0F,0x80,0x0A,0x20,0x09,0x40,0x08,0xF8,0x17,0x20,0x11,0x3E,0x2F,0xE0,0x21,0x20,0x42,0x20,0x82,0x20,0x04,0x20,0x08,0x20,0x00,0x00,};charbao16K[]={/*以下是'保'的16点阵楷体_GB2312字模,32byte*/0x00,0x00,0x09,0xF0,0x0A,0x10,0x12,0x10,0x13,0xE0,0x30,0x80,0x50,0xFC,0x9F,0x80,0x11,0xC0,0x12,0xA0,0x14,0x98,0x18,0x8E,0x10,0x80,0x10,0x80,0x00,0x00,0x00,0x00,};charcun16K[]={/*以下是'存'的16点阵楷体_GB2312字模,32byte*/0x01,0x00,0x01,0x00,0x01,0xF0,0x1E,0x00,0x02,0x70,0x05,0x90,0x08,0x20,0x08,0x40,0x18,0x7E,0x2B,0xA0,0xC8,0x20,0x08,0x20,0x08,0x20,0x08,0xA0,0x00,0x40,0x00,0x00,};charjia16K[]={/*以下是'加'的16点阵楷体_GB2312字模,32byte*/0x00,0x00,0x08,0x00,0x08,0x00,0x08,0x00,0x0F,0x00,0x79,0x3C,0x09,0x44,0x11,0x44,0x11,0x44,0x22,0x44,0x22,0x78,0x4A,0x00,0x84,0x00,0x00,0x00,0x00,0x00,0x00,0x00,};charzai16K[]={/*以下是'载'的16点阵楷体_GB2312字模,32byte*/0x00,0x80,0x08,0xA0,0x08,0x90,0x0E,0x80,0x38,0xF0,0x0F,0x80,0x78,0x50,0x0E,0x50,0x34,0x20,0x1E,0x20,0x34,0x50,0x0E,0x92,0x75,0x0A,0x04,0x06,0x04,0x02,0x00,0x00,};charbang16K[]={/*以下是'帮'的16点阵楷体_GB2312字模,32byte*/0x04,0x00,0x07,0x38,0x1C,0x48,0x06,0x50,0x1C,0x50,0x07,0x48,0x78,0x58,0x11,0x40,0x21,0xF0,0x4F,0x10,0x09,0x10,0x09,0x50,0x09,0x20,0x01,0x00,0x01,0x00,0x00,0x00,};charzhu16K[]={/*以下是'助'的16点阵楷体_GB2312字模,32byte*/0x00,0x00,0x00,0x20,0x0C,0x20,0x34,0x20,0x24,0x20,0x34,0x38,0x25,0xC8,0x34,0x48,0x24,0x48,0x26,0x88,0x38,0x88,0xE1,0x28,0x02,0x10,0x04,0x00,0x00,0x00,0x00,0x00,};/*自定义函数*/voidoutChinese(char*mat,intmatsize,intx,inty,intcolor);voidfill(intstartx,intstarty,intendx,intendy,intcolor);voidshowHelp();voidsave();voidload();intmouseStatus(int*x,int*y);intsetMousePos(intx,inty);voidDrawMouse(floatx,floaty);voidDrawLine();voidDrawRectangle();voidLineToCircle(intx0,inty0,intr);voidDrawCircle();longfactorial(intn);floatberFunction(inti,intn,doublet);voidDrawBezier();/*根据点阵信息显示中文函数*/voidoutChinese(char*mat,intmatsize,intx,inty,intcolor)/*依次:字模指针、点阵大小、起始坐标(x,y)、颜色*/{inti,j,k,n;n=(matsize-1)/8+1;for(j=0;jmatsize;j++)for(i=0;in;i++)for(k=0;k8;k++)if(mat[j*n+i]&(0x80k))/*测试为1的位则显示*/putpixel(x+i*8+k,y+j,color);}/*填充函数*/voidfill(intstartx,intstarty,intendx,intendy,intcolor){inti,j;for(i=startx;i=endx;i++)for(j=starty;j=endy;j++)/*在指定位置以指定颜色画一像素*/putpixel(i,j,color);}/*显示用户帮助函数*/voidshowHelp(){setcolor(14);outtextxy(45,50,Line:);setcolor(WHITE);outtextxy(45,50,1Pressleftbuttontostartuntiltolineend.);outtextxy(45,65,2UseUP,DOWN,LEFT,RIGHTkeystomoveit.);outtextxy(45,80,3UsePAGEUPkeytoenlargeit,andPAGEDOWNkeytoshrinkit.);outtextxy(45,95,4UseSPACEkeytorotateit.);setcolor(14);outtextxy(45,120,Rectangle:);setcolor(WHITE);outtextxy(45,120,1Pressleftbuttontostartuntiltorightcorner.);outtextxy(45,135,2UseUP,DOWN,LEFT,RIGHTkeystomoveit.);outtextxy(45,150,3UsePAGEUPkeytoenlargeit,andPAGEDOWNkeytoshrinkit.);setcolor(14);outtextxy(45,170,Circle:);setcolor(WHITE);outtextxy(45,170,1Pressleftbuttontostartuntiltoend.);outtextxy(45,185,2UsePAGEUPkeytoenlargeit,andPAGEDOWNkeytoshrinkit.);setcolor(14);outtextxy(45,205,Bezier:);setcolor(WHITE);outtextxy(45,205,Pressleftbuttontostart,andrightbuttontoend.