



下載本文檔
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、4-5.請編寫下列程序。要求如下:(1)定義一只紅色畫筆,繪制一個等邊五邊形(2)有不同的顏色的線條鏈接互不相鄰的兩個點(3)用不同顏色的畫刷填充上述方法所形成圖形中的每一個區域#include #include #include #include #define pi 3.1415926535long winapi wndproc(hwnd hwnd,uint imessage,uint wparam,long lparam);/消息處理函數聲明.bool initwindowsclass(hinstance hinstance);/初始化窗口類聲明bool initwindows(hins
2、tance hinstance, int ncmdshow);/初始化窗口聲明.hwnd hwndmain;int winapi winmain(hinstance hinstance, hinstance hprevinstance, lpstr lpcmdline, int ncmdshow)/主函數msg message;if(!initwindowsclass(hinstance)/初始化窗口類.return false;if(!initwindows(hinstance,ncmdshow)/初始化窗口.return false;while(getmessage(&message,0,
3、0,0)translatemessage(&message);/消息循環.dispatchmessage(&message);return message.wparam;long winapi wndproc(hwnd hwnd,uint imessage,uint wparam,long lparam)/消息處理函數.hdc hdc;/定義設備環境句柄.hbrush hbrush;/定義畫刷句柄hpen hpen;/定義畫筆句柄paintstruct ptstr;/定義包含繪圖信息的結構體變量double r1=200.0,r2;/定義外部和內部正五邊形外接圓半徑.point outr5,i
4、nr5; /定義外,內正五邊形點結構數組.point wsjx3,nsjx3; /定義三角形點結構數組.r2=r1*sin(0.1*pi)/sin(0.7*pi);/根據外圓半徑計算內園半徑./計算內外正五邊形的點坐標.for(int i=0;i5;i+)outri.x=(long)r1*cos(i*0.4*pi)+300;outri.y=(long)r1*sin(i*0.4*pi)+300;inri.x=(long)r2*cos(i*0.4*pi+0.2*pi)+300;inri.y=(long)r2*sin(i*0.4*pi+0.2*pi)+300;switch(imessage)case
5、 wm_paint:/處理繪圖消息.hdc=beginpaint(hwnd,&ptstr);/得到設備環境句柄setmapmode(hdc,mm_anisotropic);/設置映射模式.hpen=createpen(ps_solid,1,rgb(255,0,0);/創新紅色畫筆.selectobject(hdc,hpen);/將畫筆選入.polygon(hdc,outr,5);/畫外正五邊形polygon(hdc,inr,5);/畫內正五邊形/填充正五邊形的不同區域.for(i=0;i5;i+)wsjx0=outri%5;/生成圖形中的三角形區域的坐標.wsjx1=inri%5;wsjx2=
6、outr(i+1)%5;/創新新畫刷.hbrush=createsolidbrush(rgb(i*10,i*20,i*30);selectobject(hdc,hbrush);/選入新畫刷.polygon(hdc,wsjx,3);/畫三角形區域.nsjx0=outri%5;nsjx1=inri%5;nsjx2=inr(i+4)%5;hbrush=createsolidbrush(rgb(255-i*10,200-i*20,255-i*30);/創新畫刷.selectobject(hdc,hbrush);/選入畫刷.polygon(hdc,nsjx,3);/畫三角形區域.hbrush=creat
7、esolidbrush(rgb(255,255,255);/創新白畫刷.selectobject(hdc,hbrush);/選入畫刷.polygon(hdc,inr,5);/畫中心的五邊形./用不同種顏色的畫筆來繪制五角星.movetoex(hdc,outr0.x,outr0.y,null);for(i=1;i=5;i+)hpen=createpen(ps_solid,1,rgb(0,i*51,0);selectobject(hdc,hpen);lineto(hdc,outr(i+2)%5.x,outr(i+2)%5.y);deleteobject(hpen);/刪除畫筆.deleteobje
8、ct(hbrush);/刪除畫刷.endpaint(hwnd,&ptstr);/結束繪圖.return 0;case wm_destroy:/處理關閉窗口信息.postquitmessage(0);/向應用程序發送wm_quit消息.return 0;default:return(defwindowproc(hwnd,imessage,wparam,lparam);bool initwindows(hinstance hinstance, int ncmdshow)/初始化hwnd hwnd;/定義窗口句柄.hwnd=createwindow(polygon,/窗口類名.飛哥五邊形,/窗口實例
9、標題.ws_overlappedwindow,/窗口風格.帶邊框,標題欄,系統菜單和最大和最小按鈕.cw_usedefault,/窗口左上角坐標.0,/窗口左上角坐標.cw_usedefault,/窗口寬度0,/窗口高度null,/無父窗口.null,/無主菜單.hinstance,/創建此窗口的應用程序的當前句柄.null);/指向一個傳遞給窗口的參數值從指針./不使用該值.if(!hwnd)/如果窗口創建失敗,返回false.return false;hwndmain=hwnd;/將窗口句柄傳遞給全局變量.showwindow(hwnd,ncmdshow);/顯示窗口.updatewind
10、ow(hwnd);/更新并繪制用戶區.return true;bool initwindowsclass(hinstance hinstance)/初始化窗口類.wndclass wndclass;/定義窗口類.wndclass.cbclsextra=0;/窗口類無擴展.wndclass.cbwndextra=0;/窗口實例無擴展.wndclass.hbrbackground=(hbrush)(getstockobject(white_brush);/窗口背景為白色.wndclass.hcursor=loadcursor(null,idc_arrow);/窗口采用箭頭光標.wndclass.hicon=loadicon(null,idi_application);/窗口的最小化圖標為缺省圖標.wndclass.hinstance=hinstance;/當前實例句柄.wndclass.lpf
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 西藏山南地區本年度(2025)小學一年級數學統編版期中考試(下學期)試卷及答案
- 2025屆天津市濱海七所重點學校高三下學期第一次聯考英語試卷含答案
- (光纖通信)職業技能鑒定四級模擬試題含參考答案
- 2025屆黑龍江省牡東部地區四校聯考高三考前熱身英語試卷含解析
- 2025屆河南省名校高三語文模擬題及答案
- 山東省德州市優高十校聯考2024-2025學年高三下學期4月月考化學試題(原卷版+解析版)
- 海洋氣象災害社區防范考核試卷
- 電池制造與電動自行車充電樁考核試卷
- 紡織品企業供應鏈金融與風險管理考核試卷
- 白酒釀造技術與品質提升研究考核試卷
- 藥劑科考試試題
- 湖北省華中師大第一附中2025屆高考物理四模試卷含解析
- GB/T 44275.2-2024工業自動化系統與集成開放技術字典及其在主數據中的應用第2部分:術語
- 數獨題目高級50題(后附答案)
- 口腔診所消防安全工作管理制度
- 內蒙古鄂爾多斯市2020年中考英語試題(解析版)
- 近視遺傳研究的民族差異
- 變更勞動合同地址協議書
- Vue.js前端開發實戰(第2版) 課件 第2章 Vue.js開發基礎
- 2024年四川省綿陽市八年級下冊物理期末經典試題含解析
- 異面直線 高一下學期數學湘教版(2019)必修第二冊
評論
0/150
提交評論