綜合作業(yè)報告格式.doc_第1頁
綜合作業(yè)報告格式.doc_第2頁
綜合作業(yè)報告格式.doc_第3頁
綜合作業(yè)報告格式.doc_第4頁
綜合作業(yè)報告格式.doc_第5頁
已閱讀5頁,還剩7頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

成績 南京工程學院多媒體編程基礎課程綜合作業(yè)說明書題 目 (根據(jù)自己設計的軟件特色定題) 班 級 學 生 姓 名 學 號 2011 年 10 月 28 日注:本周五(10月28日)檢查綜合作業(yè)程序完成進度,打初步印象分;綜合作業(yè)報告最遲11月9日上交 (包括源代碼和作業(yè)電子稿、打印稿)。提交文件格式 : 202060236_楊文龍_多媒體081.rar實驗報告5如果來不及也可以推遲到11月9日上交如有特殊情況由班長和我聯(lián)系。一、 程序功能與設計思路設計目標具有的功能 (必須含有文字處理、繪圖、圖像、音頻視頻四部分內(nèi)容各3種以上功能,界面及應用方法自己根據(jù)軟件的特色綜合考慮,每位同學必須自己設計一個標志,放在窗口界面上,最好是帶動畫效果)界面效果圖框架結構圖等=格式及內(nèi)容的示例(注意文本、圖、表格的格式):=1.1 WMPlayer媒體播放器程序實現(xiàn)功能說明如下: 按路徑選擇播放媒體文件,可以支持MP3、WMA、WMV、AVI、RM、RMVB、FLV、MP4等格式。 將媒體文件加入菜單中下拉列表框。 在列表中隨意選擇要播放的媒體文件。 控制媒體文件的播放、暫停、停止。 指定播放當前文件的上一個或下一個媒體文件。 在播放時,可以獲取并顯示當前播放媒體的文件信息。程序運行界面如圖5_1所示。(1) 新添四個圖標資源,通過圖像設備選擇對話框,選擇16*16作為圖標的設備類型。圖標ID號分別默認IDI_ICON1, IDI_ICON2, IDI_ICON3, IDI_ICON4.(2)用圖形編輯器繪制標vc+.(3)為CMainFram類添加一個成員函數(shù)ChangeIcon,用來切換應用程序的圖標。該函數(shù)代碼如下:void CMainFrame:ChangeIcon(UINT nIconID)HICON hIconNew=AfxGetApp()-LoadIcon(nIconID);HICON hIconOld=(HICON)GetClassLong(m_hWnd,GCL_HICON);if(hIconNew!=hIconOld)DestroyIcon(hIconOld);SetClassLong(m_hWnd,GCL_HICON,(long)hIconNew);RedrawWindow();(4)在CMainFrame:OnCreate函數(shù)的最后添加計時器設置代碼:SetTimer(1,500,NULL);(5)給CMainFrame類添加WM_TIMER的消息映射函數(shù),并添加代碼:void CMainFrame:OnTimer(UINT_PTR nIDEvent)static int icons=IDI_ICON1,IDI_ICON2,IDI_ICON3,IDI_ICON4;static int index=0;ChangeIcon(iconsindex);index+;if(index3)index=0;/ TODO: 在此添加消息處理程序代碼和/或調用默認值CFrameWnd:OnTimer(nIDEvent);(6)在CMainFrame類添加WM_DESTROY的消息映射函數(shù),并添加下列代碼void CMainFrame:OnDestroy()CFrameWnd:OnDestroy(); KillTimer(1);圖1_1 WMPlayer媒體播放器運行界面1.2 WMPlayer媒體播放器的設計思路:首先創(chuàng)建一個基于CLR的Windows窗體應用程序,接下來在窗體中添加一個AxWindowsMediaPlayer控件,然后利用控件的屬性和方法實現(xiàn)媒體的播放和控制操作;此外,還要添加菜單欄用于打開文件、添加播放列表、選擇播放文件、控制播放以及退出應用程序等操作;添加狀態(tài)欄用于顯示媒體的標題和文件類型信息。其功能結構如圖5_2所示。 圖1_2 WMPlayer功能結構圖面二、 相關原理知識介紹 所應用到的知識點介紹,如:文字處理函數(shù),GDI+函數(shù)等=格式及內(nèi)容的示例(注意文本、圖、表格的格式,尤其圖表的編號和代碼的格式):= 文字處理我們在使用各種軟件的時候,都要涉及到文字的處理,其中就包括要選擇使用不同的字體,因此,需要重點了解字體的含義、原理、以及如何使用這些字體,并創(chuàng)建符合自己要求的字體。Windows使用了兩種主要字體:一種是等寬字體,一種是可變寬字體。同時Windows又定義了三種不同類型的字體:光柵字體(點陣圖字體)、矢量字體(由一連串線段構成的字體)、TrueType字體(用線條和樣條曲線來定義字體輪廓的字體),其中TrueType字體可以進行任何限度的縮放,而字體卻仍然保持良好的質量。無論哪種字體,Windows都是使用TEXTMERIC和LOGFONT兩個結構來進行描述的。我們通過這兩個結構來獲得字體信息,自定義我們需要的字體。 在三種形式的成員函數(shù)中:Drawing-Attribute Function(如:DetTextColor GetTextColor等)Text FunctionFont FunctionGDI對象對字體的支持為了能夠繪制各種類型的文本、圖形圖象信息,Windows操作系統(tǒng)提供了6個GDI對象,分別為字體、位圖、畫刷、調色板、畫筆和區(qū)域。在MFC類庫中,分別對應于CFont、CBitmap、CBrush、CPalette、CPen和CRgn類。下面以使用CFont類為例介紹如何使用GDI對象。CFont類用于描述文本的字體信息,下面的示例將指定字體格式的文本輸出到窗口中。多媒體動畫及視頻,音頻計算機動畫顯示是利用人眼的視覺暫留特征。如果不斷在平米上顯示內(nèi)容接近的圖片或圖形,事件錯覺,會使人感到這些圖片中的圖形是活動的,所播放的圖片速度不能低于24張,否則人眼對動畫感覺調用就不會那么連貫。應用程序通過SetTimer()函數(shù)來完成對新的定時器的申請設置,這個函數(shù)的原型如下:CWnd:SetTimer(UINT nIDEvent,UINT nElapse,Void(CALLBACK*lpfnTimer)(HWND,UINT,UINT,DWORD);參數(shù)說明:nIDEvent:指定一個非0的定時器標示符。 nElapse: 以毫秒知識限時值。 lpfnTimer:指示處理WM_TIMER消息的程序提供的TimerProc回調函數(shù)的地址為NULL,則消息放到程序隊列中由該CWindow對象處理。返回值:成功則返回定時值的標示符,否則返回0當不需要定時器時,可以調用KillTimer()函數(shù)來停止傳送WM_TIMER消息,其函數(shù)原型如下:CWnd:KillTimer(UINT nIDEven);當定時器用盡時,在調用KillTimer()函數(shù)時,返回NULL,表示無可用。正場調用時,返回值部位0。加載應用程序Wave資源若程序中需要播放較小的wav文件,可以講wav文件加載為應用程序的資源。程序可直接使用wav資源文件就可以了。為了播放wav資源,需要使用系統(tǒng)提供的PlaySound函數(shù),不僅可以播放wav資源,還可以播放wav文件。格式如下:BOOLPlaySound(LPCSTR pszSound,HMODULE hmod,DWORD fdwSound):參數(shù)說明:pszSound:表示播放聲音的字符串,可以是表示資源的字符串,也可以是表示wav文件的字符串,最大長度256個字符,包括終止符。Hmod:表示包含wav資源的可執(zhí)行文件句柄。fdwSound:表示聲音的播放標記。雖然可使用PlaySound函數(shù)播放wav文件,但是音頻必須完全載入物理內(nèi)存,音頻文件較大,則不適合使用,此時課使用mciSendCommand函數(shù)來取代PlaySound函數(shù)實現(xiàn)wav文件的播放。函數(shù)語法如下:MCIERROR mciSendCommand(MCIDEVICEND IDDevice,UINT nMSG, DWORD fdwCommand,DWORD_PTR dwParam);參數(shù)說明:IDDevice:表示接收消息的MCI設備標示符。uMsg:表示命令消息。繪圖知識圖形是由點和線構成的,設備環(huán)境CDC類提供了多個方法繪制線條。1)MoveTo 該方法用于移動當前的坐標點到指定的位置上。 CPoint MoveTo( int x, int y ); 參數(shù)說明:x:表示當前位置的x軸坐標。 y:表示當前位置的y軸坐標。2)LineTo 該方法用于從當前坐標點繪制一條直線到參數(shù)指定的位置。 BOOL LineTo( int x, int y ); 參數(shù)說明: x:表示直線終點的x軸坐標。 y:表示直線終點的y軸坐標。畫筆是Windows應用程序中用來繪制各種直線和曲線的一種圖形工具,它可分為修飾畫筆和幾何畫筆兩種類型。在這兩種類型中,幾何畫筆的定義最復雜,它不但有修飾畫筆的屬性,而且還跟畫刷的樣式、陰影線類型有關,通常用在對繪圖有較高要求的場合。而修飾畫筆只有簡單的幾種屬性,通常用在簡單的直線和曲線等場合。一個修飾畫筆通常具有寬度、風格和顏色三種屬性。畫筆的寬度用來確定所畫的線條寬度,它是用設備單位表示的。默認的畫筆寬度是一個像素單位。畫筆的顏色確定了所畫的線條顏色。畫筆的風格確定了所繪圖形的線型,它通常有實線、虛線、點線、點劃線、雙點劃線、不可見線和內(nèi)框線等七種風格。 三個重載的構造函數(shù)CPen( );CPen( int nPenStyle, int nWidth, COLORREF crColor );CPen( int nPenStyle, int nWidth, const LOGBRUSH* pLogBrush, int nStyleCount = 0, const DWORD* lpStyle = NULL );圖像處理技巧在Windows的畫圖程序中,打開“編輯顏色”窗口時,當鼠標在顏色區(qū)域移動時,右方的顯示區(qū)域和下方的編輯框中會顯示相應的顏色和顏色值。本例實現(xiàn)該功能。技術要點:獲取某一點的顏色只要得到當前鼠標的設備環(huán)境CDC類對象即可,因為調用CDC類的GetPixel方法可獲取某一點的顏色值。VC提供了三個宏,用于獲取某一顏色的紅、綠、藍三基色。1)GetRValue宏 該宏用于獲取指定顏色的紅顏色值2)GetGValue宏 該宏用于獲取指定顏色的綠顏色值3)GetBValue宏 該宏用于獲取指定顏色的藍顏色值BYTE GetRValue(DWORD rgb );rgb標識一個顏色值。 返回值:指定顏色的紅色值。BYTE GetGValue(DWORD rgb );rgb標識一個顏色值。 返回值:指定顏色的綠色值。 rgb標識一個顏色值。 返回值:指定顏色的藍色值。Windows API 函數(shù)。 函數(shù)原型:HWND ChildWindowFromPoint (HWND hWnd, LONG xPoint, LONG yPoint); 函數(shù)功能:返回父窗口中包含了指定點的第一個子窗口的句柄。 函數(shù)參數(shù):hWnd 父窗口的句柄 xPoint 點的X坐標,以像素為單位 yPoint 點的Y坐標,以像素為單位 返回值:發(fā)現(xiàn)包含了指定點的第一個子窗口的句柄。如未發(fā)現(xiàn)任何窗口,則返回hWnd函數(shù)功能:該函數(shù)把相對于一個窗口的坐標空間的一組點映射成相對于另一窗口的坐標空間的一組點。 函數(shù)原型:int MapWindowPoints(HWND hWndFrom, HWND hWndTo,LPPOINT lpPoints, UINT cPoints); 參數(shù):hWndfrom:轉換點所在窗口的句柄,如果此參數(shù)為NULL或HWND_DESKTOP則假定這些點在屏幕坐標上。 hWndTo:轉換到的窗口的句柄,如果此參數(shù)為NULL或HWND_DESKTOP,這些點被轉換為屏幕坐標。 lpPoints:指向POINT結構數(shù)組的指針,此結構數(shù)組包含要轉換的點,此參數(shù)也可指向RECT結構,在此情況下,Cpoints參數(shù)應設置為2。 cPoints:指定LpPoints參數(shù)指向的數(shù)組中POINT結構的數(shù)目。 返回值:如果函數(shù)調用成功,返回值的低位字是每一個源點的水平坐標的像素數(shù)目,以便計算每個目標點的水平坐標;高位字是每一個源點的垂直坐標的像素的數(shù)目,以便計算每個目標點的垂直坐標,如果函數(shù)調用失敗,返回值為零。 (父窗口的句柄)。如指定點位于父窗口外部,則返回零。三、 設計方法 即步驟 界面設計 各功能模塊設計 寫出操作步驟和代碼,以及必要的環(huán)境配置和流程圖 (批改的方法很簡單,找?guī)讉€低年級同學按你描述的步驟做,看是否可以做出來,另外檢查有無雷同和相互抄襲現(xiàn)象)= =格式及內(nèi)容的示例(注意文本、圖、表格的格式):=案例具體的設計過程如下:1)啟動Visual C+ 2008開發(fā)環(huán)境,在菜單中選擇“文件”“新建”“項目”,彈出“新建項目”對話框;在對話框的左側“項目類型”選項中選擇CLR,在右側顯示的已安裝應用程序項目模板中選擇“Windows窗體應用程序”,輸入媒體播放器項目名稱“WMPlayer”,選擇好合適的程序文件存放路徑,點“確定”按鈕完成,如圖3-1所示。圖3-1 創(chuàng)建多媒體播放器項目2)調整窗體至大小合適,在窗體“Text”屬性中寫入“Windows媒體播放器”,然后添加Menustrip1菜單條控件,并在菜單中添加toolStripComboBox下拉列表框控件。操作方法如圖5-7所示,先點擊菜單設計方框中的下拉按鈕,可以看到MenuItem、ComboBox和TextBox三個選項,然后選擇“ComboBox”,這樣就可以在菜單中嵌入一個下拉列表框。圖3-2 添加toolStripComboBox下拉列表框控件菜單設計完成后的具體內(nèi)容如表3_1所示。表3_1 WMPlayer菜單設計菜 單 菜 單 項 文件 (&F)打開(&O) 作用:顯示文件對話框,選擇要播放的媒體文件退出(&E) 作用:退出媒體播放器程序控制 (&C)播放 作用:控制媒體播放器“播放”操作停止 作用:控制媒體播放器“停止”操作暫停 作用:控制媒體播放器“暫停”操作上一個 作用:播放前面一個媒體下一個 作用:播放后面一個媒體下拉列表框作用: 顯示播放列表3)添加一個statusStrip狀態(tài)欄控件,用于顯示當前播放的媒體信息。在狀態(tài)欄控件中創(chuàng)建狀態(tài)5個標簽toolStripStatusLabel1至toolStripStatusLabel5,它們的作用如表3_2所示。表3_1 狀態(tài)欄中toolStripStatusLabel標簽的用途標 簽 名 稱 用 途 toolStripStatusLabel1作用:顯示文字“正在播放”toolStripStatusLabel2作用:顯示當前在播放的媒體名稱toolStripStatusLabel3作用:顯示分隔豎線|toolStripStatusLabel4作用:顯示文字“媒體類型”toolStripStatusLabel5作用:顯示當前在播放的媒體文件類型4)按5.2.1節(jié)中所述方法添加AxWindowsMediaPlayer控件,并將控件的Dock屬性設置為“Fill”。5)添加openFileDialog控件,Name屬性為“OpenMediaFile”。應用程序窗體和所有控件的屬性設置如表3_2所示。表3_2 窗體及控件的屬性設置控件類型控件名稱屬 性設 置FormForm1TextWindows媒體播放器BackColorAliceBlueWindows Media PlayerAxWindowsMediaPlayer 1DockFillOpenFileDialogOpenFileDialog1NameOpenMediaFile7)在Form1.h中添加以下數(shù)組和全局變量,用于保存播放列表

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論