




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、精品好資料學(xué)習(xí)推薦#include #include #include #include #include #include #include #include /*定義常量*/*向上翻頁移鍵*/#define PAGEUP 0x4900/*向下翻頁移鍵*/#define PAGEDOWN 0x5100/*Escape鍵*/#define ESC 0x011b /*左移鍵*/#define LEFT 0x4b00/*右移鍵*/#define RIGHT 0x4d00 /*下移鍵*/#define DOWN 0x5000 /*上移鍵*/#define UP 0x4800/*空格鍵*/#defin
2、e SPACE 0x3920#define NO_PRESSED 0#define LEFT_PRESSED 1#define RIGHT_PRESSED 2#define pi 3.1415926/*定義全局變量*/int Rx,Ry,R;int TOPx,TOPy,BOTTOMx,BOTTOMy;int Centx,Centy;int lineStartx,lineStarty,lineEndx,lineEndy;int linePoint_x20,linePoint_y20;/*這里的字模數(shù)組均由“點陣字模工具”生成,你可以用你自己需要的點陣信息來替換示例中的字模信息,注意字模大小要一致
3、,否則顯示會出問題。*/char zhi16K=/* 以下是 直 的 16點陣楷體_GB2312 字模,32 byte */ 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,;char xian16K=/* 以下是 線 的 16點陣楷體_GB2312 字模,32 byte */ 0x00,0x80,0x00,0x90,0
4、x08,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,;char ju16K=/* 以下是 矩 的 16點陣楷體_GB2312 字模,32 byte */ 0x00,0x00,0x08,0x00,0x08,0x78,0x10,0x80, 0x1E,0x80,0x28,0xF8,0x48,0x88,0x0E,0x88, 0xF8,0xF0,0x08,0x80,0x14,
5、0x80,0x12,0x9E, 0x20,0xE0,0x40,0x00,0x00,0x00,0x00,0x00,;char xing16K=/* 以下是 形 的 16點陣楷體_GB2312 字模,32 byte */ 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,;char yuan16K=/* 以下是 圓 的 16點
6、陣楷體_GB2312 字模,32 byte */ 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,;char qing16K=/* 以下是 清 的 16點陣楷體_GB2312 字模,32 byte */ 0x00,0x80,0x00,0xE0,0x33,0x80,0x10,0xE0, 0x03,0x80,0x40,0xF
7、C,0x2F,0x00,0x01,0xE0, 0x12,0x20,0x13,0xA0,0x22,0x20,0x63,0xA0, 0x42,0x20,0x02,0x60,0x00,0x20,0x00,0x00,;char ping16K=/* 以下是 屏 的 16點陣楷體_GB2312 字模,32 byte */ 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,
8、0x08,0x20,0x00,0x00,;char bao16K=/* 以下是 保 的 16點陣楷體_GB2312 字模,32 byte */ 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,;char cun16K=/* 以下是 存 的 16點陣楷體_GB2312 字模,32 byte */ 0x01,0x00,0x0
9、1,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,;char jia16K=/* 以下是 加 的 16點陣楷體_GB2312 字模,32 byte */ 0x00,0x00,0x08,0x00,0x08,0x00,0x08,0x00, 0x0F,0x00,0x79,0x3C,0x09,0x44,0x11,0x44, 0x11,0x44,0x22,0
10、x44,0x22,0x78,0x4A,0x00, 0x84,0x00,0x00,0x00,0x00,0x00,0x00,0x00,;char zai16K=/* 以下是 載 的 16點陣楷體_GB2312 字模,32 byte */ 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,;char bang16K=/* 以下是
11、 幫 的 16點陣楷體_GB2312 字模,32 byte */ 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,;char zhu16K=/* 以下是 助 的 16點陣楷體_GB2312 字模,32 byte */ 0x00,0x00,0x00,0x20,0x0C,0x20,0x34,0x20, 0x24,0x20,0
12、x34,0x38,0x25,0xC8,0x34,0x48, 0x24,0x48,0x26,0x88,0x38,0x88,0xE1,0x28, 0x02,0x10,0x04,0x00,0x00,0x00,0x00,0x00,;/*自定義函數(shù)*/void outChinese(char *mat,int matsize,int x,int y,int color);void fill(int startx,int starty,int endx,int endy,int color);void showHelp();void save();void load();int mouseStatus(i
13、nt* x,int* y);int setMousePos(int x, int y);void DrawMouse(float x,float y);void DrawLine();void DrawRectangle();void LineToCircle(int x0,int y0,int r);void DrawCircle();long factorial(int n);float berFunction(int i,int n,double t);void DrawBezier();/*根據(jù)點陣信息顯示中文函數(shù)*/void outChinese(char *mat,int mats
14、ize,int x,int y,int color)/*依次:字模指針、點陣大小、起始坐標(biāo)(x,y)、顏色*/ int i, j, k, n; n = (matsize - 1) / 8 + 1; for(j = 0; j matsize; j+) for(i = 0; i n; i+) for(k = 0;k k) /*測試為1的位則顯示*/ putpixel(x + i * 8 + k, y + j, color);/*填充函數(shù)*/void fill(int startx,int starty,int endx,int endy,int color) int i,j; for(i=star
15、tx;i=endx;i+) for(j=starty;j=endy;j+) /*在指定位置以指定顏色畫一像素*/ putpixel(i,j,color); /*顯示用戶幫助函數(shù)*/void showHelp() setcolor(14); outtextxy(45,50,Line:); setcolor(WHITE); outtextxy(45,50, 1 Press left button to start until to line end.); outtextxy(45,65, 2 Use UP,DOWN,LEFT,RIGHT keys to move it.); outtextxy(4
16、5,80, 3 Use PAGEUP key to enlarge it, and PAGEDOWN key to shrink it.); outtextxy(45,95, 4 Use SPACE key to rotate it.); setcolor(14); outtextxy(45,120,Rectangle:); setcolor(WHITE); outtextxy(45,120, 1 Press left button to start until to right corner.); outtextxy(45,135, 2 Use UP,DOWN,LEFT,RIGHT keys
17、 to move it.); outtextxy(45,150, 3 Use PAGEUP key to enlarge it, and PAGEDOWN key to shrink it.); setcolor(14); outtextxy(45,170,Circle:); setcolor(WHITE); outtextxy(45,170, 1 Press left button to start until to end.); outtextxy(45,185, 2 Use PAGEUP key to enlarge it, and PAGEDOWN key to shrink it.)
18、; setcolor(14); outtextxy(45,205,Bezier:); setcolor(WHITE); outtextxy(45,205, Press left button to start, and right button to end.); outtextxy(45,230,Press ESC key to stop the operation function.); outtextxy(45,245,Press right button to end the drawing works.); outtextxy(45,260,Press any key to cont
19、inue.); getch(); fill(40,40,625,270,0);/*保存函數(shù)*/void save() int i,j; FILE *fp; char fileName20; fill(0,447,630,477,2); gotoxy(1,25); printf(nnnn Input the file name.dat:); scanf(%s,fileName); fill(0,447,630,477,2); /*以讀寫的方式打開文件*/ if(fp=fopen(fileName,w+)=NULL) outtextxy(260,455,Failed to open file!);
20、 exit(0); outtextxy(280,455,saving.); /*保存像素到文件*/ for(i=5;i630;i+) for(j=30;j=445;j+) fputc(getpixel(i,j),fp); fclose(fp); fill(0,447,630,477,2); outtextxy(260,455,save over!); /*打開函數(shù)*/void load() int i,j; char fileName20; FILE *fp; fill(0,447,630,477,2); gotoxy(1,25); printf(nnnn Input the file nam
21、e.dat:); scanf(%s,fileName); /*打開指定的文件*/ if(fp=fopen(fileName,r+)!=NULL) fill(0,447,630,477,2); outtextxy(280,455,loading.); /*從文件中讀出像素*/ for(i=5;i630;i+) for(j=30;j=10 & lineStarty=40 & lineEndx =620 & lineEndy =10 & lineStarty=40 & lineEndx =620 & lineEndy =10 & lineStarty=40 & lineEndx =620 & lin
22、eEndy =10 & lineStarty=40 & lineEndx =620 & lineEndy =10 & lineStarty=40 & lineEndx =620 & lineEndy =10 & lineStarty=40 & lineEndx =620 & lineEndy =445) setwritemode(XOR_PUT); line(lineStartx,lineStarty,lineEndx,lineEndy); /*如果直線是傾斜的*/ if(lineStarty!=lineEndy)& (lineStartx!=lineEndx) /*計算直線的傾角*/ ang
23、le=atan(fabs(lineEndy-lineStarty)/(fabs(lineEndx-lineStartx); /*計算水平增量*/ increment_x=cos(angle)*2; /*計算垂直增量*/ increment_y=sin(angle)*2; /*計算放大后的起始坐標(biāo)*/ if(lineStartxlineEndx) lineEndx-=increment_x; lineEndy-=increment_y; lineStartx+=increment_x; lineStarty+=increment_y; /*如果直線豎直的*/ if(lineStarty=line
24、Endy) lineStartx-=5; lineEndx+=5; /*如果直線是水平的*/ if(lineStartx=lineEndx) lineStarty-=5; lineEndy+=5; line(lineStartx,lineStarty,lineEndx,lineEndy); /*縮小直線*/ if(key=PAGEDOWN) if(lineStartx=10 & lineStarty=40 & lineEndx =620 & lineEndy =445) setwritemode(XOR_PUT); line(lineStartx,lineStarty,lineEndx,lin
25、eEndy); /*如果直線是傾斜的*/ if(lineStarty!=lineEndy)& (lineStartx!=lineEndx) /*計算直線的傾角*/ angle=atan(fabs(lineEndy-lineStarty)/(fabs(lineEndx-lineStartx); /*計算水平減少量*/ increment_x=cos(angle)*2; /*計算垂直減少量*/ increment_y=sin(angle)*2; /*計算縮小后的起始坐標(biāo)*/ if(lineStartxlineEndx) lineEndx+=increment_x; lineEndy+=increment_y; lineStartx-=increment_x; lineStarty-=increment_y; /*如果直線豎直的*/ if(lineStarty=lineEndy) lin
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 探究與展望:公共資源交易中的合同管理制度
- 退休人士合作協(xié)議
- 初中數(shù)學(xué)認識三角形第2課時課件2024-2025學(xué)年北師大版七年級數(shù)學(xué)下冊
- 13美麗的冬天 公開課一等獎創(chuàng)新教學(xué)設(shè)計
- 東北秧歌的舞蹈風(fēng)格特點
- 幼兒舞蹈的分類
- DERBY世界品牌箱包連鎖店項目運營實施要義
- 構(gòu)成藝術(shù)概論課件
- 房地產(chǎn)項目合同融資協(xié)議書
- 信貸資金監(jiān)管合同協(xié)議書樣本
- 湖北省2025屆高三(4月)調(diào)研模擬考試物理試題及答案
- 安徽省宿州市泗縣2024-2025學(xué)年部編版八年級下學(xué)期期中歷史試卷(含答案)
- 慢性病管理與公共衛(wèi)生試題及答案
- 2025江蘇無錫江陰公用事業(yè)集團限公司招聘1人易考易錯模擬試題(共500題)試卷后附參考答案
- 2025年4月23日世界讀書日主題班會
- 2025中煤鄂爾多斯能源化工有限公司高校畢業(yè)生招聘98人筆試參考題庫附帶答案詳解
- 2025年抖音達人探店合同模板
- 20025如皋統(tǒng)計局事業(yè)單位考試真題及答案
- 五一安全教育主題班會
- iata第 66版危險貨物規(guī)則(dgr 66th)
- 《中國古代寓言》導(dǎo)讀(課件)2023-2024學(xué)年統(tǒng)編版語文三年級下冊
評論
0/150
提交評論