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

正文內容

基于mfc的圖片瀏覽器的設計與實現(xiàn)-免費閱讀

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

下一頁面
  

【正文】 BOOL SaveBmp(LPCTSTR pszFileName)const。 m_pGif=NULL。 } ~LanImage() //析構函數(shù) { ifdef UC_USE_DC if(m_hBitmap) DeleteObject(m_hBitmap)。 //是否使用JPEG及GIF庫中的方法 RGBQUAD *m_pPal。 //調色板中顏色個數(shù) long nFileSize。 //CGif類對象指針 int m_nWidth。由于篇幅的限制,在這里不給出全部的程序編碼,只給出軟件核心數(shù)據結構LanImage類、BMP解碼/編碼模塊、PCX解碼/編碼模塊、TGA解碼/編碼模塊、JPEG解碼/編碼模塊、GIF解碼/編碼模塊、圖像顯示模塊、全屏瀏覽模塊、圖像縮放模塊以及圖像旋轉模塊的設計。 文檔/視圖結構對象交互關系以MVC(ModelViewController)。系統(tǒng)總體設計包括:模塊的劃分和軟件界面設計。在查看圖片時,用戶也可以讓軟件隨時顯示“水平百葉窗”、“垂直百葉窗”、“馬賽克”、“向上掃描”、“向下掃描”等效果。、180186。因與本設計關系不大,在此不再詳述。交織圖像按下面方法處理光柵數(shù)據。使用前應先保存原來的顏色列表,使用結束之后恢復保存的全局顏色列表。GIF署名用來確認一個文件是否是GIF格式的文件,這一部分由3個字符組成:GIF。 GIF數(shù)據塊的結構一個GIF文件的結構可分為文件頭(File Header)、GIF數(shù)據流(GIF Data Stream)和文件終結符(Tailer)3個部分。GIF文件使用LZW壓縮算法壓縮圖像。JPEG的無失真壓縮率為4:1,有失真壓縮率為10:1~100:1。l 擴展系統(tǒng)(Extended System):選用基于離散余弦變換DCT的遞增工作方式,編碼過程采用具有自適應能力的算術編碼。JPEG標準的壓縮編碼算法是“多灰度靜止圖像的數(shù)字壓縮編碼”。由于7位表示的最大值為127,故該類型的一個數(shù)據包中像素個數(shù)不能大于128。如果顏色表類型為0,則該域不存在,否則越過該域直接讀??;圖像顏色表規(guī)格中描述了每項的字節(jié)數(shù),為4之一可變可變圖像數(shù)據域。16代表16位TGA、24代表24位TGA、32代表32位TGA810圖像規(guī)格82圖像X坐標起始位置。對于runlength數(shù)據包而言,頭信息之后是一個簡單的顏色索引,且假定該索引被重復頭信息中低7位表示的次數(shù),runlength數(shù)據包也許會跨越掃描線(掃描線起始于某行結束于下一行);對于未加工的數(shù)據包,頭信息之后是顏色索引(數(shù)值由頭信息給出),該類型的數(shù)據包也可能跨越掃描線4. 數(shù)據類型10:游程長度(Runlength)編碼的RGB圖像游程長度編碼的RGB 。對于runlength數(shù)據包,頭信息含義如下。它常常被忽略(即偏移0處值為0),其最大可以含有255個字符。顏色表首元入口的整型(低位高位)索引52顏色表的長度。這里存儲了(寬度)(高度)個像素,每個像素中的rgb色值;該色值包含整數(shù)個字節(jié)(1)3字節(jié)表項中各字節(jié)依次對應BLUE、GREEN、RED。圖像左下角Y坐標的整型(低位高位)值122圖像寬度。該字段的內容或者為0或者為1;0表示沒有顏色表,1表示顏色表存在。以像素為單位,圖像高度的整型(低位高位)值161圖像每像素存儲占用位(bit)數(shù)171圖像描述符字節(jié)bits 3~0:每像素的屬性位(bit)數(shù)bit 4:保留,必須為0bit 5:屏幕起始位置標志0:原點在左下角1:原點在左上角Truevision圖像必須為0bits 7~6:交叉數(shù)據存儲標志00:無交叉01:兩路奇/偶交叉10:四路交叉11:保留18可變圖像信息字段。本字段是1字節(jié)無符號整型,指出了圖像格式區(qū)別字段長度,其取值范圍是0到255,當它為0時表示沒有圖像的信息字段11顏色表的類型。l 2:未壓縮的,RGB圖像。(3)“CGA”調色板這種調色板現(xiàn)已過時,在PCX的版本5及更高的版本中不再使用。如果有一個色彩平面,則它們會在文件結尾處使用256色的“VGA”調色板。當使用調色板時,數(shù)據指調色板的索引值,它們構成一個完整的圖像平面,即不會被分解為單獨的色彩平面。在對PCX進行解釋時,單靠讀取版本號是不夠的,最可靠的標志是每像素的位數(shù)(文件頭的第3個字節(jié))和色彩平面數(shù)(文件頭的第65個字節(jié))。其中包含版本號、被打印或掃描圖像的分辨率(單位為每英寸點數(shù))、大?。▎挝粸橄袼財?shù))、每掃描行字節(jié)數(shù)、每像素位數(shù)和彩色平面數(shù)等信息。而它們的圖像位數(shù)據的存儲方式是完全一樣的。位圖數(shù)據記錄了位圖的每一個像素值,記錄順序是在掃描行內從左到右、掃描行之間從下到上。 //藍色的亮度(值范圍為0~255) BYTE rgbGreen。 //每個像素所需的位數(shù),必須是1(雙色)、 //4(16色)、8(256色)或24(真彩色)之一 DWORD biCompression。 //位圖文件保留字,必須為0 UINT bfReserved2。相對于DDB而言,DIB是一種外部位圖格式,經常存儲為常見的以BMP為后綴的位圖文件(有時也以DIB為后綴)。 //顏色層數(shù) BYTE bmBitsPixel。 BMP圖像BMP圖像,即通常所說的位圖(Bitmap),是Windows系統(tǒng)中最為常見的圖像格式。由于數(shù)據編碼和數(shù)據解碼是互逆的過程,只要研究好數(shù)據編碼就能處理好數(shù)據解碼。 圖像的編碼和解碼能夠對數(shù)據進行壓縮并大大減少其數(shù)據量是因為數(shù)據存在大量的數(shù)據冗余,即存在冗余的、可預測的和不必要的數(shù)據。本設計所實現(xiàn)的圖片瀏覽軟件支持以下幾種圖像格式:BMP、PCX、TGA、JPEG、GIF。例如,消息WM_PAINT的處理函數(shù)在CWnd類中的聲明如下:afx_msg void OnPaint()。消息處理函數(shù)是某些類(通常是窗口類)的成員函數(shù)和程序員在其中編寫響應消息時應進行操作的代碼。消息的基本格式如下:Message wParam lParamMessage是消息名稱;wParam是與消息相關的Word型參數(shù);lParam是與消息相關的Long型參數(shù)。Visual C++的AppWizard工具能自動生成應用程序框架,該框架定義了應用程序的輪廓,并提供了用戶接口的標準實現(xiàn)方法。l 能在Windows 95/98/Me和Windows NT/2000/XP之間透明移植,并可移植到支持Windows NT/2000的RISC硬件平臺。除封裝了大部分的Win32 SDK函數(shù)外,MFC還提供了應用程序本身的數(shù)據和操作及ActiveX、OLE、Internet、WinSock、DAO(Data Access Objects)、ODBC(Open DataBase Connectivity)等操作類。自從MFC庫發(fā)布以來,MFC已經成為主要的Windows類庫。但產品名“Visual C++”也容易誤導人,讓人認為自己使用的是一個與Microsoft Visual Basic類似的完全可視化的系統(tǒng)。C++中大量使用指針,使得編程的靈活性很高,這雖然增加了程序出錯的可能性,但是便于程序員施展編程技巧來提高程序的效率。而Java被編譯成字節(jié)碼,C被編譯成中間語言,都是不能在處理器上執(zhí)行的,因此效率較低。此外,對于某些復雜的文件格式,文件頭還必須包含有關所使用的壓縮類型的信息,以及創(chuàng)建圖像所需要的其他必要的參數(shù)??梢哉J為計算機圖形學是計算機圖像技術的一部分,圖形設計師所使用的許多工具也正在被計算機圖像專業(yè)人士所采用。而這些步驟中,數(shù)據的存儲、表示又占有相當重要的地位,可以說,這是圖像處理中最基本的技術。從圖像反映的客觀實體尺度看,可以小到電子顯微鏡圖像,大到航空照片、遙感圖像甚至天文望遠鏡圖像。1. 再現(xiàn)性好數(shù)字圖像處理與模擬圖像處理的根本不同在于,它不會因圖像的存儲、傳輸或復制等一系列變換操作而導致圖像質量的退化。正如計算機圖形學一樣,直到近幾年,圖像處理仍然局限在一些實驗室里使用,只有這些地方才能提供昂貴的圖像處理計算機來滿足處理大量高分辨率圖像的需要。當時,處理操作是通過光學方法來完成的,判讀工作則是由專門精于此道并能確定炸彈襲擊結果的人員來做。它也是圖像處理領域的一次偉大勝利。所有這一切都是圖像的“數(shù)字表達”這一不可抗拒的發(fā)展趨勢的組成部分。換言之,從原理上講不論圖像的精度有多高,處理總是能實現(xiàn)的,只要在處理時改變程序中的數(shù)組參數(shù)就可以了。而數(shù)字圖像處理不僅能完成線性運算,而且能實現(xiàn)非線性處理,即凡是可以用數(shù)學公式或邏輯關系來表達的一切運算均可用數(shù)字圖像處理實現(xiàn)。許多其他圖像類型可以通過圖像轉換軟件很容易地轉換成這些文件格式,如本設計最終開發(fā)出的軟件就可以將圖像在BMP、PCX、TGA、GIF及JPEG之間互相轉換。位圖圖像(也稱之為光柵圖像)可由圖像模型I(r, c)來表示,其中包含像素數(shù)據以及某些文件格式存儲的相應的亮度值。采用C++來進行圖像編程的主要原因是,與Java和C等現(xiàn)代編程語言相比,C++在程序運行的效率、內存使用的可控性和編程的靈活性上具有優(yōu)勢。但是,無效內存的收集和釋放只能周期性地進行,難以達到有效地使用內存。 Microsoft Visual C++及編程模式簡介1. Visual C++可視化編程Visual C++的資源編輯器能以所見即所得(What you see is what you get)的形式直接編輯程序的用戶界面,為所有資源分配ID標識號。類庫是可在應用程序中使用的有關C++類的集合。l Visual C++工具降低了編碼的復雜性。由于Windows 95/98/Me/NT/2000是PC平臺中應用最廣泛的操作系統(tǒng),而Microsoft力圖用一個叫做Win32的標準32位應用程序接口作為對這幾個操作系統(tǒng)的共同開發(fā)接口,所以經常采用Win32來代表Microsoft的32位Windows操作系統(tǒng),因此Visual C++主要用于針對Win32的應用程序開發(fā)。Visual C++包括一套叫做MFC(Microsoft Foundation Class Library)的C++類庫,其中定義了進行Win32編程所需要的各種類。Windows應用程序是消息驅動的,應用程序不能直接得到用戶所做的操作,如鼠標按鍵、鍵盤輸入和窗口移動等。l 命令消息:在響應用戶接口操作時,將產生WM_COMMAND命令消息。其基本格式如下:BEGIN_MESSAGE_MAP (classname, parentclassname)//{{AFX_MSG_MAP (classname) 條目宏1 條目宏2 條目宏3…………//}}AFX_MSG_MAPEND_MESSAGE_MAP ()其中classname為擁有消息映射的當前類名,parentclassname為當前類的父類名。 第3章 圖像格式分析在前面曾提到,用數(shù)字來表示圖像有兩種不同的方式,即矢量圖和位圖(又稱為柵格、光柵圖像或像素圖)。所謂數(shù)據壓縮,就是用更少的數(shù)據位存儲相同容量的信息,目的是更高效地存儲信息。利用冗余進行圖像數(shù)據壓縮包括兩個相反的過程。(2)根據數(shù)據編碼的實現(xiàn)原理可以把數(shù)據編碼劃分為預測編碼、變換編碼、信息熵編碼、亞抽樣與內插編碼、矢量量化編碼、基于神經網絡的編碼、分頻帶編碼、結構編碼、基于知識的編碼和混合編碼等10類。 //位圖寬度 int bmHeight。Windows SDK提供標準的DDB位圖操作函數(shù);MFC中定義了CBitmap類來說明DDB位圖,其中封裝了與DDB位圖操作相關的數(shù)據結構和函數(shù)。定義如下:typedef struct tagBITMAPFILEHEADER{ UINT bfType。 //位圖的寬度,以像素為單位 LONG biHeight。 //位圖實際使用的顏色表中的顏色數(shù) DWORD biClrImportant。 RGBQUAD bmiColors[i]。Windows規(guī)定一個掃描行所占的字節(jié)數(shù)必須是4的倍數(shù)(即以long為單位),不足的以0填充,一個掃描行所占的字節(jié)數(shù)計算方法如下:DataSizePerLine=(biWidthbiBitCount+31)/8這是本設計中的一個關鍵點,無論對圖像進行何種變換,都要進行掃描行的4字節(jié)對齊。PCX存在許多的版本,其文件頭中的一個代碼標識了文件所支持的Zsoft產品版本。當是實際的像素值時,它們按色彩平面和掃描行存儲。4. PCX圖像的調色板任何PCX文件,如果像素位數(shù)超過1但又只有一個色彩平面,則都需要使用調色板。(2)16色的“EGA/VGA”頭調色板頭調色板位于第16~第63字節(jié),共48個字節(jié),數(shù)據按3元組組織,具有16組3字節(jié)數(shù)據,每個字節(jié)分別對應R、G和B。該字節(jié)的值(二進制整數(shù))及對應的文件類型如下。l 32:使用Huffman、Delta和Runlength編碼的顏色表圖像。圖像左下角X坐標的整型(低位高位)值102圖像Y坐標的起始位置。該字段給出了(高度)(寬度)個顏色表項索引,每個索引以整數(shù)個字節(jié)的形式存儲(典型的例子如1或2個字節(jié))所有的數(shù)據都沒有符號,對于2字節(jié)表項而言,低位字節(jié)是先存儲的2. 數(shù)據類型2:未壓縮的無顏色表RGB圖像。顏色表的表項總數(shù),整型(低位高位)71顏色表表項的位(bit)數(shù)。它常常被忽略(即偏
點擊復制文檔內容
法律信息相關推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1