一种基于idf格式文件的页面显示方法

文档序号:6385817阅读:332来源:国知局
专利名称:一种基于idf格式文件的页面显示方法
技术领域
本发明涉及计算机应用技术领域,特别涉及一种基于IDF格式文件的页面显示方法。
背景技术
随着人们生活水平的日益提高,影视动漫等娱乐方式越来越受到广大消费者的亲 睐。随着信息化时代的到来,数字媒体应运而生,数字媒体作为以数字方式存在和传播的媒 体,已经被广泛应用于生活中的方方面面,广播、电视、互联网、手机、电脑、PDA。在这种形势 下,传媒产业的发展到了一个新的高点,数字化时代,最关键的问题在于如何在各种数字化 设备之间传输信息,如何实现兼容。
用于传播和阅读的信息,其形态包括文字、数值、语言、音乐、图像、表格等,传统的 文字处理过程包括写作、编辑、排版、印刷、发型五个步骤,而现代的多媒体设备的文本处 理过程包括文本准备(文字与图标的输入)一电子文本一文本编辑与排版(文本编辑器)一 格式化的电子文本一文本处理(文本处理软件)一文本存储于传输一文本展现(文本阅读 器)。
传统的文档结构都是以页面〈page〉为单位进行显示和排版,如H)F、D0C等格式的 文档结构,例如PDF文档格式,这种文件格式在操作系统中通用,使得成为在Internet上进 行电子文档发行和数字化信息传播的理想文档格式。越来越多的电子图书、产品说明、公司 文告、网络资料、电子邮件开始使用PDF格式文件。PDF格式文件目前已成为数字化信息事 实上的一个工业标准。尽管PDF格式文件具有如此多的优点,但其在硬件平台之间的使用 上,仍然具有一些不兼容性,在某些硬件平台上,仍然不能够使用。
目前行业内尚没有针对数字媒体文档规范制定统一的标准,以便于在整个数字媒 体领域通用。各大软件厂商开发的数字文档格式仅限于对图片、文字的处理(包括roF),没 有注重数字时代特有的功能,如可交互性、用户体验等特点。
IDF :1nteractive Document Format,可交互式文档格式,这是一种可以在各种硬 件平台上兼容使用的文档格式。但是对于搭载Android系统的硬件设备,由于这些硬件设 备的屏幕物理尺寸、分辨率各不相同,且种类繁多,在搭载有Android系统的硬件上,IDF格 式的文件在展示时,部分区域会出现变形,例如,图片被拉长导致无法显示图片原形,不能 很好的显示文件中的内容。发明内容
为了克服上述现有技术存在的缺陷,本发明提供一种基于IDF格式文件的页面显 示方法,使得IDF格式的文件搭载在Android系统的硬件平台上能正常显示,避免变形。
为了实现上述目的,本发明的技术方案如下
一种基于IDF格式文件的页面显示方法,其特征在于,包括如下步骤
I)获取IDF文件;
2)解析IDF文件中具体页面数据;
3)获取设备屏幕数据,根据屏幕数据计算屏幕参数;
4)根据IDF文件中设置的显示区域计算在本设备上的实际显示参数;
5)加载需要显示的显示区域。
作为优选,本发明所述步骤2)的页面数据包括像素高和像素宽。
作为优选,本发明所述步骤3)屏幕数据包括屏幕像素高度、屏幕像素宽度和状态 栏像素高度。
作为优选,本发明所述步骤3)根据等比率缩放算法计算高宽最终比例、设备显示 区域最终大小和高宽度全局偏移量。
作为优选,本发明所述步骤4)根据等比率缩放算法计算显示区域的实际显示位 置、大小、与屏幕显示区域的右边距和下边距。
本发明的有益效果是,可以根据不同物理尺寸,不同分辨率的屏幕按设计的比例 显示文档,支持目前所有不同尺寸和分辨率的搭载Android系统的硬件设备,提高用户体 验,实现更好的文件与硬件平台系统的兼容。


图1为本发明的框图。
具体实施例方式
为了使本发明的创作特征、技术手段与达成目的易于明白理解,以下结合具体实 施例进一步阐述本发明。
IDF文档是一种可交互数字文档格式,包括NXML语言定义的文档标签,文档标签 包括可视化区域标签、外部图像标签、外部视频标签、外部音频标签、网页标签、文本标签、 可交互序列图标签、幻灯片标签、可交互静态资源标签。可视化区域标签〈region〉,页面中 具体文字、图片等素材都是以区域〈region〉的形式显示在页面上;
外部图像标签〈image〉,用于存储磁盘上图像地址及相关信息;
外部视频标签〈video〉,用于存储磁盘上视频地址及相关信息;
外部音频标签〈audio〉,用于存储磁盘上音频地址及相关信息;
网页标签〈embeded〉,用于存储磁盘或者互联网上的网页地址及相关信息;
文本标签〈text〉,用于存储文本的内容及相关信息;
可交互序列图标签〈GSF〉,用于将一组图片按顺序进行播放,并对播放顺序可进行 手动控制;
幻灯片标签〈Gallery〉,定义一些在可视化区域〈region〉显示的图片幻灯片的样 式及参数;
可交互静态资源标签〈ISR〉,定义一些静态图片、视频等文件,使其具有一定的交 互特性,如可将图片设成可抹擦状态。
IDF的数据格式为采用NXML语言标签制作的XML格式。
IDF文档结构为文档根节点、一级子节点、二级子节点和三级子节点组成的树形结 构,其中,一级子节点为节,二级子节点为页面,三级子节点为文档元素列表。所述节包括若干个页面和元素索引表,为了保证文档格式中的元素可以达到最大程度的复用,以及避免资源的重复生成,IDF采用值对索引的方式来关联元素。如单个元素索引如下
〈key value=//page/l//location=//xml/pages/l. xml^/)
其中,value代表此元素的类型及ID编号,也是其它元素访问此元素的依据;
Location为此元素的内容及属性具体存放地址。
文档元素列表包括的元素为显示区域、动作、外部素材,根据文档元素列表中的元素查找元素索引列表中的元素。
动作包括显示事件标签、隐藏事件标签、移动事件标签、链接事件标签和播放事件标签。其中
显示事件标签〈show〉,用于显示若干个可视化区域〈region〉
隐藏事件标签〈hide〉,用于隐藏若干个可视化区域〈region〉
移动事件标签〈move〉,用于移动若干个可视化区域〈region〉
链接事件标签〈link〉,用于链接外部网页、应用程序、邮件等;
播放事件标签<play>,用于播放若干个资源〈resource〉;
外部素材包括图片、视频、音频、网页。
一种基于IDF格式文件的页面显示方法,其特征在于,包括如下步骤
步骤I):获取IDF文件;
解析IDF文件中具体页面数据,根据IDF格式获取具体某一个页面设定的像素高 (PageHeight)和像素宽(PageWidth);
获取设备屏幕数据,屏幕数据包括屏幕像素高度、屏幕像素宽度和状态栏像素高度,取得这些数据的最终目的是让IDF文件按一定的比例显示在屏幕中间。根据屏幕数据计算相关需要的值,获取设备屏幕分辨率,如屏幕像素高度(ScreenHeight)、屏幕像素宽度 (Screenffidth),获取设备状态栏像素高度(StatusBarHeight),如果全屏显示,则该设备状态栏像素高度值为O ;根据等比率缩放算法计算高宽最终比例、设备显示区域最终大小和高宽度全局偏移量。根据等比率缩放算法计算显示区域的实际显示位置、大小、与屏幕显示区域的右边距和下边距。
根据IDF文件中设置的显示区域计算在本设备上的实际显示大小;
显示区域宽=屏幕像素宽。
需要在新的屏幕显示的像素高度
显示区域高=屏幕像素高-状态栏像素高。
newScreenHe Ight=ScreenHeight-StatusBarHeight,
用新的设备屏幕高度除以页面设定的像素高得到高度的比例
HeightScal ing=newScreenHeight/PageHeight,
用设备屏幕宽度除以页面设定的像素宽得到宽度的比例
WidthScaling=Screenffidth/Pageffidth,
最终比列高宽比中的较小值。比较高度的比例和宽度的比例,选其中较小的一个为最终全局比例(Scaling),如果高度的比例较小,则设置高度方面的偏移量为O (height0ffset=0),宽度方面的偏移量为屏幕像素宽度减去页面像素宽乘以最终全局比例的二分之一 (widthOffset= (ScreenWidth-(PageWidth*Scaling))/2);
反之如果宽度方面的比例较小,则设置宽度方面的偏移量为O (width0ffset=0), 高度方面的偏移量为新的设备屏幕像素高度减去页面像素高乘以最终全局比例的二分之一高度偏移量=(显示区域高_(页面像素高*最终比例))/2,即
CheightOffset=(newScreenHeight-(PageHeight^Scaling))/2)。
步骤2):
步骤2.1 :加载需要显示的显示区域。根据IDF文档格式规则获取页面中具体某一个显示区域(Region)的具体位置(x, y)和大小(RegionWidth, RegionHeight)。
步骤2.2 :显示区域(Region)的位置(x,y)分别乘以步骤I)中计算获得的最终全局比例(Scaling),再分别加上宽度和高度方面的偏移量(widthOffset, heightOffset)得到新的位置
(newX=(int) (x*scaling)+widthOffset,
newY= (int)(y*scaling)+heightOffset)。
步骤2. 3 :显示区域(Region)的大小(RegionWidth, RegionHeight)分别乘以步骤 O中计算获得的最终全局比例(Scaling)得到新的高宽
最终显不区域闻度=显不区域闻-闻度偏移量*2 ;
最终显示区域宽度=显示区域宽-宽度偏才移量*2 ;
(new Regionffidth=Regionffidth^scaling,
newRegionHeight=RegionHeight*scaling)。
Region的实际显示位置
X坐标原始X坐标*最终比列+宽度偏移量;
Y坐标原始Y坐标*最终比例+高度偏移量;
Region的实际显示大小
闻原始闻度*最终比列;
宽原始宽度*最终比例;
右边距最终显不区域宽度_ (Region实际宽度+Region实际X坐标);
下边距最终显示区域高度-(Region实际高度+Region实际Y坐标);
步骤2. 4 :根据步骤I)中计算获得屏幕像素高、宽分别减去步骤I)中计算获得的高度偏移量和宽度偏移量的两倍得到新的屏幕像素高宽
(newScreenWidth=ScreenWidth-Width0ffset*2,
newScreenHeight=newScreenHeight-Height0ffset*2)。
步骤2. 5 :根 据步骤2. 4计算得到的屏幕像素高减去Region的y坐标和高度之和得到该Region距离屏幕底部的距离
(RegionBottom=newScreenHeight- (newRegionHeight+newY));
根据步骤2. 4计算得到的屏幕像素宽减去Region的x坐标和宽度度之和得到该 Region距离屏幕右边缘的距离
(RegionRight=newScreenffidth- (newRegionWidth+newX))。
步骤2· 6 :利用 Android 系统的 RelativeLayout. LayoutParams 类的对象的 setMargins O方法设置该Region在屏幕上的位置。
以上显示和描述了本发明的基本原理、主要特征和本发明的优点。本行业的技术人员应该了解,本发明不受上述实施例的限制,上述实施例和说明书中描述的只是说明本发明的原理,在不脱离本发明精神和范围的前提下本发明还会有各种变化和改进 ,这些变化和改进都落入要求保护的本发明范围内。本发明要求保护范围由所附的权利要求书及其等同物界定。
权利要求
1.一种基于IDF格式文件的页面显示方法,其特征在于,包括如下步骤1)获取IDF文件;2)解析IDF文件中具体页面数据;3)获取设备屏幕数据,根据屏幕数据计算屏幕参数;4)根据IDF文件中设置的显示区域计算在本设备上的实际显示参数;5)加载需要显示的显示区域。
2.根据权利要求1所述的一种基于IDF格式文件的页面显示方法,其特征在于,所述步骤2)的页面数据包括像素高和像素宽。
3.根据权利要求1所述的一种基于IDF格式文件的页面显示方法,其特征在于,所述步骤3)屏幕数据包括屏幕像素高度、屏幕像素宽度和状态栏像素高度。
4.根据权利要求1或3所述的一种基于IDF格式文件的页面显示方法,其特征在于,所述步骤3)根据等比率缩放算法计算高宽最终比例、设备显示区域最终大小和高宽度全局偏移量。
5.根据权利要求1所述的一种基于IDF格式文件的页面显示方法,其特征在于,所述步骤4)根据等比率缩放算法计算显示区域的实际显示位置、大小、与屏幕显示区域的右边距和下边距。
全文摘要
本发明公开了一种基于IDF格式文件的页面显示方法,包括如下步骤获取IDF文件;解析IDF文件中具体页面数据;获取设备屏幕数据,根据屏幕数据计算屏幕参数;根据IDF文件中设置的显示区域计算在本设备上的实际显示参数;加载需要显示的显示区域。本发明可以根据不同物理尺寸,不同分辨率的屏幕按设计的比例显示文档,支持目前所有不同尺寸和分辨率的搭载Android系统的硬件设备,提高用户体验,实现更好的文件与硬件平台系统的兼容。
文档编号G06F17/21GK103049430SQ20121058191
公开日2013年4月17日 申请日期2012年12月27日 优先权日2012年12月27日
发明者梁超, 沈旦 申请人:南京新与力文化传播有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1