freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內容

基于mfc的圖片瀏覽器的設計與實現(完整版)

2025-07-30 15:48上一頁面

下一頁面
  

【正文】 hmetic Coding)都是常用的無失真圖像編碼方式。l 數據編碼:即對原始圖像數據進行編碼,以減小其數據量。各種圖像格式都可以采用一種,甚至多種不同的數據壓縮算法來壓縮數據量,因此圖像格式和壓縮算法是密切相關的。在具體的實現上,不同的廠家,在不同的系統上和不同的軟件中又采用不同的圖像表示方式,即以不同的圖像格式來表示數字圖像。條目宏定義了類所處理的消息與其對應的函數。其參數指定了用戶接口的標識號,如菜單項和按鈕等ID號。這些操作由操作系統管理,操作系統檢測到操作事件后,便向相關的應用程序發(fā)送消息,應用程序響應這些消息來完成用戶的操作。有的類封裝了大部分的Win32 SDK中應用程序的編程接口函數;有的類封裝的則是應用程序本身的數據和操作;還有的類封裝了ActiveX、OLE和Internet編程特性以及WinSock網絡特性和DAO(Data Access Objects)、ODBC(Open Database Connectivity)數據訪問功能。Win32具有搶先式多任務、多線程和線性尋址內存管理等特征,Win32編程的基本要求包括:l 應用程序的執(zhí)行獨立于硬件設備。l MFC庫應用程序框架有豐富的特性,如:Windows API的C++接口、通用的(非Windows所特有的)類、“共用根對象”類層次結構、流線式多文檔界面(MDI)應用程序支持等。應用程序框架是類庫的超集。ClassWizard能把對話框模板與生成的類定義或與已有的類代碼連接起來,為菜單項、控制等資源生成空的處理函數模板,創(chuàng)建消息映射條目,并將資源ID與處理函數連接起來。同樣的運算,使用Java和C所需的內存比使用C++所需的內存要多,即內存的使用率較低。圖像處理需要處理大量的圖像數據,經常使用復雜、費時的算法,因此圖像處理程序的效率非常重要。盡管有些文件被壓縮,但仍屬于位圖圖像的范疇,通常這些類型的圖像包含頭信息和原始圖像數據。與計算機圖像相關的一個領域就是計算機圖形學。鑒于數字圖像自身的特點,對其進行處理也不是一步就能完成的過程?;叵胍幌聢D像的模擬處理,為了要把處理精度提高一個數量級,就要大幅度地改進處理裝置,這在經濟上是極不合算的。事實上,20世紀最強大、應用最廣泛的圖像形式——電視圖像,也將不可避免的融入數字領域。衛(wèi)星圖像以及宇宙探測器所獲取的圖像直到近年來才大量應用圖像處理技術。第1章 緒 論圖像處理源自于二戰(zhàn)中的攝影偵察。在這些技術中,對計算機圖像進行數字化處理以得到想要獲得的效果,比如使圖像的某一部分或某一特性更加明顯。數字圖像及其處理技術之所以發(fā)展的如此迅速并獲得廣泛的應用,與其自身的優(yōu)點是息息相關的。3. 適用面寬圖像可以來自于多種信息源,它們可以是可見光圖像,也可以是不可見的波譜圖像(例如X射線圖像、射線圖像、超聲波圖像或紅外圖像等)??蓪⑺殖芍T多步驟,必須一個接一個地執(zhí)行這些步驟,直到提取出有用的數據。計算機圖形學是計算機科學的一個特殊領域,它指的是通過計算機對可視數據進行再現,這包括為顯示或打印生成計算機圖像,以及為輸出到監(jiān)視器、打印機、照相機或其他能提供圖像的設備上生成和處理的任何圖像(真實的或人造的)。文件頭必須包含的信息為:(1)行數(高);(2)列數(寬);(3)每像素位數;(4)文件類型。C++代碼被編譯成匯編語言,可以直接在處理器上運行,效率很高。所以,從內存的使用效率來看,采用C++進行圖像處理編程更合適。通過使用AppWizard,程序員的編程工作便簡化為用資源編輯器直觀的設計界面,完善對話框類代碼,在空的處理函數模板處填寫響應用戶操作的代碼,這是一種比較完善的可視化編程方法。一般的類庫只是一種孤立的類的集合,用來嵌入在任何程序中,但是,應用程序框架卻定義了程序的結構。l 強大的功能。l 應用程序具有圖形用戶界面。Win23 SDK和MFC是實現Win32編程的主要工具。(1)消息Windows中的消息是操作系統與應用程序之間、應用程序與應用程序之間、應用程序各對象之間相互控制與傳遞信息的方式。(2)消息映射過程在使用AppWizard創(chuàng)建應用程序時,MFC應用程序框架設置了相應的消息處理函數來響應消息,以完成相應的操作。 消息映射條目宏消息類型宏格式說明Windows消息ON_WM_XXXXWM_XXXX為Windows消息名命令ON_COMMAND(ID,Function)ID為命令標識號,Function為處理函數名更新命令ON_UPDATE_COMMAND_UI(ID,Function)ID為命令標識號,Function為處理函數名控制通知ON_XXXX(ID,Function)ID為控制標識號,Function為處理函數名用戶定義消息ON_MESSAGE(ID,Function)ID為消息標識號,Function為處理函數名用戶注冊消息ON_REGISTERED_MESSAGE(ID,Function)ID為消息標識號,Function為處理函數名Windows消息的處理函數在CWnd類中進行了預定義,類庫以消息名為基礎定義這些處理函數的名稱,且MFC要求所有消息處理函數聲明為afx_msg類型。因此,一個通用的圖像處理軟件應該能支持多種不同的圖像格式,至少應能支持常用的幾種圖像格式。而開發(fā)圖像處理軟件也應首先了解圖像的編碼及解碼方法。l 數據解碼:即把編碼壓縮的圖像數據還原成原始的表示形式。由于本設計并未涉及到上述所有的編碼算法,故在此不再進行一一說明,在后面的內容中會對使用到的算法及其實現進行詳細論述。 //位圖中每一掃描行中的字節(jié)數 BYTE bmPlanes。DIB位圖可以在不同的機器或系統中顯示位圖所固有的圖像。 //位圖文件的大小,以字節(jié)為單位 UINT bfReserved1。 //目標設備的級別,必須為1 WORD biBitCount。3. 顏色表顏色表用于說明位圖中的顏色,它有若干個表項,每一個表項是一個RGBQUAD類型的結構,且定義一種顏色,定義如下:typedef struct tagRGBQUAD{ BYTE rgbBlue。顏色表中RGBQUAD結構數據的個數由biBitCount來確定,當biBitCount=8時,分別有1256個表項;當biBitCount=24時,沒有顏色表項。其與Windows BMP的主要區(qū)別是位圖信息結構(信息頭結構和顏色表結構)不同。PCX文件的文件頭為固定的128字節(jié)。PCX圖像可以是單彩色,也可以具有多個彩色平面662每行字節(jié)數每個色彩平面的每行字節(jié)數,即存儲未壓縮圖像的一個掃描行所需的字節(jié)數,總是偶數682調色板解釋1:彩色或黑白2:灰度702視頻屏幕大小X視頻輸出的水平像素數1722視頻屏幕大小Y視頻輸出的垂直像素數17454全空直到文件結束02. 對PCX進行解碼的關鍵因為在一個PCX文件中可以用到幾種不同的記錄方法,因此其中必須包含所用方法的標志。光強位只是給像素一種名義上的較高亮度。版本代碼為5的文件最容易確認。每個區(qū)域與相應的級相對應:063對應第0級、64~127對應第1級、128~192對應第2級、193~254對應第3級。l 1:未壓縮的,顏色表圖像。 TGA未壓縮顏色表圖像格式說明偏移(字節(jié))長度(字節(jié))描述01圖像信息字段(見本子表的后面)的字符數。以像素為單位,圖像寬度的整型(低位高位)值142圖像高度。本字段是1字節(jié)無符號整型,指出了圖像格式區(qū)別字段的長度,其取值范圍是0到255,當它為0時表示沒有圖像的信息字段11顏色表類型。圖像左下角X坐標的整型(低位高位)值102圖像Y坐標起始位置。如果顏色表類型為0,則該域不存在,否則越過該域直接讀取,圖像顏色表規(guī)格中描述了每項的字節(jié)數,為4之一可變可變圖像數據域。如果顏色表類型字段為0則被忽略;否則描述如下32顏色表首址。包含一個自由格式的,長度是圖像記錄塊偏移0處的字節(jié)中的值。每種類型的數據包含有1字節(jié)的頭信息(其中指出了數據包類型和數目),其后是可變長度的數據域,頭信息中最高位為1表示runlength類型的數據包,當它為0時,表示未加工的數據包。0:n   n   n   n   n   n   n。顏色表的表項總數,整型(低位高位)71顏色表表項的位(bit)數。如果需要存儲更多信息,可以放在圖像數據之后可變可變顏色表數據。1 bit id:7位的像素個數減1。(由于硬件上的原因)有的時候TGA 24類型的圖像也像TGA 32類型的圖像那樣存儲 JPEG圖像JPEG的全稱是“聯合圖片專家組(Joint Photographic Experts Group)”,是由該專家組制訂的用于連續(xù)色調(包括灰度和彩色)靜止圖像的壓縮編碼標準。它采用88像素自適應DCT算法量化以及哈夫曼(Huffman)型的熵編碼器。Q因子越大,量化后的0值越多,壓縮比越大,因此Q因子決定著JPEG的壓縮比。GIF文件內部分成許多存儲塊,用來存儲多幅圖像或者是決定圖像表現行為的控制塊,可用于實現動畫和交互式應用。1. 文件頭(Header)GIF文件頭包括GIF署名(Signature)和版本號(Version)兩部分。(4)局部顏色列表(Local Color Table)如果上面的局部顏色列表標志值為1,則需要在這里(緊跟在圖像標識符之后)定義一個局部顏色列表以供緊接著它的圖像使用。連續(xù)方式按從左到右、從上到下的順序排列圖像的光柵數據。GIF圖像的文件結構中,除了上面討論的幾部分以外,在89a版本中,還可以有圖形控制擴展(Graphic Control Extension)、注釋擴展(Comment Extension)、圖形文本擴展(Plan Text Extension)、應用程序擴展(Application Extension)等。、逆時針90186。在載入圖片時,提供“從上往下”、“從下往上”、“從左往右”、“從右往左”、“左上進入”、“左下進入”、“右上進入”、“右下進入”、“馬賽克”、“百葉窗”等顯示效果,并且可以由用戶選擇是否使用及使用哪個效果,用戶也可以選擇讓系統隨機選擇效果。 總體設計在對整個開發(fā)系統進行全面分析調查的基礎上,制定出應用軟件的總體設計規(guī)劃,這對建立一個應用系統來說是必須的,也是全面展開開發(fā)工作的重要基礎。程序中文檔/。 全屏狀態(tài)下的浮動工具條及右鍵菜單 詳細設計詳細設計的工作包括處理過程和代碼設計,即根據總體設計的每個功能模塊的要求,利用相應的開發(fā)工具設計出應用系統的過程。 //CJpeg類對象指針 CGif* m_pGif。 //圖像數據的字節(jié)數 int m_nPalette。 // BOOL m_bReadWithLibSupport。 m_pPal=NULL。 delete m_pGif。 BOOL ReadPcx(LPBYTE pBuffer,UINT uLength,int ndegree)。 BOOL SaveTga(LPCTSTR pszFileName)const。 if(m_pPal) { delete [] m_pPal。 //m_hBitmap中包含了m_pImage最初指向的區(qū)域 else if(m_bReadWithLibSupport) //如果使用了Lib Sources,這時m_pImage指 //向的是原來CJpeg類的一部分空間,m_pImage=NULL。 //指向調色板區(qū)域的指針 LanFormat m_eFmt。 //圖像文件大小 // //當被旋轉時保存原來的圖像可能被改變的信息 BYTE * m_pOriginImage。 //圖像實際寬度 int m_nHeight。1. 軟件核心數據結構LanImage類由上面對圖像格式的分析可知,不同的圖像格式,其解碼和編碼方式有相當大的區(qū)別,故將不同圖像的解碼、編碼劃分為單獨的模塊;然而,不論原圖像是何種格式,在解碼之后都會暫時以RGB的顏色數據存儲在內存中的一塊緩沖區(qū)中。2. 軟件界面設計根據軟件的需求分析及圖片瀏覽軟件的特點,本設計中軟件采用單文檔界面(SDI),包括標準菜單、工具欄和狀態(tài)欄。1. 模塊劃分本設計的實現基于微軟的MFC應用程序框架,故軟件也采用了文檔(Document)/視圖(View)結構,并使用單文檔界面(Single Document Interface,簡稱SDI)。在查看圖片時,可以選擇從當前目錄中刪除該圖片,并將其放入系統回收站中。旋轉。 第4章 系統的設計與實現在整個畢業(yè)設計期間,我通過需求分析、總體設計、詳細設計三個階段完成了整個設計過程。創(chuàng)建4個通道(Pass)保存數據,每個通道提取不同行的數據,方法如下:l 第1通道(Pass1)提取從第0行開始每隔8行的數據。如果一個GIF文件既沒有提供全局顏色列表,也沒有提供局部顏色列表,則可以自己創(chuàng)建一個顏色列表,或使用系統的顏色列表。文件版本號也由3個字節(jié)組成,可以為87a或89a,GIF文件版本號87a表示GIF格式符合1987年5月發(fā)布的G
點擊復制文檔內容
法律信息相關推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1