99久久全国免费观看_国产一区二区三区四区五区VM_久久www人成免费看片中文_国产高清在线a视频大全_深夜福利www_日韩一级成人av

微軟公司宣布不再支持你正在使用的 IE瀏覽器,這會嚴(yán)重影響瀏覽網(wǎng)頁,請使用微軟最新的Edge瀏覽器
廠商專區(qū)
產(chǎn)品/技術(shù)
應(yīng)用分類

嵌入式Linux中如何進(jìn)行截屏?

2018-10-31 15:30 來源:ZLG致遠(yuǎn)電子 編輯:電源網(wǎng)

在桌面級操作系統(tǒng)中,下載一個截圖軟件就能實現(xiàn)截屏操作,但在嵌入式Linux系統(tǒng)中,要實現(xiàn)小小的截圖功能卻沒有那么簡單。本文為您介紹嵌入式Linux系統(tǒng)中實現(xiàn)截屏功能的方法和步驟。

1 . 原理

由于 Linux 系統(tǒng)的 FrameBuffer 機制,會把屏幕上的每個點映射成一段線性內(nèi)存空間,程序就可以通過改變這段內(nèi)存的值來改變屏幕上某一點的顏色。屏幕色彩的原始數(shù)據(jù)保存在/dev/fb0文件內(nèi),因此我們可以直接cat /dev/fb0 > fb.raw讀取該文件獲得數(shù)據(jù)。

QQ20181031-153429

圖1  原始截屏數(shù)據(jù)

顯然,這種原始數(shù)據(jù)無法通過簡單的工具直接查看,特別是在精簡的嵌入式Linux系統(tǒng)上。因此,我們找到了一個不錯的工具——gsnap。這個工具可以將framebuffer中的數(shù)據(jù)直接保存為png或者jpeg格式的圖片。當(dāng)然,我們需要獲得該工具的源碼,并且在交叉編譯后移植它。

2 . 原材料

本次嘗試筆者選擇周立功/致遠(yuǎn)電子開源開發(fā)套件EasyARM-i.MX283A3,宿主機選用Ubuntu14.04。首先,我們需要獲取gsnap源碼,該源碼可在網(wǎng)絡(luò)中搜索下載。源碼解壓后得到的文件如圖2:

QQ20181031-153504

圖2  gsnap源碼

其中g(shù)snap.c為解析算法,感興趣的讀者可以打開研究,本文我們不做分析。我們直接打開跟編譯相關(guān)的Makefile文件,內(nèi)容如下。從下圖可知,該源碼依賴libpng、libjpeg、zlib、libmath四種庫。由于交叉編譯器的庫種包含有l(wèi)ibmath,因此我們需要準(zhǔn)備好另外三種庫備用。

QQ20181031-153628

圖3  gsnap的Makefile

解壓后得到的文件如圖4。(源碼包可從庫官網(wǎng)或論壇下載)

QQ20181031-153700

圖4  庫的源碼包解壓

3 . 交叉編譯

第一步,交叉編譯libjpeg。進(jìn)入到源碼目錄,執(zhí)行./configure --host=arm-linux --prefix=/home/vmuser/gsnap/jpeg_install/,然后執(zhí)行make、make install ,在安裝目錄/home/vmuser/gsnap/jpeg_install/得到交叉編譯過的庫。

QQ20181031-153733

圖5  交叉編譯libjpeg

第二步,交叉編譯zlib。由于zlib是libpng的依賴,因此必須首先編譯zlib。由于zlib中的configure并未提供--host參數(shù),因此需要為它手動指明交叉編譯器:export CC=arm-fsl-linux-gnueabi-gcc,然后執(zhí)行./configure --prefix=/home/vmuser/gsnap/z_install/,make、make install 。得到的文件類同第一步,不再放圖。

第三步,交叉編譯libpng。與上述兩步驟又不同,libpng中提供有Linux平臺下的Makefile例程,我們可以直接拿來修改使用。進(jìn)入到libpng的源碼目錄,執(zhí)行拷貝cp scripts/makefile.linux Makefile,然后打開Makefile修改,如圖6。修改的內(nèi)容為交叉編譯器名稱和依賴的zlib的路徑。最后make、makeinstall得到頭文件可庫文件。

QQ20181031-153804

圖6  修改libpng的Makefile

第四步,交叉編譯gsnap。為方便起見,我們將上述得到的庫文件和頭文件分別集中拷貝到自行建立的lib和includes目錄下,并且修改gsnap的Makefile。執(zhí)行make后就能得到可執(zhí)行文件gsnap。

QQ20181031-153839

圖7  修改gsnap的Makefile

4 . 驗證

將得到的gsnap可執(zhí)行文件拷貝到目標(biāo)板的/opt目錄下,執(zhí)行截屏命令:./gsnap  fb.jpg  /dev/fb0,將得到的截屏fb.jpg拷貝到ubuntu中可得圖8。

QQ20181031-153910

圖8  截屏得到的圖片

標(biāo)簽: 嵌入式 Linux

聲明:本內(nèi)容為作者獨立觀點,不代表電源網(wǎng)。本網(wǎng)站原創(chuàng)內(nèi)容,如需轉(zhuǎn)載,請注明出處;本網(wǎng)站轉(zhuǎn)載的內(nèi)容(文章、圖片、視頻)等資料版權(quán)歸原作者所有。如我們采用了您不宜公開的文章或圖片,未能及時和您確認(rèn),避免給雙方造成不必要的經(jīng)濟損失,請電郵聯(lián)系我們,以便迅速采取適當(dāng)處理措施;歡迎投稿,郵箱∶editor@netbroad.com。

相關(guān)閱讀

微信關(guān)注
技術(shù)專題 更多>>
技術(shù)專題之EMC
技術(shù)專題之PCB

頭條推薦

電子行業(yè)原創(chuàng)技術(shù)內(nèi)容推薦
客服熱線
服務(wù)時間:周一至周五9:00-18:00
微信關(guān)注
獲取一手干貨分享
免費技術(shù)研討會
editor@netbroad.com
400-003-2006
主站蜘蛛池模板: 狠狠操图片 | 91看大片 | 国产精品s房调教打屁股 | 麻豆一区二区三区视频 | 亚洲国产精品无码一线岛国 | 天天爽狠狠噜天天噜日日噜 | 中文字幕国内自拍 | 中文字幕在线中文字幕二区 | 日产日韩亚洲欧美综合 | 性饥渴少妇AV无码毛片 | 二三区日韩 | 欧美一级淫片免费午夜视频 | 美女自卫慰黄网站 | 18禁黄网站禁片无遮挡观看 | 欧美一区在线视频 | 久久热这里只有精品在线观看 | 玩弄人妻奶水无码av在线 | 亚洲色成人一区二区三区 | www.色姐姐 | 国产精品无码无卡在线观看久 | 91日韩精品视频 | 在线欧美鲁香蕉94色 | 欧美精欧美乱码一二三四区 | 中文字幕亚洲码在线观看 | 成人精品一区二区三区免费看 | 国产精品一区二区免费久久精品 | 欧美性xxxx视频 | 影音先锋男人站 | 国产精品无码午夜福利 | 久久婷婷精品视频 | 亚洲色在线无码国产精品不卡 | 国产精品国产三级国产午 | 日本精品中文 | 深夜免费观看视频 | 亚洲精品18 | 最近的2019中文字幕免费 | 扒开未发育的小泬视频 | 超碰97精品| 免费网站看V片在线18禁无码 | 亚洲精品一二三四五区 | 欧美大胆性生话 |