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

正文內(nèi)容

基于mfc的圖片瀏覽器的設(shè)計(jì)與實(shí)現(xiàn)精品推薦免費(fèi)分享??!-展示頁

2024-11-20 06:08本頁面
  

【正文】 PAINT 的處理函數(shù)在 CWnd 類中的聲明如下: afx_msg void OnPaint()。常用的條目宏類型如表 所示。其基本格式如下: BEGIN_MESSAGE_MAP (classname, parentclassname) //{{AFX_MSG_MAP (classname) 條目宏 1 條目宏 2 條目宏 3 ???? //}}AFX_MSG_MAP END_MESSAGE_MAP () 其中 classname 為擁有消息映射的當(dāng)前類名, parentclassname 為當(dāng)前類的父類名。 ClassWizard 在創(chuàng)建新類時(shí)將為其創(chuàng)建一個(gè)消息映射,并為每個(gè)類能響應(yīng)的消息和命令增加對(duì)應(yīng)的處理函數(shù)。 框架將消息和它們的處理函數(shù)連接起來就是消息映射。 ( 2)消息映射過程 在使用 AppWizard 創(chuàng)建應(yīng)用程序時(shí), MFC 應(yīng)用程序框架設(shè)置了相應(yīng)的消息處理函數(shù)來響應(yīng)消息,以完成相應(yīng)的操作。 ? 命令消息:在響應(yīng)用戶接口操作時(shí),將產(chǎn)生 WM_COMMAND 命令消息。這類消息包括除 WM_COMMAND 消息之外的名稱以 WM_開始的其他消息。 消息主要有以下 3 類。 ( 1)消息 Windows 中的消息是操作系統(tǒng)與應(yīng)用程序之間、應(yīng)用程序與應(yīng)用程序之間、應(yīng)用程序各對(duì)象之間相互控制與傳遞信息的方式。Windows 應(yīng)用程序是消息驅(qū)動(dòng)的,應(yīng)用程序不能直接得到用戶所做 的操作,如鼠標(biāo)按鍵、鍵盤輸入和窗口移動(dòng)等。所以使用 Visual C++可以實(shí)現(xiàn) Win32 的可視化程序設(shè)計(jì)。運(yùn)用 Visual C++的資源編輯器( Resource Editor)能直觀地設(shè)計(jì)程序的用戶界面,而 ClassWizard 能把用戶界面和程序代碼連接起來。 Win23 SDK 和 MFC 是實(shí)現(xiàn) Win32編程的主要工具。 Visual C++包括一套叫做 MFC( Microsoft Foundation Class Library)的 C++類庫,其中定義了進(jìn)行 Win32 編程所需要的各種類。 ? 通過 OLE 2 技術(shù)實(shí)現(xiàn)多個(gè)應(yīng)用程序的對(duì)象定位。 ? 高性能的搶先式多任務(wù)和多線程管理。 ? 應(yīng)用 程序具有圖形用戶界面。由于 Windows 95/98/Me/NT/2020 是 PC 平臺(tái)中應(yīng)用最廣泛的操作系統(tǒng),而 Microsoft力圖用一個(gè)叫做 Win32 的標(biāo)準(zhǔn) 32 位應(yīng)用程序接口作為對(duì)這幾個(gè)操作系統(tǒng)的共同開發(fā)接口,所以經(jīng)常采用 Win32 來代表 Microsoft的 32 位 Windows 操作系統(tǒng),因此 Visual C++主要用于針對(duì) Win32 的應(yīng)用程序開發(fā)。文檔僅處理數(shù)據(jù)的實(shí)際讀、寫操作,視圖則是顯示和處理數(shù)據(jù)的窗口,視圖可以操作文檔中的數(shù)據(jù)。 MFC 框架的核心是文檔 /視圖結(jié)構(gòu)( DocumentView Architecture),這是一個(gè)很好用、但又往往較難以入門的功能。 ? 強(qiáng)大的功能。 ? Visual C++工具降低了編碼的復(fù)雜性。 ? 使用應(yīng)用程序框架的應(yīng)用程序不僅小,而且運(yùn)行速度快,具有很大的靈活性。使用 MFC 類庫構(gòu)建應(yīng)用程序具有以下優(yōu)點(diǎn): ? MFC 庫是 C++的 Microsoft Windows API。一般的類庫只是一種孤立的類的集合,用來嵌入在任何程序中,但是,應(yīng)用程序框架卻定義了程序的結(jié)構(gòu)。類庫是 可在應(yīng)用程序中使用的有關(guān) C++類的集合。 2. MFC( Microsoft Foundation Classes)應(yīng)用程序框架 應(yīng)用程序框架的一種定義是:提供一般應(yīng)用程序需要的全部面向?qū)ο筌浖M件的集成集合。然而,使用 Visual C++,開發(fā)人員必須真正地閱讀和編寫 C++代碼。通過使用 AppWizard,程序員的編程工作便簡(jiǎn)化為用資源編輯器直觀的設(shè)計(jì)界面,完善對(duì)話框類代碼,在空的處理函數(shù)模板處填寫響應(yīng)用戶操作的代碼,這是一種比較完善的可視化編程方法。 Microsoft Visual C++及編程模式簡(jiǎn)介 1. Visual C++可視化編程 Visual C++的資源編輯器能以所見即所得( What you see is what you get)的形式直接編輯程序的用戶界面,為所有資源分配 ID 標(biāo)識(shí)號(hào)。而在以 C++為核心語言的可視化編程工具中, Microsoft Visual C++ 以其自身許多優(yōu)異的特性而獲得了最為廣泛的應(yīng)用。 Java 完全取消了指針,C極 大地限制了指針的使用,這都限制了程序員施展技巧。所以,從內(nèi)存的使用效率來看,采用 C++進(jìn)行圖像處理編程更合適。但是,無效內(nèi)存的收集和釋放只能周期性地進(jìn)行,難以達(dá)到有效地使用內(nèi)存。 C++直接控制內(nèi)存的分配和釋放,這雖繁瑣,且加大了編程的 負(fù)擔(dān),但卻能有效地控制內(nèi)存的使用。故從運(yùn)行效率的角度看,采用 C++進(jìn)行圖像編程比較合適。 C++代碼被編譯成匯編語言,可以直接在處理器上運(yùn)行,效率很高。采用 C++來進(jìn)行圖像編程的主要原因是,與 Java 和 C等現(xiàn)代編程語言相比, C++在程序運(yùn)行的效率、內(nèi)存使用的可控性和編程的靈活性上具有優(yōu)勢(shì)。 開發(fā)平臺(tái)的選擇 在 Windows 環(huán)境下,目前比較流行的可視化開發(fā)工具主要有: Visual C++、Visual Basic、 C++ Builder、 Delphi、 Power Builder 及 JBuilder 等。 本設(shè)計(jì)所討論和處理的圖像均為位圖圖像。文件頭必須包含的信息為:( 1)行數(shù)(高);( 2)列數(shù)(寬);( 3)每像素位數(shù);( 4)文件類型。位圖圖像(也稱之為光柵圖像)可由圖像模型 I(r, c)來表示,其中包含像素?cái)?shù)據(jù)以及某些文件格式存儲(chǔ)的相應(yīng)的亮度值。這些關(guān)鍵點(diǎn)足以對(duì)形體進(jìn)行定義,而將它變成圖像的過程稱之為渲染。 在計(jì)算機(jī)圖形學(xué)中,圖像數(shù)據(jù)的類型被分為兩個(gè)主要種類:矢量和位圖。計(jì)算機(jī)圖形學(xué)是計(jì)算機(jī)科學(xué)的一個(gè)特殊領(lǐng)域,它指的是通過計(jì)算機(jī)對(duì)可視數(shù)據(jù)進(jìn)行再現(xiàn),這包括為顯示或打印生成計(jì)算機(jī)圖像,以及為輸出到監(jiān)視器、打印機(jī)、照相機(jī)或其他能提供圖像的設(shè)備上生成和處理的任何圖像(真實(shí)的或 人造的)。許多其他圖像類型可以通過圖像轉(zhuǎn)換軟件很容易地轉(zhuǎn)換成這些文件格式,如本設(shè)計(jì)最終開發(fā)出的軟件就可以將圖像在 BMP、 PCX、 TGA、GIF 及 JPEG 之間互相轉(zhuǎn)換。完整 一些的回答還要考慮到市場(chǎng)份額、所有權(quán)以及在圖像工業(yè)中缺乏的必要協(xié)調(diào)。因此,掌握不同格式圖像的編碼解碼、讀寫、顯示等方法是必不可少的??蓪⑺殖芍T多步驟,必須一個(gè)接一個(gè)地執(zhí)行這些步驟,直到提取出有用的數(shù)據(jù)。而數(shù)字圖像處理不 僅能完成線性運(yùn)算,而且能實(shí)現(xiàn)非線性處理,即凡是可以用數(shù)學(xué)公式或邏輯關(guān)系來表達(dá)的一切運(yùn)算均可用數(shù)字圖像處理實(shí)現(xiàn)。 4. 靈活性高 圖像處理大體上可分為圖像的像質(zhì)改善、圖像分析和圖像重建三大部分,每一部分均包含豐富的內(nèi)容。這些來自不同信息源的圖像只要被變換為數(shù)字編碼形式后,均是用二維數(shù)組表示的灰度圖像(彩色圖像也是由灰度圖像組合成的,例如 RGB 圖像由紅、綠、藍(lán)三個(gè)灰度圖像組合而成),因而均可用計(jì)算機(jī)來處理。 3. 適用面寬 圖像可以來自 于 多種信息源,它們可以是可見光圖像,也可以是不可見的波譜圖像(例如 X 射線圖像、射線圖像、超聲波圖像或紅外圖像等)。換言之,從原理上講不論圖像的精度有多高,處理總是能實(shí)現(xiàn)的,只要在處理時(shí)改變程序中的數(shù)組參數(shù)就可以了?,F(xiàn)代掃描儀可以把每個(gè)像素的灰度等級(jí)量化為16 位甚至更高,這意味著圖像的數(shù)字化精度可以達(dá)到滿足任一應(yīng) 用需求。只要圖像在數(shù)字化時(shí)準(zhǔn)確地表現(xiàn)了原稿,則數(shù)字圖像處理過程始終能保持圖像的再現(xiàn)。 數(shù)字圖像及其處理技術(shù)之所以發(fā)展的如此迅速并獲得廣泛的應(yīng)用,與其自身的優(yōu)點(diǎn)是息息相關(guān)的。所有這一切都是圖像的“數(shù)字表達(dá)”這一不可抗拒的發(fā)展趨勢(shì)的組成部分。 目前圖像處理的主流應(yīng)用是圖像的壓縮,即通過互聯(lián)網(wǎng)進(jìn)行傳遞或在可視電話和視頻會(huì)議中進(jìn)行動(dòng)態(tài)視頻圖像的壓縮。隨著價(jià)格低廉的高性能計(jì)算機(jī)和諸如數(shù)碼相機(jī)及掃描儀這樣的圖像采集設(shè)備的出現(xiàn),我們已經(jīng)看到圖像處理技 術(shù)在向公眾領(lǐng)域轉(zhuǎn)移。在這些技術(shù)中,對(duì)計(jì)算機(jī)圖像進(jìn)行數(shù)字化處理以得到想要獲得的效果,比如使圖像的某一部分或某一特性更加明顯。它也是圖像處理領(lǐng)域的一次偉大勝利。 1980 年 1 月《科學(xué)美國(guó)人》發(fā)表了一幅被稱之為“ Plume 2”的著名圖像,它是 1979 年 3 月 5 日通過宇宙飛船旅行者 1 號(hào)在木星的衛(wèi)星上探測(cè)到的 8 次火山爆發(fā)中的第二次。隨著 20世紀(jì) 60 年代后期衛(wèi)星圖像的出現(xiàn),更多基于計(jì)算機(jī)的工作便開展起來。第 1章 緒 論 圖像處理源自于二戰(zhàn)中的攝影偵察。當(dāng)時(shí),處理操作是通過光學(xué)方法來完成的,判讀工作則是由專門精于此道并能確定炸彈襲擊結(jié)果的人員來做。彩色合成的衛(wèi)星圖像,有時(shí)的確漂亮的讓人吃驚,它們已經(jīng)成為人類視覺文化和對(duì)我們這個(gè)行星進(jìn)行認(rèn)知的一個(gè)組成部分。這幅圖像在星 際探險(xiǎn)圖像中是一個(gè)里程碑,人們第一次在宇宙中看到了正在爆發(fā)的火山。衛(wèi)星圖像以及宇宙探測(cè)器所獲取的圖像直到近年來才大量應(yīng)用圖像處理技術(shù)。 正如計(jì)算機(jī)圖形學(xué)一樣,直到近幾年,圖像處理仍然局限在一些實(shí)驗(yàn)室里使用,只有這些地方才能提供昂貴的圖像處理計(jì)算機(jī)來滿足處理大量高分辨率圖像的需要。經(jīng)典的圖像處理技術(shù)很平常地被圖像設(shè)計(jì)人員用來處理圖片和生成圖像,比如修復(fù)圖片的缺陷、改變色彩、對(duì)比度等,或者通過圖像邊緣增強(qiáng)這樣的處理來改變整個(gè)圖片的外觀??梢曤娫捠钱?dāng)今結(jié)合計(jì)算機(jī)圖像和傳統(tǒng)圖像處理的技術(shù),以期產(chǎn)生很高壓縮比的交叉領(lǐng)域之一。事實(shí)上, 20 世紀(jì)最強(qiáng)大、應(yīng)用最廣泛的圖像形式 —— 電視圖像,也將不可避免的融入數(shù)字 領(lǐng)域。 1. 再現(xiàn)性好 數(shù)字圖像處理與模擬圖像處理的根本不同在于,它不會(huì)因圖像的存儲(chǔ)、傳輸或復(fù)制等一系列變換操作而導(dǎo)致圖像質(zhì)量的退化。 2. 處理精度高 按目前的技術(shù),幾乎可將一幅模擬圖像數(shù)字化為任意大小的二維數(shù)組,這主要取決于圖像數(shù)字化設(shè)備的能力。對(duì)計(jì)算機(jī)而言,不論數(shù)組大小,也不論每個(gè)像素的位數(shù)多少,其處理程序幾乎是一樣的。回想一下圖像的模擬處理,為了要把處理精度提高一個(gè)數(shù)量級(jí),就要大幅度地改進(jìn)處理裝置,這在經(jīng)濟(jì)上是極不合算的。從圖像反映的客觀實(shí)體尺度看,可以小到電子顯微鏡圖像,大到航空照片、遙感圖像甚 至天文望遠(yuǎn)鏡圖像。即只要針對(duì)不同的圖像信息源,采取相應(yīng)的圖像信息采集措施,圖像的數(shù)字處理方法 可 適用于任何一種圖像。由于圖像的光學(xué)處理從原理上講只能進(jìn)行線性運(yùn)算,這極大地限制了光學(xué)圖像處理能實(shí)現(xiàn)的目標(biāo)。 鑒于數(shù)字圖像自身的特點(diǎn),對(duì)其進(jìn)行處理也不是一步就能完成的過程。而這些步驟中,數(shù)據(jù)的存儲(chǔ)、表示又占有相當(dāng)重要的地位,可以說,這是圖像處理中最基本的技術(shù)。 為什么會(huì)需要如此眾多不同類型的圖像文件格式呢?簡(jiǎn)單的回答就是因?yàn)橛刑嗖煌愋偷膱D像以及眾多不同需求的應(yīng)用。但是,已經(jīng)有一些標(biāo)準(zhǔn)的文件格式被開發(fā)出來。 與計(jì)算機(jī)圖像相關(guān)的一個(gè)領(lǐng)域就是計(jì)算機(jī)圖形學(xué)??梢哉J(rèn)為計(jì)算機(jī)圖形學(xué)是計(jì)算機(jī)圖像技術(shù)的一部分,圖形設(shè)計(jì)師所使用的許多工具也正在被計(jì)算機(jī)圖像專業(yè)人士所采用。矢量圖像是指僅通過存儲(chǔ)關(guān)鍵點(diǎn)來表達(dá)線條、曲線和形體的方法。當(dāng)圖像被渲染之后,它可以被認(rèn)為是位圖格式,其中每一個(gè)像素都具有與之相關(guān)的特定值。盡管有些文件被壓 縮,但仍屬于位圖圖像的范疇,通常這些類型的圖像包含頭信息和原始圖像數(shù)據(jù)。此外,對(duì)于某些復(fù)雜的文件格式,文件頭還必須包含有關(guān)所使用的壓縮類型的信息,以及創(chuàng)建圖像所需要的其他必要的參數(shù)。 第 2章 軟件開發(fā)平臺(tái)及編程模式 在系統(tǒng)的設(shè)計(jì)與開發(fā)中,軟件開發(fā)平臺(tái)及編程模式是關(guān)鍵,下面介紹一下開發(fā)平臺(tái)的選擇、 Microsoft Visual C++及編程模式。而本軟件采用Microsoft Visual C++ 作為開發(fā)工具,并使用 MFC Application Framework 作為本軟件的基本架構(gòu)。 圖像處理需要處理大量的圖 像數(shù)據(jù),經(jīng)常使用復(fù)雜、費(fèi)時(shí)的算法,因此圖像處理程序的效率非常重要。而 Java 被編譯成字節(jié)碼, C被編譯成中間語言,都是不能在處理器上執(zhí)行的,必須經(jīng)過 Java 虛擬機(jī)或 .NET 通用語言運(yùn)行時(shí)的 JIT 編譯之后才能執(zhí)行,因此效率較低。 對(duì)龐大的圖像數(shù)據(jù)進(jìn)行處理時(shí)需要使用大量的內(nèi)存,而計(jì)算機(jī)的物理內(nèi)存容量往往是有限的,因此需要有效地控制內(nèi)存的使用。 Java和 C引進(jìn)了垃圾收集機(jī)制,將開發(fā)人員從內(nèi)存管理的繁雜任務(wù)中解放出來,不再需要直接控制內(nèi)存的分配和釋放。同樣的運(yùn)算,使用 Java 和 C所需的內(nèi)存比使用 C++所需的內(nèi)存要多,即內(nèi)存的使用率較低。 C++中大量使用指針,使得編程的靈活性很高,這雖然增加了程序出錯(cuò)的可能性,但是便于程序員施展編程技巧來提高程序的效率。因此,使用 C++進(jìn)行圖像處理編程具有更大的靈活性。鑒于以上原因,本設(shè)計(jì)使用 Microsoft Visual C++ 作為軟件的開發(fā)平臺(tái)。 ClassWizard 能把對(duì)話框模板與生成的類定義或與已有的類代碼連接起來,為菜單項(xiàng)、控制等資源生成空的處理函數(shù)模板,創(chuàng)建消息映射條目,并將資源 ID 與處理函數(shù)連接起來。 但產(chǎn)品名“ Visual C++”也容易誤導(dǎo)人,讓人認(rèn)為自己使用的是一個(gè)與 Microsoft Visual Basic 類似的完全可視化的系統(tǒng)。 Visual C++向?qū)Э梢怨?jié)省時(shí)間和提高精度,但是,程序員也必須理解向?qū)Мa(chǎn)生的代碼,并且,最重要的是,還必須理解 MFC 庫的結(jié)構(gòu)和W
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評(píng)公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1