一种地图渲染方法、装置、电子设备及存储介质与流程

文档序号:20516048发布日期:2020-04-24 19:06阅读:127来源:国知局
一种地图渲染方法、装置、电子设备及存储介质与流程

本申请涉及图像处理技术领域,进一步涉及计算机视觉技术,尤其是一种地图渲染方法、装置、电子设备及存储介质。



背景技术:

随着移动终端屏幕尺寸的日益增大,摄像头及图像处理技术的发展,目前在移动终端设备上直接进行地图渲染处理的需求逐渐扩大,而现有的地图渲染方式具体步骤包括:在图片编辑界面给出矩形裁剪框,用户确定预期选择的图像区域,通过拖动以放大或缩小矩形裁剪框,确认裁剪形成一张新的图片。现有的该种技术的缺点在于,裁剪框的形状固定,通常为正方形,无法动态及灵活的调整裁剪框的形状,从而无法对地图进行任意形状的渲染。



技术实现要素:

有鉴于此,本申请提出实施例提供一种地图渲染方法、装置、电子设备及存储介质,可以实现对地图进行任意形状的渲染,从而可以优化地图展示效果,提升用户使用体验。

第一方面,本申请实施例提供了一种地图渲染方法,所述方法包括:

获取待渲染的地图;

根据预先设置的裁剪形状,在所述待渲染的地图中确定出所述裁剪形状对应的裁剪区域;

根据所述裁剪形状对应的裁剪区域,在所述待渲染的地图中设置目标区域的区域值和非目标区域的区域值;

根据所述目标区域的区域值和所述非目标区域的区域值,对所述待裁剪的地图进行渲染。

上述申请中的一个实施例具有如下优点或有益效果:本申请可以在待渲染的地图中设置目标区域的区域值和非目标区域的区域值;根据目标区域的区域值和非目标区域的区域值,对待裁剪的地图进行渲染。也就是说,本申请因为采用了在待渲染的地图中设置目标区域和非目标区域的区域值的操作,从而可以实现对待裁剪的地图进行任意形状的渲染,进而达到了优化地图展示效果,提升用户使用体验的目的。

在上述实施例中,所述在所述待渲染的地图中确定出所述裁剪形状对应的裁剪区域,包括:

在所述待渲染的地图中检测出预先确定的目标显示图形;

在所述待渲染的地图中根据所述目标显示图形确定出目标裁剪区域。

上述申请中的一个实施例具有如下优点或有益效果:本申请可以先检测出目标显示图形;然后在待渲染的地图中根据目标显示图形确定出目标裁剪区域。这样可以更加准确地在待渲染的地图中确定出目标裁剪区域,以保证确定出的目标裁剪区域以目标显示图形为中心。

在上述实施例中,所述根据所述裁剪形状对应的裁剪区域,在所述待渲染的地图中设置目标区域的区域值和非目标区域的区域值,包括:

在所述待渲染的地图中选择一个区域作为当前区域,若所述当前区域在所述裁剪形状对应的裁剪区域内部,或者,若所述当前区域在所述裁剪形状对应的裁剪区域上面,将所述当前区域的区域值设置为目标区域值;若所述当前区域在所述裁剪形状对应的裁剪区域外部,将所述当前区域的区域值设置为非目标区域值。

上述申请中的一个实施例具有如下优点或有益效果:本申请可以将位于裁剪区域内部或者裁剪区域上面的当前区域的区域值设置为目标区域值;将位于裁剪区域外部的当前区域的区域值设置为非目标区域值,这样可以实现对待裁剪的地图进行任意形状的渲染,进而达到了优化地图展示效果,提升用户使用体验的目的。

在上述实施例中,所述根据所述目标区域的区域值和所述非目标区域的区域值,对所述待裁剪的地图进行渲染,包括:

在所述待渲染的地图中选择一个区域作为所述当前区域,若所述当前区域的区域值为所述目标区域值,则将所述当前区域作为有效区域进行保留;若所述当前区域的区域值为所述非目标区域值,则将所述当前区域作为无效区域进行删除。

上述申请中的一个实施例具有如下优点或有益效果:本申请可以将区域值为目标区域值的当前区域进行保留,将区域值为非目标区域值的当前区域进行删除,这样可以实现对待裁剪的地图进行任意形状的渲染,进而达到了优化地图展示效果,提升用户使用体验的目的。

第二方面,本申请还提供了一种地图渲染装置,所述装置包括:获取模块、确定模块、设置模块和渲染模块;其中,

所述获取模块,用于获取待渲染的地图;

所述确定模块,用于根据预先设置的裁剪形状,在所述待渲染的地图中确定出所述裁剪形状对应的裁剪区域;

所述设置模块,用于根据所述裁剪形状对应的裁剪区域,在所述待渲染的地图中设置目标区域的区域值和非目标区域的区域值;

所述渲染模块,用于根据所述目标区域的区域值和所述非目标区域的区域值,对所述待裁剪的地图进行渲染。

在上述实施例中,所述确定模块包括:检测子模块和确定子模块;其中,

所述检测子模块,用于在所述待渲染的地图中检测出预先确定的目标显示图形;

所述确定子模块,用于在所述待渲染的地图中根据所述目标显示图形确定出所述目标模具对应的裁剪区域。

在上述实施例中,所述设置模块,具体用于在所述待渲染的地图中选择一个区域作为当前区域,若所述当前区域在所述裁剪形状对应的裁剪区域内部,或者,若所述当前区域在所述裁剪形状对应的裁剪区域上面,将所述当前区域的区域值设置为目标区域值;若所述当前区域在所述裁剪形状对应的裁剪区域外部,将所述当前区域的区域值设置为非目标区域值。

在上述实施例中,所述渲染模块,具体用于在所述待渲染的地图中选择一个区域作为所述当前区域,若所述当前区域的区域值为所述目标区域值,则将所述当前区域作为有效区域进行保留;若所述当前区域的区域值为所述非目标区域值,则将所述当前区域作为无效区域进行删除。

第三方面,本申请实施例提供了一种电子设备,包括:

一个或多个处理器;

存储器,用于存储一个或多个程序,

当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现本申请任意实施例所述的地图渲染方法。

第四方面,本申请实施例提供了一种存储介质,其上存储有计算机程序,该程序被处理器执行时实现本申请任意实施例所述的地图渲染方法。

上述申请中的一个实施例具有如下优点或有益效果:本申请提出的地图渲染方法、装置、电子设备及存储介质,先获取待渲染的地图;然后根据预先设置的裁剪形状,在待渲染的地图中确定出裁剪形状对应的裁剪区域;再根据裁剪形状对应的裁剪区域,在待渲染的地图中设置目标区域的区域值和非目标区域的区域值;最后根据目标区域的区域值和非目标区域的区域值,对待裁剪的地图进行渲染。也就是说,本申请因为采用了在待渲染的地图中设置目标区域和非目标区域的区域值的操作,从而可以实现对待裁剪的地图进行任意形状的渲染,进而达到了优化地图展示效果,提升用户使用体验的目的;并且,本申请实施例的技术方案实现简单方便、便于普及,适用范围更广。

上述可选方式所具有的其他效果将在下文中结合具体实施例加以说明。

附图说明

附图用于更好地理解本方案,不构成对本申请的限定。其中:

图1是本申请实施例一提供的地图渲染方法的流程示意图;

图2是本申请实施例二提供的地图渲染方法的流程示意图;

图3是本申请实施例三提供的地图渲染装置的结构示意图;

图4是本申请实施例三提供的确定模块的结构示意图;

图5是用来实现本申请实施例的地图渲染方法的电子设备的框图。

具体实施方式

以下结合附图对本申请的示范性实施例做出说明,其中包括本申请实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本申请的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。

实施例一

图1是本申请实施例一提供的地图渲染方法的流程示意图,该方法可以由地图渲染装置或者电子设备来执行,该装置或者电子设备可以由软件和/或硬件的方式实现,该装置或者电子设备可以集成在任何具有网络通信功能的智能设备中。如图1所示,地图渲染方法可以包括以下步骤:

s101、获取待渲染的地图。

在本申请的具体实施例中,电子设备可以获取待渲染的地图。这里的待渲染的地图可以是地图数据库中的任意一张地图,该地图可以通过用户输入查询条件后自动生成,也可以通过用户按照位置区域选择生成。

s102、根据预先设置的裁剪形状,在待渲染的地图中确定出裁剪形状对应的裁剪区域。

在本申请的具体实施例中,电子设备可以根据预先设置的裁剪形状,在待渲染的地图中确定出裁剪形状对应的裁剪区域。具体地,电子设备可以先在待渲染的地图中检测出预先确定的目标显示图形;然后在待渲染的地图中根据目标显示图形确定出目标模具对应的裁剪区域。

s103、根据裁剪形状对应的裁剪区域,在待渲染的地图中设置目标区域的区域值和非目标区域的区域值。

在本申请的具体实施例中,电子设备可以根据裁剪形状对应的裁剪区域,在待渲染的地图中设置目标区域的区域值和非目标区域的区域值。具体地,电子设备可以在待渲染的地图中选择一个区域作为当前区域,若当前区域在裁剪形状对应的裁剪区域内部,或者,若当前区域在裁剪形状对应的裁剪区域上面,电子设备可以将当前区域的区域值设置为目标区域值;若当前区域在裁剪形状对应的裁剪区域外部,电子设备可以将当前区域的区域值设置为非目标区域值。具体地,若当前区域在裁剪形状对应的裁剪区域内部,或者,若当前区域在裁剪形状对应的裁剪区域上面,电子设备可以将当前区域的区域值设置为1;若当前区域在裁剪形状对应的裁剪区域外部,电子设备可以将当前区域的区域值设置为0。

s104、根据目标区域的区域值和非目标区域的区域值,对待裁剪的地图进行渲染。

在本申请的具体实施例中,电子设备可以根据目标区域的区域值和非目标区域的区域值,对待裁剪的地图进行渲染。具体地,电子设备可以在待渲染的地图中选择一个区域作为当前区域,若当前区域的区域值为目标区域值,则电子设备可以将当前区域作为有效区域进行保留;若当前区域的区域值为非目标区域值,则电子设备可以将当前区域作为无效区域进行删除。

本申请实施例提出的地图渲染方法,先获取待渲染的地图;然后根据预先设置的裁剪形状,在待渲染的地图中确定出裁剪形状对应的裁剪区域;再根据裁剪形状对应的裁剪区域,在待渲染的地图中设置目标区域的区域值和非目标区域的区域值;最后根据目标区域的区域值和非目标区域的区域值,对待裁剪的地图进行渲染。也就是说,本申请因为采用了在待渲染的地图中设置目标区域和非目标区域的区域值的操作,从而可以实现对待裁剪的地图进行任意形状的渲染,进而达到了优化地图展示效果,提升用户使用体验的目的;并且,本申请实施例的技术方案实现简单方便、便于普及,适用范围更广。

实施例二

图2是本申请实施例二提供的地图渲染方法的流程示意图。如图2所示,地图渲染方法可以包括以下步骤:

s201、获取待渲染的地图。

在本申请的具体实施例中,电子设备可以获取待渲染的地图。这里的待渲染的地图可以是地图数据库中的任意一张地图,该地图可以通过用户输入查询条件后自动生成,也可以通过用户按照位置区域选择生成。

s202、在待渲染的地图中检测出预先确定的目标显示图形。

在本申请的具体实施例中,电子设备可以在待渲染的地图中检测出预先确定的目标显示图形。具体地,电子设备可以对待渲染的地图中的各个线条进行像素识别,从而检测出预先确定的目标显示图形。这里的目标显示图形可以是用户输入查询条件后自动生成的图像,也可以是通过用户按照位置区域选择生成的图像。例如,目标显示图形可以是一条从起始点到终止点的线段。需要说的是,这里的目标模具可以是任意规则形状和不规则形状,例如,五角星形状、三角形形状、心形形状等。

s203、在待渲染的地图中根据目标显示图形确定出目标裁剪区域。

在本申请的具体实施例中,电子设备可以在待渲染的地图中根据目标显示图形确定出目标裁剪区域。具体地,电子设备可以将目标显示图形的中心点为中心,在待渲染的地图中确定出目标裁剪区域。例如,假设目标显示图形是一个线段,本步骤中,电子设备可以将该线段的中心点作为中心,在待渲染的地图中确定出目标裁剪区域。

s204、根据目标区域的区域值和非目标区域的区域值,对待裁剪的地图进行渲染。

在本申请的具体实施例中,电子设备可以根据目标区域的区域值和非目标区域的区域值,对待裁剪的地图进行渲染。具体地,电子设备可以在待渲染的地图中选择一个区域作为当前区域,若当前区域的区域值为目标区域值,则电子设备可以将当前区域作为有效区域进行保留;若当前区域的区域值为非目标区域值,则电子设备可以将当前区域作为无效区域进行删除。例如,若当前区域的区域值为1,则电子设备可以将当前区域作为有效区域进行保留;若当前区域的区域值为0,则电子设备可以将当前区域作为无效区域进行删除。

较佳地,本申请可以结合蒙版测试实现地图组件任意形状,具体包括以下步骤:(1)制作任意形状的蒙版图形;(2)重置蒙版测试默认值为0,清空color、depth和stencil缓存;(3)开启蒙版测试;(4)设置蒙板测试通过的区域值为1;(5)结合步骤(1)制作的蒙版图形,绘制出蒙版图形区域为1,其他区域为0的蒙板;(6)设置蒙版为1的区域通过测试;(7)根据步骤(5)生成的蒙版和地图ui组件,绘制出特定形状的地图ui图层;(8)关闭蒙版测试;(9)返回到步骤(1),继续下一轮任意形状的地图ui组件渲染。本申请解决了任意形状的图形结合蒙版测试方法实现地图组件任意形状,以满足地图组件的个性化外观定制。

本申请实施例提出的地图渲染方法,先获取待渲染的地图;然后根据预先设置的裁剪形状,在待渲染的地图中确定出裁剪形状对应的裁剪区域;再根据裁剪形状对应的裁剪区域,在待渲染的地图中设置目标区域的区域值和非目标区域的区域值;最后根据目标区域的区域值和非目标区域的区域值,对待裁剪的地图进行渲染。也就是说,本申请因为采用了在待渲染的地图中设置目标区域和非目标区域的区域值的操作,从而可以实现对待裁剪的地图进行任意形状的渲染,进而达到了优化地图展示效果,提升用户使用体验的目的;并且,本申请实施例的技术方案实现简单方便、便于普及,适用范围更广。

实施例三

图3是本申请实施例三提供的地图渲染装置的结构示意图。如图3所示,所述装置300包括:获取模块301、确定模块302、设置模块303和渲染模块304;其中,

所述获取模块301,用于获取待渲染的地图;

所述确定模块302,用于根据预先设置的裁剪形状,在所述待渲染的地图中确定出所述裁剪形状对应的裁剪区域;

所述设置模块303,用于根据所述裁剪形状对应的裁剪区域,在所述待渲染的地图中设置目标区域的区域值和非目标区域的区域值;

所述渲染模块304,用于根据所述目标区域的区域值和所述非目标区域的区域值,对所述待裁剪的地图进行渲染。

图4是本申请实施例三提供的确定模块的结构示意图。如图4所示,所述确定模块302包括:检测子模块3021和确定子模块3022;其中,

所述检测子模块3021,用于在所述待渲染的地图中检测出预先确定的目标显示图形;

所述确定子模块3022,用于在所述待渲染的地图中根据所述目标显示图形确定出所述目标裁剪区域。

进一步的,所述设置模块303,具体用于在所述待渲染的地图中选择一个区域作为当前区域,若所述当前区域在所述裁剪形状对应的裁剪区域内部,或者,若所述当前区域在所述裁剪形状对应的裁剪区域上面,将所述当前区域的区域值设置为目标区域值;若所述当前区域在所述裁剪形状对应的裁剪区域外部,将所述当前区域的区域值设置为非目标区域值。

进一步的,所述渲染模块304,具体用于在所述待渲染的地图中选择一个区域作为所述当前区域,若所述当前区域的区域值为所述目标区域值,则将所述当前区域作为有效区域进行保留;若所述当前区域的区域值为所述非目标区域值,则将所述当前区域作为无效区域进行删除。

上述地图渲染装置可执行本申请任意实施例所提供的方法,具备执行方法相应的功能模块和有益效果。未在本实施例中详尽描述的技术细节,可参见本申请任意实施例提供的地图渲染方法。

实施例四

根据本申请的实施例,本申请还提供了一种电子设备和一种可读存储介质。

如图5所示,是根据本申请实施例的地图渲染方法的电子设备的框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本申请的实现。

如图5所示,该电子设备包括:一个或多个处理器501、存储器502,以及用于连接各部件的接口,包括高速接口和低速接口。各个部件利用不同的总线互相连接,并且可以被安装在公共主板上或者根据需要以其它方式安装。处理器可以对在电子设备内执行的指令进行处理,包括存储在存储器中或者存储器上以在外部输入/输出装置(诸如,耦合至接口的显示设备)上显示gui的图形信息的指令。在其它实施方式中,若需要,可以将多个处理器和/或多条总线与多个存储器和多个存储器一起使用。同样,可以连接多个电子设备,各个设备提供部分必要的操作(例如,作为服务器阵列、一组刀片式服务器、或者多处理器系统)。图5中以一个处理器501为例。

存储器502即为本申请所提供的非瞬时计算机可读存储介质。其中,所述存储器存储有可由至少一个处理器执行的指令,以使所述至少一个处理器执行本申请所提供的地图渲染方法。本申请的非瞬时计算机可读存储介质存储计算机指令,该计算机指令用于使计算机执行本申请所提供的地图渲染方法。

存储器502作为一种非瞬时计算机可读存储介质,可用于存储非瞬时软件程序、非瞬时计算机可执行程序以及模块,如本申请实施例中的地图渲染方法对应的程序指令/模块(例如,附图3所示的获取模块301、确定模块302、设置模块303和渲染模块304)。处理器501通过运行存储在存储器502中的非瞬时软件程序、指令以及模块,从而执行服务器的各种功能应用以及数据处理,即实现上述方法实施例中的地图渲染方法。

存储器502可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储根据地图渲染方法的电子设备的使用所创建的数据等。此外,存储器502可以包括高速随机存取存储器,还可以包括非瞬时存储器,例如至少一个磁盘存储器件、闪存器件、或其他非瞬时固态存储器件。在一些实施例中,存储器502可选包括相对于处理器501远程设置的存储器,这些远程存储器可以通过网络连接至地图渲染方法的电子设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。

地图渲染方法的电子设备还可以包括:输入装置503和输出装置504。处理器501、存储器502、输入装置503和输出装置504可以通过总线或者其他方式连接,图5中以通过总线连接为例。

输入装置503可接收输入的数字或字符信息,以及产生与地图渲染方法的电子设备的用户设置以及功能控制有关的键信号输入,例如触摸屏、小键盘、鼠标、轨迹板、触摸板、指示杆、一个或者多个鼠标按钮、轨迹球、操纵杆等输入装置。输出装置504可以包括显示设备、辅助照明装置(例如,led)和触觉反馈装置(例如,振动电机)等。该显示设备可以包括但不限于,液晶显示器(lcd)、发光二极管(led)显示器和等离子体显示器。在一些实施方式中,显示设备可以是触摸屏。

此处描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、专用asic(专用集成电路)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。

这些计算程序(也称作程序、软件、软件应用、或者代码)包括可编程处理器的机器指令,并且可以利用高级过程和/或面向对象的编程语言、和/或汇编/机器语言来实施这些计算程序。如本文使用的,术语“机器可读介质”和“计算机可读介质”指的是用于将机器指令和/或数据提供给可编程处理器的任何计算机程序产品、设备、和/或装置(例如,磁盘、光盘、存储器、可编程逻辑装置(pld)),包括,接收作为机器可读信号的机器指令的机器可读介质。术语“机器可读信号”指的是用于将机器指令和/或数据提供给可编程处理器的任何信号。

为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,crt(阴极射线管)或者lcd(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。

可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(lan)、广域网(wan)、互联网和区块链网络。

计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。

根据本申请实施例的技术方案,先获取待渲染的地图;然后根据预先设置的裁剪形状,在待渲染的地图中确定出裁剪形状对应的裁剪区域;再根据裁剪形状对应的裁剪区域,在待渲染的地图中设置目标区域的区域值和非目标区域的区域值;最后根据目标区域的区域值和非目标区域的区域值,对待裁剪的地图进行渲染。也就是说,本申请因为采用了在待渲染的地图中设置目标区域和非目标区域的区域值的操作,从而可以实现对待裁剪的地图进行任意形状的渲染,进而达到了优化地图展示效果,提升用户使用体验的目的;并且,本申请实施例的技术方案实现简单方便、便于普及,适用范围更广。

应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发申请中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本申请公开的技术方案所期望的结果,本文在此不进行限制。

上述具体实施方式,并不构成对本申请保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本申请的精神和原则之内所作的修改、等同替换和改进等,均应包含在本申请保护范围之内。

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