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