【正文】
念 ............................................................................................. 8 BMP 文件格式 ...................................................................................................... 10 JPEG 圖的解碼 ...................................................................................................... 12 哈弗曼編碼 …………………………………………………………… ...14 行程編碼 ……………………………………………………………… ...15 LZW 算法的大體思想 ………………………………………………… ..16 JPEG 壓縮編碼標(biāo)準(zhǔn) …………………………………………………… ..16 3 軟件設(shè)計 ......................................................................................................................... 18 圖片加載模塊 ....................................................................................................... 18 顯示模塊 ............................................................................................................... 18 操作模塊 ............................................................................................................... 20 圖片加載 ..................................................................................................... 20 查看上一幅、下一幅圖片 ......................................................................... 20 圖片自動播放 ............................................................................................. 21 圖片自動播放與手動播放之間的切換 ..................................................... 21 4 軟件實現(xiàn) ......................................................................................................................... 24 使用說明 ............................................................................................................... 24 演示效果 ............................................................................................................... 24 結(jié)論 ..................................................................................................................................... 25 參考文獻(xiàn) ………………………………………………………………………………… .26 致 謝 ................................................................................................................................. 27 II 插圖索引 圖 1 “中 ”與放大后的 “中 ”位圖 ............................................................................................ 8 圖 2 Windows 位圖文件結(jié)構(gòu)示意圖 ................................................................................. 10 圖 3 編碼器流程 ................................................................................................................ 17 圖 4 解碼器過程 ................................................................................................................ 17 圖 5 圖片顯示模塊程序流程圖 ........................................................................................ 20 圖 6 操作模塊程序流程圖 ................................................................................................ 23 圖 7 圖片瀏覽效果圖 …………………………………………………………………….24 III 附表索引 表 1 常見顏色的 RGB 組合值 ..................................................................................... 9 IV 基于嵌入式 Linux 圖片瀏覽器的設(shè)計與實現(xiàn) 摘 要 本文 闡述了圖片瀏覽器 的設(shè)計原理以及嵌入式 Linux 在圖片瀏覽器中的應(yīng)用,并對 Linux系統(tǒng)進(jìn)行了詳細(xì)的介 紹。 【關(guān)鍵詞】 : Linux 圖片瀏覽器 BMP JEPG V The design and implementation of photo browser based on Embedded Linux Abstract This paper describes the principle of photo browser and the application of embedded Linux in photo browser, and introduces the Linux system in detail. Then the text puts forward the method of designing photo browser based on Linux. The photo browser consists of three modules: Picturedisplay, Operation, Pictureloading. Picturedisplay includes display of BMP and JPEG format images. Operation consists of autoplay, reviewing manually pictures, switch in automatic mode and manual mode and exit. Pictureloading is triggered by the loading function of Operation. In picture list, each node consists of the picture’s name and path. The picture browser currently supports 24 bit image of BMP and JPG format and supports full screen display. This design solves the conflict between autoplay and monitor keyboard input under the single thread through using the Linux’s select function. This picture browser has control of sensitive, fast reaction, strong adaptability and so on. 【 Key words】 Linux Photo browser BMP JPEG 1 緒論 Linux 是一個自由開放的操作系統(tǒng)軟件,具有很多其他操作系統(tǒng)無法比擬的優(yōu)點,有廣大的用戶群體,是當(dāng)前主流的操作系統(tǒng)之一。 Gwenview 是一個圖像瀏覽器的 KDE 的桌面環(huán)境。 KSquirrel 是另一個圖像瀏覽器的桌面環(huán)境 KDE 的同一個磁盤導(dǎo)航,文件樹,縮略圖,延長縮略圖,動態(tài)格式的支持, DCOP 接口, KEXIF 和情報院的插件支持。 GQview 使用基于 GTK +工具包,旨在運行于 X Window 系統(tǒng)。 綜合上述例子,我們明顯的可以看到, Linux 圖片瀏覽器的強大與成熟,并且由于其應(yīng)用的群體數(shù)量大,如當(dāng)今的 Android 手機用戶,沒有不用到圖片瀏覽器的,需求量是很大的。 第四章 主要介紹了該圖片瀏覽器的 實際演示效果,以及軟件的使用說明。 嵌入式系統(tǒng)主要由嵌入式處理器、外圍硬件設(shè)備、嵌入式操作系統(tǒng)及特定的應(yīng)用程序等四部分構(gòu)成,是集軟、硬件于一體的可獨立工作的器件,實現(xiàn)對其它設(shè)備的控制、監(jiān)視或管理等 功能。一個優(yōu)秀的 BOS 是嵌入式系統(tǒng)成功的關(guān)鍵。提供各種設(shè)備驅(qū)動接口。 (8) 具有良好的可移植性,能適應(yīng)更多的硬件平臺。 Linux 遵循 GPL 一通用公共許可證,用法律保障了免費獲得內(nèi)核源代碼的權(quán)利。 6 Linux 的內(nèi)核非常穩(wěn)定。而 Linux 內(nèi)核易于裁剪這一特性正好可以滿足該需求。 Linux 自從誕生之日起就與網(wǎng)絡(luò)密不可分。在Linux 中,除提供字符界面工作方式外,還提供 xwindow 圖形用戶界面系統(tǒng)。人們往往根據(jù)實際的應(yīng)用需求,將一個體積很小的內(nèi)核及滿足相應(yīng)需求裁剪了的系統(tǒng)模塊構(gòu)成量體裁衣的 Linux 操作系統(tǒng) — 嵌入式 Linux。我們稱這種顯示器為位映像設(shè)備。這種分級的概念被稱 作量化。因為是一個 16 色圖,也就是說這幅圖中最多只有 16 種顏色,我們可以用一個表:表中的每一行記錄一種顏色的 R, G, B 值。其實不光是 Windows 位圖,許多圖像 文件格式(如pcx, tif, gif 等)都用帶了。 DWORD bfSize。 LONG biHeight。 }BITMAPINFOHEADER; 這個結(jié)構(gòu)的長度是固定的,為 40 個字節(jié)( WORD 為無符號 16 位整數(shù),DWORD 無符號 32 位整數(shù), LONG 為 32 位整數(shù)),各個域的說明如下 [6]: biSize:指定這個結(jié)構(gòu)體的長度,為 40 字節(jié); biWidth:指定圖像的寬度,單位是像素; biHeight:指定圖像的高度,單位是像素; biplanes:必須是 1,不用考慮; biBitCount:指定表示顏色時要用到的位數(shù),常用的值為 1(黑白二色圖),4( 16 色圖), 8( 256 色), 24(真彩色圖)。 biXPelsPerMeter:指定標(biāo)準(zhǔn)設(shè)備的水平分辨率,單位是每米的像素個數(shù); biYPelsPerMeter:指定目標(biāo)設(shè)備的垂直分辨率,單位同上; biClrUsed:指定本圖像實際用到的顏色數(shù),如果該值為零,則用到的顏色數(shù)為 2 的 biBitCount 次方; 12 biClrImportant:指定本圖像中重要的顏色數(shù),如果該值為零,則認(rèn)為所有的顏色都是重要的。//保留值 }RGBQUAD; 第四部分 就是實際的圖像數(shù)據(jù)了。舉個例子就明白了,一張A4(210mm*297mm)幅面的圖片,若用中等分辨 (300dpi)的掃描儀按真彩掃描,共有 (300*210/)*(300*297/)個像素,每個像素占 3 個字節(jié)