亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于PC機(jī)的多屏幕繪制系統(tǒng)——屏幕分割模塊

        2012-12-31 00:00:00張成磊

        摘要:隨著可視化技術(shù)在教學(xué)、商業(yè)、娛樂中的廣泛應(yīng)用,市場對于大屏幕高清晰的需求日益增強(qiáng),但是由于單個顯示屏幕的分辨率是有限的,而且隨著分辨率的提高,系統(tǒng)成本呈指數(shù)級上升。因此,通過整合多個顯示屏幕實(shí)現(xiàn)多投影顯示系統(tǒng)(即多屏幕繪制系統(tǒng))已成為構(gòu)造低成本、高亮度、高分辨率顯示系統(tǒng)的最佳方案之一。多屏幕繪制系統(tǒng),由多臺投影儀通過疊合拼接而成的,能夠輸出高亮度、高分辨率圖像的大規(guī)模顯示設(shè)備。與單臺同樣性能的顯示設(shè)備相比,多屏幕繪制系統(tǒng)具有成本低和易擴(kuò)展等優(yōu)勢。

        關(guān)鍵詞:多屏幕;屏幕分割;圖形變換;GDI;BMP

        中圖分類號:TG659 文獻(xiàn)標(biāo)識碼:A 文章編號:1007-9599 (2012) 09-0000-02

        隨著虛擬現(xiàn)實(shí)技術(shù)在商業(yè)、娛樂和科學(xué)計算可視化等領(lǐng)域中日益廣泛的應(yīng)用和推廣,市場對投影和顯示系統(tǒng)的分辨率和亮度都提出了更高的要求。然而,單個顯示屏幕的分辨率是有限的,而且隨著分辨率的提高,系統(tǒng)成本呈指數(shù)級上升。因此,通過整合多個顯示屏幕實(shí)現(xiàn)多投影顯示系統(tǒng)(即多屏幕繪制系統(tǒng))已成為構(gòu)造低成本、高亮度、高分辨率顯示系統(tǒng)的最佳方案之一。傳統(tǒng)的多投影顯示系統(tǒng)大多是通過將多個CRT或者LCD顯示屏進(jìn)行硬件疊合來構(gòu)建,難以實(shí)現(xiàn)無縫的拼接,而且不易維護(hù)和擴(kuò)。

        多屏幕繪制系統(tǒng)是通過網(wǎng)絡(luò)互連的多臺普通PC,連接多個擁有獨(dú)立投影設(shè)備屏幕組合成一個巨型屏幕,投影到非平面的異形幕(如環(huán)幕、球幕)上,并通過軟件的處理,將屏幕內(nèi)容無縫地拼接在一起,并且實(shí)現(xiàn)整體畫面的實(shí)時同步播放。

        一、開發(fā)工具及GDI

        開發(fā)工具VC++是微軟公司開發(fā)的一個IDE(集成開發(fā)環(huán)境),VC++是Windows平臺上的C++編程環(huán)境,Windows下編程需要了解Windows的消息機(jī)制以及回調(diào)(callback)函數(shù)的原理;MFC是Win32API的包裝類,需要理解文檔視圖類的結(jié)構(gòu),窗口類的結(jié)構(gòu),消息流向等等;COM是代碼共享的二進(jìn)制標(biāo)準(zhǔn),需要掌握其基本原理等等。

        圖形設(shè)備接口GDI 是Windows XP中的一個子系統(tǒng),它主要負(fù)責(zé)在顯示屏幕和打印設(shè)備輸出有關(guān)信息,它是一組通過C 類實(shí)現(xiàn)的應(yīng)用程序編程接口。要實(shí)現(xiàn)屏幕抓圖,關(guān)鍵有兩點(diǎn):一是獲取圖片所在窗口的窗口句柄,即在何處捕獲圖片;二是保存抓取的圖片。很顯然,實(shí)現(xiàn)第二點(diǎn)正是GDI+的強(qiáng)項。對于問題一,可以利用SetCapture () 函數(shù),它能夠追蹤鼠標(biāo)指針的移動(包括在屏幕抓圖程序窗口之外的窗口)。在移動鼠標(biāo)的過程中,它還可以根據(jù)鼠標(biāo)的指針?biāo)谖恢脕砼袛喈?dāng)前窗口的窗口句柄。我們還可以使用函數(shù)WindowFrom-Point (),這個函數(shù)能夠找出鼠標(biāo)指針當(dāng)前位置所對應(yīng)的窗口句柄。使用過知名的抓圖軟件SnagIT的讀者都知道,在選擇抓圖窗口時,鼠標(biāo)指針?biāo)谖恢玫拇翱诙紩霈F(xiàn)加粗的紅色邊框,以提醒目前所選擇的窗口,這個功能實(shí)現(xiàn)起來有些復(fù)雜。

        二、BMP圖像文件

        (一)BMP文件的讀寫

        BMP文件分為4個組成部分,那么BMP文件的讀入也要按照4個組成部分依次進(jìn)行處理,即先處理BITMAPFILEHEADER結(jié)構(gòu),然后是BITMAPINFOHEADER結(jié)構(gòu)、顏色表,最后是位圖數(shù)據(jù)。

        首先,有關(guān)BITMAPFILEHEADER、BITMAPINFOHEADER、RGBQUAD等結(jié)構(gòu)的定義包含在頭文件“Windows.h”中,應(yīng)把其包含進(jìn)來。

        其次,為了后面對圖像進(jìn)行修改及存盤方便,我們定義了幾個全局變量,用來存放讀入圖像的位圖數(shù)據(jù)、寬、高、顏色表及每像素位數(shù)等信息。

        (二)BMP圖像位圖數(shù)據(jù)的訪問

        假設(shè)內(nèi)存中位圖數(shù)據(jù)的指針為pBmpBuf,一行像素所占的字節(jié)數(shù)為lineByte(4的倍數(shù))那么,對于灰度圖像,第i行第j列的像素指針(所在的存儲空間位置)為pBmpBuf+i*lineByte+j,*(pBmpBuf+i*lineByte+j)是該像素的灰度值,如果想讓該像素變成指定顏色,只需要給*(pBmpBuf+i*lineByte+j)賦指定的值即可;對于彩色圖像,每像素占3個字節(jié),那么pBmpBuf+i*lineByte+j*3+0、pBmpBuf+i*lineByte+j*3+1、pBmpBuf+i*lineByte+j*3+2分別代表了第i行第j列像素B、G、R三個分量的指針,若想給該點(diǎn)指定一種顏色,則需要給三個分量分別賦值。

        (三)設(shè)備無關(guān)位圖(DIB)

        我們介紹了BMP文件結(jié)構(gòu),實(shí)際上,BMP文件可以分為DIB格式和DDB格式。DDB格式(Device-Dependent Bitmanp)是與設(shè)備有關(guān)的BMP文件格式,用來存儲與某個顯示設(shè)備或打印設(shè)備內(nèi)存兼容的不壓縮圖像,因其依賴于硬件設(shè)備,因此不常用。DIB格式(Device-Independent Bitmanp)是與設(shè)備無關(guān)的BMP文件格式,也就是我們前面介紹的BMP文件格式,它自帶顏色信息,顏色表管理非常容易,具有很強(qiáng)的通用性。

        調(diào)入內(nèi)存中的DIB位圖是脫離文件而存在的,其結(jié)構(gòu)可以分為三部分,內(nèi)存中的DIB實(shí)際上是BMP文件結(jié)構(gòu)去掉位圖文件頭結(jié)構(gòu)后剩下的三部分,而這三部分結(jié)構(gòu)包含了位圖顯示和處理所需要的所有信息。

        三、圖像變換

        (一)圖像的縮小、放大

        本系統(tǒng)的圖像放大縮小做的比較簡單。先是調(diào)用MultiByteToWideChar函數(shù)轉(zhuǎn)換字符串然后判斷是用戶選擇縮小/放大,只需修改原圖的目標(biāo)的寬度和高度。

        (二)圖像的旋轉(zhuǎn)

        當(dāng)需要旋轉(zhuǎn)位圖時必須為DIB資源作拷貝(因為資源是只讀的),然后才能操作位圖數(shù)據(jù),當(dāng)需要操作的是8位位圖(256色)時,可以逐行來處理位圖,每次拷貝一個字節(jié)。有幾個非常重要的技巧需要注意:

        ?DIB的每個掃描行都必須填補(bǔ)到32位的DWORD邊界。通過檢查信息頭中的元素 biWidth,來確定每行像素的總數(shù)是否是32的倍數(shù),如果不是,那么在計算資源位圖和目的位圖的字節(jié)偏移量時,需要考慮到填補(bǔ)的位數(shù)。當(dāng)旋轉(zhuǎn)位圖90或270度時,位圖的高度成為寬度,反之亦然。盡管為位圖分配的內(nèi)存不需要改變,但需要計算填補(bǔ)數(shù),以填補(bǔ)高度到DWORD邊界。填補(bǔ)高度是因為在新位圖中高度成為寬度,設(shè)備無關(guān)位圖存儲圖象從左到右,從下到上,因此存儲的位圖實(shí)際上是顯示的圖像的倒置,在編寫直接操作位圖的算法時便需要考慮到這一點(diǎn)。位圖數(shù)據(jù)順時針旋轉(zhuǎn)90實(shí)際上是位圖逆時針旋轉(zhuǎn)90,或者說位圖順時針旋轉(zhuǎn)270。

        四、屏幕分割模塊的程序?qū)崿F(xiàn)及結(jié)果

        總體設(shè)計

        本文研究的是如何讀取服務(wù)器屏幕分辨率然后根據(jù)所需分割子塊數(shù),按照子塊數(shù)目讀取相應(yīng)的屏幕的像素坐標(biāo)。對于當(dāng)前已經(jīng)分割后的圖像進(jìn)行形變,即縮小、放大、旋轉(zhuǎn)后的圖像顯示在屏幕上。本文研究的系統(tǒng)分為兩個子塊:

        1.局域網(wǎng)屏幕監(jiān)控:用來獲取服務(wù)器屏幕顯示的信息再發(fā)送到屏幕分割進(jìn)行圖像處理。

        2.屏幕分割顯示:接受到局域網(wǎng)屏幕監(jiān)控所發(fā)送的屏幕數(shù)據(jù)信息,然后對其進(jìn)行圖像的分割,變形。

        (一)局域網(wǎng)屏幕監(jiān)控

        先是在服務(wù)器上啟動局域網(wǎng)屏幕監(jiān)控,來獲取當(dāng)前服務(wù)器屏幕所顯示的內(nèi)容。 VC中屏幕分分割的有很多種方法:1.用GID函數(shù)。2.用DIRECT方式。3.用windows media API 本文采用的是GID方法。具體的實(shí)現(xiàn)步驟為:

        1.通過GetSystemMetrics獲取當(dāng)前屏幕的分辨率。

        2.通過GetDesktopWindow()函數(shù)得到桌面的窗口句柄

        3.用GetDC()取得桌面窗口的DC

        4.創(chuàng)建和屏幕DC兼容的位圖和DC(CreateCompatibleBitmap ()和CreateCompatibleDC()),并把這個位圖選進(jìn)該DC(SelectObject())

        (二)屏幕分割顯示

        本系統(tǒng)屏幕分割顯示模塊主要實(shí)現(xiàn)功能如下:

        1.實(shí)現(xiàn)2*2/2*3的屏幕切割。

        2.顯示其中某一切割后的圖像。

        3.根據(jù)所選中的圖片選擇圖像變換的方式(縮小、放大、旋轉(zhuǎn)度數(shù))。

        五、總結(jié)

        在教學(xué)、商業(yè)、娛樂可視化等領(lǐng)域中對于高分辨率,高清晰顯示的要求越來越高,而多屏幕繪制系統(tǒng)正好符合了市場需求。他可以彌補(bǔ)投影機(jī)等破播放設(shè)備硬件上的不足。達(dá)到了高清晰,低成本的目標(biāo)。

        本系統(tǒng)只是多屏幕繪制系統(tǒng)其中的一個模塊,其他模塊還包括時鐘同步,通訊兩個模塊。由于是單獨(dú)的一個子塊,他不能很好的體現(xiàn)出多屏幕繪制系統(tǒng)的整體運(yùn)行功能。待3個模塊整合后,我相信多屏幕繪制系統(tǒng)將會是非常有市場價值的系統(tǒng)。

        參考文獻(xiàn):

        [1]王修暉,華煒等.面向多投影顯示墻的畫面校正技術(shù)研究,軟件學(xué)報,2007,18(11)

        [2]張志強(qiáng).Windows 編程技術(shù)[M].北京:機(jī)械工業(yè)出版社

        [3]宋坤,劉銳寧.Visal C++程序設(shè)計自學(xué)手冊,明日科技,2008,2

        [4]侯俊杰.深入淺出MFC[M].北京:華中科技大學(xué)出版社,2001

        [5]朱先忠.GDI+與GDI在屏幕抓圖中的應(yīng)用,電腦編程技巧與維護(hù),2008

        [6]王社偉,朱如鵬,windows操作系統(tǒng)中的GDI坐標(biāo)系統(tǒng),計算機(jī)與現(xiàn)代化,2003

        [7]蔣春勇.Windows圖形編程中的坐標(biāo)系與GDI映射方式,電腦知識與技術(shù),2006

        [作者簡介]

        張成磊(1983-),男,江蘇泗陽人,柳州醫(yī)學(xué)高等??茖W(xué)校計算機(jī)初級講師,學(xué)士學(xué)位,研究方向:計算機(jī)教學(xué)

        波多野结衣av手机在线观看| 日本精品一区二区三区试看 | 无码国产精品一区二区免费97| 精品国产高清a毛片| 日本在线一区二区在线| 在线日本看片免费人成视久网| 永久黄网站色视频免费看| 成 人 网 站 免 费 av| 久久这里有精品国产电影网| 人妻露脸国语对白字幕| 99国产精品久久久久久久成人热| 亚洲精品aa片在线观看国产| 成人无码区免费AⅤ片WWW| 三个黑人插一个女的视频| 另类人妖在线观看一区二区| 久久精品国产亚洲av高清三区| 精品久久人妻av中文字幕| 免费无码肉片在线观看| 亚洲av伊人久久综合性色| 国产免费二区三区视频| 亚洲av午夜国产精品无码中文字| 国产成人久久精品区一区二区 | 免费一区啪啪视频| 国产三级一区二区三区在线观看| 狠狠色噜噜狠狠狠8888米奇| 一区二区传媒有限公司| 少妇熟女淫荡丰满| 日本超级老熟女影音播放| 中文字幕丰满乱子无码视频| 国产成人户外露出视频在线| 国产精品天堂在线观看| 十四以下岁毛片带血a级| 乱码一二三入区口| av毛片一区二区少妇颜射| 国产精品视频自拍在线| 明星性猛交ⅹxxx乱大交| 91精品国产91热久久p| 日韩精品中文字幕一区二区| 色综合久久88色综合天天| 久久精品—区二区三区无码伊人色 | 免费在线视频亚洲色图|