專(zhuān)利名稱(chēng):一種基于idf格式文件的頁(yè)面顯示方法
技術(shù)領(lǐng)域:
本發(fā)明涉及計(jì)算機(jī)應(yīng)用技術(shù)領(lǐng)域,特別涉及一種基于IDF格式文件的頁(yè)面顯示方法。
背景技術(shù):
隨著人們生活水平的日益提高,影視動(dòng)漫等娛樂(lè)方式越來(lái)越受到廣大消費(fèi)者的親 睞。隨著信息化時(shí)代的到來(lái),數(shù)字媒體應(yīng)運(yùn)而生,數(shù)字媒體作為以數(shù)字方式存在和傳播的媒 體,已經(jīng)被廣泛應(yīng)用于生活中的方方面面,廣播、電視、互聯(lián)網(wǎng)、手機(jī)、電腦、PDA。在這種形勢(shì) 下,傳媒產(chǎn)業(yè)的發(fā)展到了一個(gè)新的高點(diǎn),數(shù)字化時(shí)代,最關(guān)鍵的問(wèn)題在于如何在各種數(shù)字化 設(shè)備之間傳輸信息,如何實(shí)現(xiàn)兼容。
用于傳播和閱讀的信息,其形態(tài)包括文字、數(shù)值、語(yǔ)言、音樂(lè)、圖像、表格等,傳統(tǒng)的 文字處理過(guò)程包括寫(xiě)作、編輯、排版、印刷、發(fā)型五個(gè)步驟,而現(xiàn)代的多媒體設(shè)備的文本處 理過(guò)程包括文本準(zhǔn)備(文字與圖標(biāo)的輸入)一電子文本一文本編輯與排版(文本編輯器)一 格式化的電子文本一文本處理(文本處理軟件)一文本存儲(chǔ)于傳輸一文本展現(xiàn)(文本閱讀 器)。
傳統(tǒng)的文檔結(jié)構(gòu)都是以頁(yè)面〈page〉為單位進(jìn)行顯示和排版,如H)F、D0C等格式的 文檔結(jié)構(gòu),例如PDF文檔格式,這種文件格式在操作系統(tǒng)中通用,使得成為在Internet上進(jìn) 行電子文檔發(fā)行和數(shù)字化信息傳播的理想文檔格式。越來(lái)越多的電子圖書(shū)、產(chǎn)品說(shuō)明、公司 文告、網(wǎng)絡(luò)資料、電子郵件開(kāi)始使用PDF格式文件。PDF格式文件目前已成為數(shù)字化信息事 實(shí)上的一個(gè)工業(yè)標(biāo)準(zhǔn)。盡管PDF格式文件具有如此多的優(yōu)點(diǎn),但其在硬件平臺(tái)之間的使用 上,仍然具有一些不兼容性,在某些硬件平臺(tái)上,仍然不能夠使用。
目前行業(yè)內(nèi)尚沒(méi)有針對(duì)數(shù)字媒體文檔規(guī)范制定統(tǒng)一的標(biāo)準(zhǔn),以便于在整個(gè)數(shù)字媒 體領(lǐng)域通用。各大軟件廠商開(kāi)發(fā)的數(shù)字文檔格式僅限于對(duì)圖片、文字的處理(包括roF),沒(méi) 有注重?cái)?shù)字時(shí)代特有的功能,如可交互性、用戶體驗(yàn)等特點(diǎn)。
IDF :1nteractive Document Format,可交互式文檔格式,這是一種可以在各種硬 件平臺(tái)上兼容使用的文檔格式。但是對(duì)于搭載Android系統(tǒng)的硬件設(shè)備,由于這些硬件設(shè) 備的屏幕物理尺寸、分辨率各不相同,且種類(lèi)繁多,在搭載有Android系統(tǒng)的硬件上,IDF格 式的文件在展示時(shí),部分區(qū)域會(huì)出現(xiàn)變形,例如,圖片被拉長(zhǎng)導(dǎo)致無(wú)法顯示圖片原形,不能 很好的顯示文件中的內(nèi)容。發(fā)明內(nèi)容
為了克服上述現(xiàn)有技術(shù)存在的缺陷,本發(fā)明提供一種基于IDF格式文件的頁(yè)面顯 示方法,使得IDF格式的文件搭載在Android系統(tǒng)的硬件平臺(tái)上能正常顯示,避免變形。
為了實(shí)現(xiàn)上述目的,本發(fā)明的技術(shù)方案如下
一種基于IDF格式文件的頁(yè)面顯示方法,其特征在于,包括如下步驟
I)獲取IDF文件;
2)解析IDF文件中具體頁(yè)面數(shù)據(jù);
3)獲取設(shè)備屏幕數(shù)據(jù),根據(jù)屏幕數(shù)據(jù)計(jì)算屏幕參數(shù);
4)根據(jù)IDF文件中設(shè)置的顯示區(qū)域計(jì)算在本設(shè)備上的實(shí)際顯示參數(shù);
5)加載需要顯示的顯示區(qū)域。
作為優(yōu)選,本發(fā)明所述步驟2)的頁(yè)面數(shù)據(jù)包括像素高和像素寬。
作為優(yōu)選,本發(fā)明所述步驟3)屏幕數(shù)據(jù)包括屏幕像素高度、屏幕像素寬度和狀態(tài) 欄像素高度。
作為優(yōu)選,本發(fā)明所述步驟3)根據(jù)等比率縮放算法計(jì)算高寬最終比例、設(shè)備顯示 區(qū)域最終大小和高寬度全局偏移量。
作為優(yōu)選,本發(fā)明所述步驟4)根據(jù)等比率縮放算法計(jì)算顯示區(qū)域的實(shí)際顯示位 置、大小、與屏幕顯示區(qū)域的右邊距和下邊距。
本發(fā)明的有益效果是,可以根據(jù)不同物理尺寸,不同分辨率的屏幕按設(shè)計(jì)的比例 顯示文檔,支持目前所有不同尺寸和分辨率的搭載Android系統(tǒng)的硬件設(shè)備,提高用戶體 驗(yàn),實(shí)現(xiàn)更好的文件與硬件平臺(tái)系統(tǒng)的兼容。
圖1為本發(fā)明的框圖。
具體實(shí)施例方式
為了使本發(fā)明的創(chuàng)作特征、技術(shù)手段與達(dá)成目的易于明白理解,以下結(jié)合具體實(shí) 施例進(jìn)一步闡述本發(fā)明。
IDF文檔是一種可交互數(shù)字文檔格式,包括NXML語(yǔ)言定義的文檔標(biāo)簽,文檔標(biāo)簽 包括可視化區(qū)域標(biāo)簽、外部圖像標(biāo)簽、外部視頻標(biāo)簽、外部音頻標(biāo)簽、網(wǎng)頁(yè)標(biāo)簽、文本標(biāo)簽、 可交互序列圖標(biāo)簽、幻燈片標(biāo)簽、可交互靜態(tài)資源標(biāo)簽??梢暬瘏^(qū)域標(biāo)簽〈region〉,頁(yè)面中 具體文字、圖片等素材都是以區(qū)域〈region〉的形式顯示在頁(yè)面上;
外部圖像標(biāo)簽〈image〉,用于存儲(chǔ)磁盤(pán)上圖像地址及相關(guān)信息;
外部視頻標(biāo)簽〈video〉,用于存儲(chǔ)磁盤(pán)上視頻地址及相關(guān)信息;
外部音頻標(biāo)簽〈audio〉,用于存儲(chǔ)磁盤(pán)上音頻地址及相關(guān)信息;
網(wǎng)頁(yè)標(biāo)簽〈embeded〉,用于存儲(chǔ)磁盤(pán)或者互聯(lián)網(wǎng)上的網(wǎng)頁(yè)地址及相關(guān)信息;
文本標(biāo)簽〈text〉,用于存儲(chǔ)文本的內(nèi)容及相關(guān)信息;
可交互序列圖標(biāo)簽〈GSF〉,用于將一組圖片按順序進(jìn)行播放,并對(duì)播放順序可進(jìn)行 手動(dòng)控制;
幻燈片標(biāo)簽〈Gallery〉,定義一些在可視化區(qū)域〈region〉顯示的圖片幻燈片的樣 式及參數(shù);
可交互靜態(tài)資源標(biāo)簽〈ISR〉,定義一些靜態(tài)圖片、視頻等文件,使其具有一定的交 互特性,如可將圖片設(shè)成可抹擦狀態(tài)。
IDF的數(shù)據(jù)格式為采用NXML語(yǔ)言標(biāo)簽制作的XML格式。
IDF文檔結(jié)構(gòu)為文檔根節(jié)點(diǎn)、一級(jí)子節(jié)點(diǎn)、二級(jí)子節(jié)點(diǎn)和三級(jí)子節(jié)點(diǎn)組成的樹(shù)形結(jié) 構(gòu),其中,一級(jí)子節(jié)點(diǎn)為節(jié),二級(jí)子節(jié)點(diǎn)為頁(yè)面,三級(jí)子節(jié)點(diǎn)為文檔元素列表。所述節(jié)包括若干個(gè)頁(yè)面和元素索引表,為了保證文檔格式中的元素可以達(dá)到最大程度的復(fù)用,以及避免資源的重復(fù)生成,IDF采用值對(duì)索引的方式來(lái)關(guān)聯(lián)元素。如單個(gè)元素索引如下
〈key value=//page/l//location=//xml/pages/l. xml^/)
其中,value代表此元素的類(lèi)型及ID編號(hào),也是其它元素訪問(wèn)此元素的依據(jù);
Location為此元素的內(nèi)容及屬性具體存放地址。
文檔元素列表包括的元素為顯示區(qū)域、動(dòng)作、外部素材,根據(jù)文檔元素列表中的元素查找元素索引列表中的元素。
動(dòng)作包括顯示事件標(biāo)簽、隱藏事件標(biāo)簽、移動(dòng)事件標(biāo)簽、鏈接事件標(biāo)簽和播放事件標(biāo)簽。其中
顯示事件標(biāo)簽〈show〉,用于顯示若干個(gè)可視化區(qū)域〈region〉
隱藏事件標(biāo)簽〈hide〉,用于隱藏若干個(gè)可視化區(qū)域〈region〉
移動(dòng)事件標(biāo)簽〈move〉,用于移動(dòng)若干個(gè)可視化區(qū)域〈region〉
鏈接事件標(biāo)簽〈link〉,用于鏈接外部網(wǎng)頁(yè)、應(yīng)用程序、郵件等;
播放事件標(biāo)簽<play>,用于播放若干個(gè)資源〈resource〉;
外部素材包括圖片、視頻、音頻、網(wǎng)頁(yè)。
一種基于IDF格式文件的頁(yè)面顯示方法,其特征在于,包括如下步驟
步驟I):獲取IDF文件;
解析IDF文件中具體頁(yè)面數(shù)據(jù),根據(jù)IDF格式獲取具體某一個(gè)頁(yè)面設(shè)定的像素高 (PageHeight)和像素寬(PageWidth);
獲取設(shè)備屏幕數(shù)據(jù),屏幕數(shù)據(jù)包括屏幕像素高度、屏幕像素寬度和狀態(tài)欄像素高度,取得這些數(shù)據(jù)的最終目的是讓IDF文件按一定的比例顯示在屏幕中間。根據(jù)屏幕數(shù)據(jù)計(jì)算相關(guān)需要的值,獲取設(shè)備屏幕分辨率,如屏幕像素高度(ScreenHeight)、屏幕像素寬度 (Screenffidth),獲取設(shè)備狀態(tài)欄像素高度(StatusBarHeight),如果全屏顯示,則該設(shè)備狀態(tài)欄像素高度值為O ;根據(jù)等比率縮放算法計(jì)算高寬最終比例、設(shè)備顯示區(qū)域最終大小和高寬度全局偏移量。根據(jù)等比率縮放算法計(jì)算顯示區(qū)域的實(shí)際顯示位置、大小、與屏幕顯示區(qū)域的右邊距和下邊距。
根據(jù)IDF文件中設(shè)置的顯示區(qū)域計(jì)算在本設(shè)備上的實(shí)際顯示大?。?br>
顯示區(qū)域?qū)?屏幕像素寬。
需要在新的屏幕顯示的像素高度
顯示區(qū)域高=屏幕像素高-狀態(tài)欄像素高。
newScreenHe Ight=ScreenHeight-StatusBarHeight,
用新的設(shè)備屏幕高度除以頁(yè)面設(shè)定的像素高得到高度的比例
HeightScal ing=newScreenHeight/PageHeight,
用設(shè)備屏幕寬度除以頁(yè)面設(shè)定的像素寬得到寬度的比例
WidthScaling=Screenffidth/Pageffidth,
最終比列高寬比中的較小值。比較高度的比例和寬度的比例,選其中較小的一個(gè)為最終全局比例(Scaling),如果高度的比例較小,則設(shè)置高度方面的偏移量為O (height0ffset=0),寬度方面的偏移量為屏幕像素寬度減去頁(yè)面像素寬乘以最終全局比例的二分之一 (widthOffset= (ScreenWidth-(PageWidth*Scaling))/2);
反之如果寬度方面的比例較小,則設(shè)置寬度方面的偏移量為O (width0ffset=0), 高度方面的偏移量為新的設(shè)備屏幕像素高度減去頁(yè)面像素高乘以最終全局比例的二分之一高度偏移量=(顯示區(qū)域高_(dá)(頁(yè)面像素高*最終比例))/2,即
CheightOffset=(newScreenHeight-(PageHeight^Scaling))/2)。
步驟2):
步驟2.1 :加載需要顯示的顯示區(qū)域。根據(jù)IDF文檔格式規(guī)則獲取頁(yè)面中具體某一個(gè)顯示區(qū)域(Region)的具體位置(x, y)和大小(RegionWidth, RegionHeight)。
步驟2.2 :顯示區(qū)域(Region)的位置(x,y)分別乘以步驟I)中計(jì)算獲得的最終全局比例(Scaling),再分別加上寬度和高度方面的偏移量(widthOffset, heightOffset)得到新的位置
(newX=(int) (x*scaling)+widthOffset,
newY= (int)(y*scaling)+heightOffset)。
步驟2. 3 :顯示區(qū)域(Region)的大小(RegionWidth, RegionHeight)分別乘以步驟 O中計(jì)算獲得的最終全局比例(Scaling)得到新的高寬
最終顯不區(qū)域聞度=顯不區(qū)域聞-聞度偏移量*2 ;
最終顯示區(qū)域?qū)挾?顯示區(qū)域?qū)?寬度偏才移量*2 ;
(new Regionffidth=Regionffidth^scaling,
newRegionHeight=RegionHeight*scaling)。
Region的實(shí)際顯示位置
X坐標(biāo)原始X坐標(biāo)*最終比列+寬度偏移量;
Y坐標(biāo)原始Y坐標(biāo)*最終比例+高度偏移量;
Region的實(shí)際顯示大小
聞原始聞度*最終比列;
寬原始寬度*最終比例;
右邊距最終顯不區(qū)域?qū)挾萠 (Region實(shí)際寬度+Region實(shí)際X坐標(biāo));
下邊距最終顯示區(qū)域高度-(Region實(shí)際高度+Region實(shí)際Y坐標(biāo));
步驟2. 4 :根據(jù)步驟I)中計(jì)算獲得屏幕像素高、寬分別減去步驟I)中計(jì)算獲得的高度偏移量和寬度偏移量的兩倍得到新的屏幕像素高寬
(newScreenWidth=ScreenWidth-Width0ffset*2,
newScreenHeight=newScreenHeight-Height0ffset*2)。
步驟2. 5 :根 據(jù)步驟2. 4計(jì)算得到的屏幕像素高減去Region的y坐標(biāo)和高度之和得到該Region距離屏幕底部的距離
(RegionBottom=newScreenHeight- (newRegionHeight+newY));
根據(jù)步驟2. 4計(jì)算得到的屏幕像素寬減去Region的x坐標(biāo)和寬度度之和得到該 Region距離屏幕右邊緣的距離
(RegionRight=newScreenffidth- (newRegionWidth+newX))。
步驟2· 6 :利用 Android 系統(tǒng)的 RelativeLayout. LayoutParams 類(lèi)的對(duì)象的 setMargins O方法設(shè)置該Region在屏幕上的位置。
以上顯示和描述了本發(fā)明的基本原理、主要特征和本發(fā)明的優(yōu)點(diǎn)。本行業(yè)的技術(shù)人員應(yīng)該了解,本發(fā)明不受上述實(shí)施例的限制,上述實(shí)施例和說(shuō)明書(shū)中描述的只是說(shuō)明本發(fā)明的原理,在不脫離本發(fā)明精神和范圍的前提下本發(fā)明還會(huì)有各種變化和改進(jìn) ,這些變化和改進(jìn)都落入要求保護(hù)的本發(fā)明范圍內(nèi)。本發(fā)明要求保護(hù)范圍由所附的權(quán)利要求書(shū)及其等同物界定。
權(quán)利要求
1.一種基于IDF格式文件的頁(yè)面顯示方法,其特征在于,包括如下步驟1)獲取IDF文件;2)解析IDF文件中具體頁(yè)面數(shù)據(jù);3)獲取設(shè)備屏幕數(shù)據(jù),根據(jù)屏幕數(shù)據(jù)計(jì)算屏幕參數(shù);4)根據(jù)IDF文件中設(shè)置的顯示區(qū)域計(jì)算在本設(shè)備上的實(shí)際顯示參數(shù);5)加載需要顯示的顯示區(qū)域。
2.根據(jù)權(quán)利要求1所述的一種基于IDF格式文件的頁(yè)面顯示方法,其特征在于,所述步驟2)的頁(yè)面數(shù)據(jù)包括像素高和像素寬。
3.根據(jù)權(quán)利要求1所述的一種基于IDF格式文件的頁(yè)面顯示方法,其特征在于,所述步驟3)屏幕數(shù)據(jù)包括屏幕像素高度、屏幕像素寬度和狀態(tài)欄像素高度。
4.根據(jù)權(quán)利要求1或3所述的一種基于IDF格式文件的頁(yè)面顯示方法,其特征在于,所述步驟3)根據(jù)等比率縮放算法計(jì)算高寬最終比例、設(shè)備顯示區(qū)域最終大小和高寬度全局偏移量。
5.根據(jù)權(quán)利要求1所述的一種基于IDF格式文件的頁(yè)面顯示方法,其特征在于,所述步驟4)根據(jù)等比率縮放算法計(jì)算顯示區(qū)域的實(shí)際顯示位置、大小、與屏幕顯示區(qū)域的右邊距和下邊距。
全文摘要
本發(fā)明公開(kāi)了一種基于IDF格式文件的頁(yè)面顯示方法,包括如下步驟獲取IDF文件;解析IDF文件中具體頁(yè)面數(shù)據(jù);獲取設(shè)備屏幕數(shù)據(jù),根據(jù)屏幕數(shù)據(jù)計(jì)算屏幕參數(shù);根據(jù)IDF文件中設(shè)置的顯示區(qū)域計(jì)算在本設(shè)備上的實(shí)際顯示參數(shù);加載需要顯示的顯示區(qū)域。本發(fā)明可以根據(jù)不同物理尺寸,不同分辨率的屏幕按設(shè)計(jì)的比例顯示文檔,支持目前所有不同尺寸和分辨率的搭載Android系統(tǒng)的硬件設(shè)備,提高用戶體驗(yàn),實(shí)現(xiàn)更好的文件與硬件平臺(tái)系統(tǒng)的兼容。
文檔編號(hào)G06F17/21GK103049430SQ20121058191
公開(kāi)日2013年4月17日 申請(qǐng)日期2012年12月27日 優(yōu)先權(quán)日2012年12月27日
發(fā)明者梁超, 沈旦 申請(qǐng)人:南京新與力文化傳播有限公司