一种显示超大页面数字出版原图的方法与流程

文档序号:14155835阅读:234来源:国知局

本发明属于pdf、eps文件的显示技术领域,特别是涉及一种显示超大页面数字出版原图的方法。



背景技术:

地图广泛应用于经济、社会、文化、军事等各行业,地图出版从印刷方式逐步走向电子出版。数字出版原图是以面向印刷的eps文档存储的用于制作地图分版胶片的基础底图,通常占用较大的存储空间。例如:一幅小比例尺地形图分版eps文件大小约30m,合版eps文件大小超过100m;一幅全国专题地图合版eps文件动辄200m以上。由于数字出版原图eps文件大且页面图形对象总数多,对数字出版原图的显示通常有两种方式,一是使用成熟的商业软件(如adobeillustrator)进行浏览,二是转换成pdf文件,利用pdf浏览器(如adobereader)进行显示,但这两种方式都对硬件要求极高,其打开、漫游和缩放等效率低下,用户体验较差。另外,数字出版原图同样也难以在网络模式、嵌入式设备、移动终端等环境中使用。基于上述原因,在地图的电子出版中就出现了一种无奈之举,就是将数字出版原图转换为图片,在损失精细程度、高质量、好的用户认知体验的前提下实现数字出版原图的显示、浏览及应用。一般的数字出版原图尚且如此,对于超大页面的数字出版原图现有技术和方法更是难以有效支持。



技术实现要素:

针对上述现有技术的缺陷或不足,本发明的目的在于提供一种能够显示超大页面数字出版原图的方法。

为了实现上述目的,本发明采用如下技术方案予以解决:

一种显示超大页面数字出版原图的方法,包括如下步骤:

步骤1:将eps格式数字出版原图全图文件存储为pdf格式数字出版原图全图文件,并导出全图jpeg图像;

步骤2:对pdf格式数字出版原图全图页面进行格网划分,计算格网划分参数;

步骤3:根据格网划分参数对pdf格式数字出版原图全图页面中的图元进行裁剪处理,并生成数字出版原图pdf瓦片文件;

步骤4:打包存储数字出版原图pdf瓦片文件、全图jpeg图像文件及相关参数,创建瓦片数据表及格网参数表;

步骤5:数字出版原图pdf瓦片包显示初始化:根据创建瓦片数据表及格网参数表,恢复格网划分并建立单元网格与屏幕显示窗口坐标映射关系、全屏显示数字出版原图全图jpeg图像和创建pdf文档缓存;

步骤6:显示数字出版原图pdf瓦片包,并计算数字出版原图显示分辨率,利用数字出版原图显示分辨率控制显示数据源的调度。

进一步的,所述步骤3的具体步骤如下:

步骤31:根据格网划分参数,计算pdf格式数字出版原图全图页面范围内每个单元网格对应的矩形页面坐标,得到每个单元网格对应的裁剪矩形,裁剪矩形用于对pdf格式数字出版原图全图页面中的图元进行裁剪处理;

步骤32:裁剪处理过程中,对于每个单元网格,创建一个新的只包含一个pdf页面的pdf文档并以网格号命名存储,作为该单元网格对应的pdf瓦片文件,所述pdf页面用于存储裁剪处理后图元;

步骤33:利用裁剪矩形对pdf格式数字出版原图全图页面中的图元进行裁剪处理,得到裁剪处理后的pdf瓦片文件;具体过程:遍历pdf格式数字出版原图全图页面中所有图元,进行如下判断和处理:a)如果图元外接矩形位于当前裁剪矩形之外,不作处理;b)如果图元外接矩形位于当前裁剪矩形内部或与当前裁剪矩形相交,以当前裁剪矩形左下角点坐标为原点,计算该图元所有点的相对坐标并替换原坐标,将该图元保存到当前网格对应的pdf瓦片文件页面中;pdf格式数字出版原图全图页面经格网划分为多个单元网格,对每个单元网格进行裁剪处理后共生成多个pdf瓦片文件。

进一步的,所述步骤4是指建立sqlite数据库文件,创建格网参数表及瓦片数据表;其中:

所述格网参数表包括:图名、宽度、高度、行数、列数、边长、缩略图、分辨率、像素宽、像素高,分别存储数字出版原图地图名称、pdf格式数字出版原图全图页面宽度、pdf格式数字出版原图全图页面高度、格网行数、格网列数、单元网格边长、数字出版原图全图jpeg图像二进制数据流、数字出版原图全图jpeg图像分辨率、数字出版原图全图jpeg图像像素宽、数字出版原图全图jpeg图像像素高;

所述瓦片数据表包括:行号、列号、pdf瓦片,分别存放数字出版原图pdf瓦片文件对应的网格行号、网格列号和pdf瓦片文件二进制数据流。

进一步的,所述步骤5包括如下步骤:

a)加载数字出版原图pdf瓦片数据包sqlite数据库文件;b)读取步骤4得到的格网参数表,获取相关参数信息,按照pdf瓦片文件对应的网格行号、网格列号对其进行排列;c)根据格网参数表中页面宽度、页面高度构建数字出版原图全图矩形初始化屏幕显示参数,使得全图矩形充满屏幕显示窗口矩形,且两矩形的中心重合;d)从格网参数表中读取数字出版原图全图jpeg图像数据,并将其缩放显示到全图矩形内;e)读取瓦片数据表,建立以网格行列号为索引的pdf瓦片文件二进制数据流索引对象,创建pdf文档对象缓存。

进一步的,所述步骤6包括如下子步骤:

步骤61:利用公式(3),计算得到全屏显示时初始地图缩放比例系数c0;

其中,lw为显示初始化后屏幕显示窗口的水平方向像素宽度,w0为显示初始化后屏幕显示窗口矩形在pdf格式数字出版原图全图pdf用户空间坐标系下宽度,c为地图缩放因子,由于数字出版原图pdf瓦片包显示初始化时,是直接全屏显示数字出版原图全图jpeg图像,此时,ddpi等于数字出版原图全图jpeg图像分辨率,利用公式(3)计算得到的地图缩放因子c作为全屏显示时初始地图缩放比例系数c0。

步骤62:计算地图缩放因子c=c0*μ,μ为缩放系数,μ随着用户操作实时变化;根据当前的地图缩放因子c,利用公式(3),在pdf格式数字出版原图全图pdf用户空间坐标系下实时计算得到数字出版原图全图jpeg图像分辨率ddpi;

步骤63:通过调节屏幕显示窗口矩形位置实现地图平移,通过数字出版原图显示分辨率ddpi调度显示数据源;

数据源调度判断并显示数据源的具体方法如下:a)当数字出版原图显示分辨率ddpi小于或等于数字出版原图全图jpeg图像分辨率时,直接以数字出版原图全图jpeg图像作为数据源,并显示到屏幕上;b)当ddpi大于数字出版原图全图jpeg图像分辨率时,以数字出版原图pdf瓦片作为数据源,并显示到屏幕上;

上述情况(b)中“以数字出版原图pdf瓦片作为数据源并显示到屏幕上”的实现步骤如下:首先,以数字出版原图pdf瓦片作为显示数据源,对其进行调度及缓存,方法如下:a)建立以屏幕显示窗口矩形中心为中心,宽、高均为屏幕显示窗口矩形2倍的参考矩形;b)以单元网格中心点到屏幕显示窗口矩形中心点的距离由小到大为顺序,对参考矩形内的单元网格进行排序;c)按顺序以网格行列号为索引,逐一判断网格号对应的pdf文档对象是否存在于pdf文档对象缓存中,如果不存在,从瓦片数据表中提取pdf瓦片二进制数据流,并将其解析成pdf文档对象,解析成功后,将pdf文档对象存储到pdf文档对象缓存中;

其次,利用pdf文档对象缓存将数字出版原图pdf瓦片显示到屏幕上,具体方法如下:a)创建屏幕显示设备兼容的内存显示区;b)逐一计算屏幕显示窗口内单元网格矩形在屏幕坐标系中的矩形像素宽、高,并创建空白位图;c)将每个pdf瓦片文件对应的pdf文档中页面内容渲染绘制到步骤b创建的空白位图上;d)将绘制好的位图拷贝到内存显示区单元网格对应的位置;e)实时将内存显示区拷贝到屏幕显示窗口。

本发明的另一个目的在于,提供一种显示超大页面数字出版原图的系统,包括如下模块:

存储模块,用于将eps格式数字出版原图全图文件存储为pdf格式数字出版原图全图文件,并导出全图jpeg图像;

格网划分计算模块,用于对pdf格式数字出版原图全图页面进行格网划分,计算格网划分参数;

裁剪模块,用于根据格网划分参数对pdf格式数字出版原图全图页面中的图元进行裁剪处理,并生成数字出版原图pdf瓦片文件;

数据库创建模块,打包存储数字出版原图pdf瓦片文件、全图jpeg图像文件及相关参数,创建瓦片数据表及格网参数表;

初始化模块,数字出版原图pdf瓦片包显示初始化:根据创建瓦片数据表及格网参数表,恢复格网划分并建立单元网格与屏幕显示窗口坐标映射关系、全屏显示数字出版原图全图jpeg图像和创建pdf文档缓存;

显示模块,显示数字出版原图pdf瓦片包,并计算数字出版原图显示分辨率,利用数字出版原图显示分辨率控制显示数据源的调度。

进一步的,所述裁剪模块包括如下子模块:

子模块一,根据格网划分参数,计算pdf格式数字出版原图全图页面范围内每个单元网格对应的矩形页面坐标,得到每个单元网格对应的裁剪矩形,裁剪矩形用于对pdf格式数字出版原图全图页面中的图元进行裁剪处理;

子模块二,裁剪处理过程中,对于每个单元网格,创建一个新的只包含一个pdf页面的pdf文档,所述pdf页面用于存储裁剪处理后图元;

子模块三,利用裁剪矩形对pdf格式数字出版原图全图页面中的图元进行裁剪处理,得到裁剪处理后的pdf瓦片文件;具体过程:遍历pdf格式数字出版原图全图页面中所有图元,进行如下判断和处理:a)如果图元外接矩形位于当前裁剪矩形之外,不作处理;b)如果图元外接矩形位于当前裁剪矩形内部或与当前裁剪矩形相交,以当前裁剪矩形左下角点坐标为原点,计算该图元所有点的相对坐标并替换原坐标,将该图元保存到当前网格对应的pdf瓦片文件页面中;pdf格式数字出版原图全图页面经格网划分为多个单元网格,对每个单元网格进行裁剪处理后生成多个pdf瓦片文件。

进一步的,所述数据库创建模块是用于建立sqlite数据库文件,创建格网参数表及瓦片数据表;其中:

所述格网参数表包括:图名、宽度、高度、行数、列数、边长、缩略图、分辨率、像素宽、像素高,分别存储数字出版原图地图名称、pdf格式数字出版原图全图页面宽度、pdf格式数字出版原图全图页面高度、格网行数、格网列数、单元网格边长、数字出版原图全图jpeg图像二进制数据流、数字出版原图全图jpeg图像分辨率、数字出版原图全图jpeg图像像素宽、数字出版原图全图jpeg图像像素高;

所述瓦片数据表包括:行号、列号、pdf瓦片,分别存放数字出版原图pdf瓦片文件对应的网格行号、网格列号和pdf瓦片文件二进制数据流。

进一步的,所述初始化模块包括如下子模块:

子模块a),用于加载数字出版原图pdf瓦片数据包sqlite数据库文件;子模块b),用于读取步骤4得到的格网参数表,获取相关参数信息,按照pdf瓦片文件对应的网格行号、网格列号对其进行排列;子模块c),用于根据格网参数表中页面宽度、页面高度构建数字出版原图全图矩形初始化屏幕显示参数,使得全图矩形充满屏幕显示窗口矩形,且两矩形的中心重合;子模块d),用于从格网参数表中读取数字出版原图全图jpeg图像数据,并将其缩放显示到全图矩形内;子模块e),用于读取瓦片数据表,建立以网格行列号为索引的pdf瓦片文件二进制数据流索引对象,创建pdf文档对象缓存。

进一步的,所述显示模块包括如下子模块:

子模块一,用于利用公式(3),计算得到全屏显示时初始地图缩放比例系数c0;

其中,lw为显示初始化后屏幕显示窗口的水平方向像素宽度,w0为显示初始化后屏幕显示窗口矩形在pdf格式数字出版原图全图pdf用户空间坐标系下宽度,c为地图缩放因子,由于数字出版原图pdf瓦片包显示初始化时,是直接全屏显示数字出版原图全图jpeg图像,此时,ddpi等于数字出版原图全图jpeg图像分辨率,利用公式(3)计算得到的地图缩放因子c作为全屏显示时初始地图缩放比例系数c0。

子模块二,用于计算地图缩放因子c=c0*μ,μ为缩放系数,μ随着用户操作实时变化;根据当前的地图缩放因子c,利用公式(3),在pdf格式数字出版原图全图pdf用户空间坐标系下实时计算数字出版原图显示分辨率ddpi;子模块三,用于通过调节屏幕显示窗口矩形位置实现地图平移,通过数字出版原图显示分辨率ddpi调度显示数据源;

数据源调度判断并显示数据源的具体方法如下:a)当数字出版原图显示分辨率ddpi小于或等于数字出版原图全图jpeg图像分辨率时,直接以数字出版原图全图jpeg图像作为数据源,并显示到屏幕上;b)当ddpi大于数字出版原图全图jpeg图像分辨率时,以数字出版原图pdf瓦片作为数据源,并显示到屏幕上;

上述情况(b)中“以数字出版原图pdf瓦片作为数据源并显示到屏幕上”的实现步骤如下:首先,以数字出版原图pdf瓦片作为显示数据源,对其进行调度及缓存,方法如下:a)建立以屏幕显示窗口矩形中心为中心,宽、高均为屏幕显示窗口矩形2倍的参考矩形;b)以单元网格中心点到屏幕显示窗口矩形中心点的距离由小到大为顺序,对参考矩形内的单元网格进行排序;c)按顺序以网格行列号为索引,逐一判断网格号对应的pdf文档对象是否存在于pdf文档对象缓存中,如果不存在,从瓦片数据表中提取pdf瓦片二进制数据流,并将其解析成pdf文档对象,解析成功后,将pdf文档对象存储到pdf文档对象缓存中;

其次,利用pdf文档对象缓存将数字出版原图pdf瓦片显示到屏幕上,具体方法如下:a)创建屏幕显示设备兼容的内存显示区;b)逐一计算屏幕显示窗口内单元网格矩形在屏幕坐标系中的矩形像素宽、高,并创建空白位图;c)将每个pdf瓦片文件对应的pdf文档中页面内容渲染绘制到步骤b创建的空白位图上;d)将绘制好的位图拷贝到内存显示区单元网格对应的位置;e)实时将内存显示区拷贝到屏幕显示窗口。

本发明的有益效果如下:

本发明用于快速打开并高保真显示数字出版原图,本发明中,超大页面eps格式数字出版原图是经过转换并裁剪处理为多个pdf小文件存储与显示的,能够有效压缩数据存储空间,最大程度地减少了阅读时地图加载的内存占有量,极大的提升了地图显示速度,解决了传统依赖商业软件显示超大页面eps数据时对硬件性能要求高、用户阅读体验差的问题,无须有专业的软件支持,在普通计算机、网络模式、嵌入式设备、移动终端等软硬件环境下均有能力高保真显示超大页面数字出版原图。

另外,本发明可用于地图电子出版,以数据量小、高保真的pdf瓦片地图代替传统的多级图像瓦片或高分辨率图像文件,既大大节省了数据量,又避免了地图放大后图形锯齿问题,有利于地图集电子形式出版或网络出版,使便携式设备直接存储多个地图集成为可能,在数字环境下将原本割裂的印刷原图编制和电子地图显示浏览统一起来,为实现印前图件或出版原图的再利用和深加工提供了基础和保障。

附图说明

图1是本发明显示超大页面数字出版原图方法的流程图;

图2是本发明的显示超大页面数字出版原图系统的框图;

图3是本发明实施例中网格参数计算示意图;

图4是本发明实施例中pdf页面图元裁剪示意图;

图5是本发明实施例中数字出版原图pdf瓦片包显示初始化示意图。

具体实施方式

为了便于本领域普通技术人员理解和实施本发明,下面结合附图和具体实施例对本发明作进一步的详细描述,应当理解,此处所描述的实施示例仅用于说明和解释本发明,并不用于限定本发明。

参见图1,本发明的显示超大页面数字出版原图的方法,包括如下步骤:

步骤1:利用商业软件adobeillustratorcs6将eps格式数字出版原图全图文件存储为pdf格式数字出版原图全图文件,并导出全图jpeg图像。具体步骤如下:

首先,判断eps格式数字出版原图文件类型,如果是分色版文件,需要进行合版处理,得到合版eps格式数字出版原图全图文件。

然后,利用adobeillustratorcs6打开合版eps格式数字出版原图全图文件,将其存储为pdf格式数字出版原图全图文件,存储过程包括:a)在关闭叠印预览环境下检查要素叠印关系是否正确,如果不正确,进行叠印处理;b)设置画板“适合图稿边界”;c)存储adobepdf预设“最小文件大小”,兼容性“acrobat7(pdf1.6)”。

最后,在adobeillustratorcs6中,将打开的pdf格式数字出版原图全图导出为jpeg图像格式文件,jpeg选项设置主要包括:图像品质“高”、颜色模型“rgb”、分辨率“屏幕”、消除锯齿“优化图稿”。

步骤2:对pdf格式数字出版原图全图页面进行格网划分,计算格网划分参数。

格网划分参数包括网格号、网格边长、网格行数和网格列数,根据pdf格式数字出版原图全图文件大小及其地图页面尺寸计算得到,如图3所示。具体如下:

网格号由左下角开始,以逐行不连续的方式向右上角递增,横向为行,纵向为列,如网格号(i,j)表示网格位于第i行第j列;

网格边长s的计算如公式(1)所示:

式中,n表示pdf格式数字出版原图全图文件大小,m表示以网格矩形为裁剪矩形对pdf格式数字出版原图全图页面进行裁剪处理后得到的pdf瓦片文件大小,单位为mb(兆字节)。为保证良好的图形显示效率,这里m可取值0.5,即pdf瓦片文件大小控制在0.5mb左右,当然,m可随硬件条件进行适当调整;w表示pdf格式数字出版原图全图页面宽;h表示pdf格式数字出版原图全图页面高。

网格行数i和网格列数j的计算如公式(2)所示:

式中,表示对其里面的数值进行向上取整。

步骤3:根据步骤2得到的格网划分参数,对pdf格式数字出版原图全图页面中的图元进行裁剪处理,并生成i×j个数字出版原图pdf瓦片文件。

步骤31:根据步骤2得到的格网划分参数,计算pdf格式数字出版原图全图页面范围内每个单元网格对应的矩形页面坐标,得到每个单元网格对应的裁剪矩形,裁剪矩形用于对pdf格式数字出版原图全图页面中的图元进行裁剪处理。pdf标准中定义了一个设备无关坐标系,也叫用户空间,采用平面直角坐标系,pdf格式数字出版原图全图页面中的图元裁剪基于其pdf用户空间坐标系完成。

单元网格对应的裁剪矩形在pdf格式数字出版原图全图页面pdf用户坐标系下的坐标计算过程如下:对于网格号(i,j),其对应的pdf瓦片文件号为(i,j),对应pdf瓦片文件页面宽、高与裁剪变成一致,均为s,则裁剪矩形左下角点坐标为((j-1)×s,(i-1)×s),右上角点坐标为(j×s,i×s)。

步骤32:裁剪处理过程中,对于每个单元网格,创建一个新的只包含一个pdf页面的pdf文档并以网格号命名存储,作为该单元网格对应的pdf瓦片文件,其中,所述pdf页面用于存储裁剪处理后图元。

步骤33:利用裁剪矩形对pdf格式数字出版原图全图页面中的图元进行裁剪处理,得到裁剪处理后的pdf瓦片文件。如图4所示,遍历pdf格式数字出版原图全图页面中所有图元,进行如下判断和处理:a)如果图元外接矩形位于当前裁剪矩形之外,不作处理;b)如果图元外接矩形位于当前裁剪矩形内部或与当前裁剪矩形相交,以当前裁剪矩形左下角点坐标为原点,计算该图元所有点的相对坐标并替换原坐标,并将该图元保存到当前网格对应的pdf瓦片文件页面中。作为优选,b)中图元外接矩形与当前裁剪矩形相交时,可用裁剪矩形对图元进行几何坐标裁剪处理。pdf格式数字出版原图全图页面经格网划分为i×j个单元网格,对每个单元网格进行裁剪处理后共生成i×j个pdf瓦片文件。

步骤4:打包存储数字出版原图pdf瓦片文件、全图jpeg图像文件及相关参数,创建瓦片数据表及格网参数表,具体操作如下:

建立sqlite数据库文件,创建格网参数表及瓦片数据表。其中:

格网参数表包括:图名、宽度、高度、行数、列数、边长、缩略图、分辨率、像素宽、像素高,分别存储数字出版原图地图名称、pdf格式数字出版原图全图页面宽度、pdf格式数字出版原图全图页面高度、格网行数、格网列数、单元网格边长、数字出版原图全图jpeg图像二进制数据流、数字出版原图全图jpeg图像分辨率、数字出版原图全图jpeg图像像素宽、数字出版原图全图jpeg图像像素高。

瓦片数据表包括:行号、列号、pdf瓦片,分别存放数字出版原图pdf瓦片文件对应的网格行号、网格列号和pdf瓦片文件二进制数据流。

步骤5:数字出版原图pdf瓦片包显示初始化:包括恢复格网划分并建立单元网格与屏幕显示窗口坐标映射关系、全屏显示数字出版原图全图jpeg图像和创建pdf文档缓存,如图5所示。主要过程如下:

a)加载数字出版原图pdf瓦片数据包sqlite数据库文件;b)读取步骤4得到的格网参数表,获取相关参数信息,按照pdf瓦片文件对应的网格行号、网格列号对其进行排列;c)根据格网参数表中页面宽度、页面高度构建数字出版原图全图矩形初始化屏幕显示参数,使得全图矩形充满屏幕显示窗口矩形,且两矩形的中心重合;d)从格网参数表中读取数字出版原图全图jpeg图像数据,并将其缩放显示到全图矩形内;e)读取瓦片数据表,建立以网格行列号为索引的pdf瓦片文件二进制数据流索引对象,创建pdf文档对象缓存,大小可依据硬件情况进行相应设置,通常,4g内存可设置pdf文档对象缓存数为50。

步骤6:显示数字出版原图pdf瓦片包,并计算数字出版原图显示分辨率,利用数字出版原图显示分辨率控制显示数据源的调度。

数字出版原图pdf瓦片包显示初始化完成后,屏幕显示窗口快速显示数字出版原图全图jpeg图像。随后,用户可通过缩放操作,实现对数字出版原图全图缩放操作。为提高用户体验,缩短数字出版原图全图缩放响应时间,通过屏幕显示精细程度即数字出版原图显示分辨率ddpi来控制显示数据源的调度。主要步骤如下:

步骤61:利用公式(3),计算得到全屏显示时初始地图缩放比例系数c0;

其中,lw为显示初始化后屏幕显示窗口的水平方向像素宽度,w0为显示初始化后屏幕显示窗口矩形在pdf格式数字出版原图全图pdf用户空间坐标系下宽度,c为地图缩放因子,由于数字出版原图pdf瓦片包显示初始化时,是直接全屏显示数字出版原图全图jpeg图像,此时,ddpi等于数字出版原图全图jpeg图像分辨率,利用公式(3)计算得到的地图缩放因子c作为全屏显示时初始地图缩放比例系数c0。

步骤62:计算地图缩放因子c=c0*μ,μ为缩放系数,μ随着用户操作实时变化;根据当前的地图缩放因子c,利用公式(3),在pdf格式数字出版原图全图pdf用户空间坐标系下实时计算数字出版原图显示分辨率ddpi;

步骤63:由于数字出版原图pdf瓦片文件的显示控制通过调节地图缩放因子c实现地图缩放,通过调节屏幕显示窗口矩形位置实现地图平移,通过数字出版原图显示分辨率ddpi调度显示数据源。

数据源调度判断并显示数据源的具体方法如下:a)当数字出版原图显示分辨率ddpi小于或等于数字出版原图全图jpeg图像分辨率时,直接以数字出版原图全图jpeg图像作为数据源,并显示到屏幕上;b)当ddpi大于数字出版原图全图jpeg图像分辨率时,以数字出版原图pdf瓦片作为数据源,并显示到屏幕上。

上述情况(b)中“以数字出版原图pdf瓦片作为数据源并显示到屏幕上”的实现步骤如下:首先,以数字出版原图pdf瓦片作为显示数据源,对其进行调度及缓存,方法如下:a)建立以屏幕显示窗口矩形中心为中心,宽、高均为屏幕显示窗口矩形2倍的参考矩形;b)以单元网格中心点到屏幕显示窗口矩形中心点的距离由小到大为顺序,对参考矩形内的单元网格进行排序;c)按顺序以网格行列号为索引,逐一判断网格号对应的pdf文档对象是否存在于pdf文档对象缓存中,如果不存在,从瓦片数据表中提取pdf瓦片二进制数据流,并将其解析成pdf文档对象,解析成功后,将pdf文档对象存储到pdf文档对象缓存中。优选的,在向pdf文档对象缓存中存储pdf文档对象过程中,如果pdf文档对象缓存数超过阈值,需要进行部分pdf文档对象缓存释放,采用pdf瓦片对应的网格中心距离屏幕显示窗口矩形中心较远者优先释放的原则。

其次,利用pdf文档对象缓存将数字出版原图pdf瓦片显示到屏幕上,具体方法如下:a)创建屏幕显示设备兼容的内存显示区;b)逐一计算屏幕显示窗口内单元网格矩形在屏幕坐标系中的矩形像素宽、高,并创建空白位图;c)将每个pdf瓦片文件对应的pdf文档中页面内容渲染绘制到步骤b创建的空白位图上;d)将绘制好的位图拷贝到内存显示区单元网格对应的位置;e)实时将内存显示区拷贝到屏幕显示窗口。

为更好的说明本发明的方法的技术效果,这里给出一个实际操作的例子加以说明。例如:一幅“中华人民共和国行政区划图”合版eps格式数字出版原图全图文件数据量大小为552mb,存储为pdf格式文件数据量大小为53mb,在相同的硬件环境中,利用商业软件adobeillustratorcs6打开eps数据文件时间为48秒,地图平移平均时间为4秒,地图缩放平均时间为8秒;利用商业软件adobeacrobatx打开pdf数据文件时间为21秒,地图平移平均时间为3秒,地图缩放平均时间为5秒,用户体验较差。采用上述本发明的方法,生成的数字出版原图pdf瓦片包大小为68mb,数字出版原图显示初始化时间小于1秒,即打开数据马上便全屏显示数字出版原图,地图平移平均时间0.5秒,地图缩放平均时间1秒,极大的提高了用户体验。

应当理解的是,对本领域普通技术人员来说,可以根据上述说明加以改进或变换,而所有这些改进和变换都应属于本发明所附权利要求的保护范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1