掌桥专利:专业的专利平台
掌桥专利
首页

图标处理方法、装置及设备

文献发布时间:2023-06-19 13:49:36


图标处理方法、装置及设备

技术领域

本申请实施例涉及计算机技术领域,尤其涉及一种图标处理方法、装置及设备。

背景技术

目前用户界面(User Interface,UI)竞争激烈,各家移动终端厂商均或多或少的对移动终端的用户界面进行定制,以满足用户的多样需求。

在用户界面中,应用软件的图标是主要显示的元素之一,以Android系统为例,在用户界面中,有大量使用可缩放矢量图形(scalable vector graphics,svg)矢量图的应用软件图标显示。现有各家移动终端厂商对Android系统的用户界面进行定制时,一般会采用编译时替换或者Overlay的方式来替换原svg矢量图的图标。其中,Overlay的方式包括静态Overlay和动态Overlay。

然而,现有图标替换方式不灵活,例如采用编译时替换或静态Overlay的方式替换图标,无法在图标运行时再进行任何修改。而且,现有图标替换方式替换过程复杂,例如动态Overlay替换图标时,要求每个应用都要新生成一个Overlay apk,在新apk里添加对目标apk资源的替换。

发明内容

本申请实施例提供一种图标处理方法、装置及设备,以克服现有图标替换方式不灵活,且替换过程复杂的问题。

第一方面,本申请实施例提供一种图标处理方法,包括:

判断目标资源对应的图标的标识是否为svg格式的标识;

若所述图标的标识为所述svg格式的标识,则将所述图标的标识替换为便携式网络图形(portable network graphics,png)格式的标识,其中,所述png格式的标识与所述图标的标识为同一标识;

获取所述png格式的标识对应的png图;

将所述图标对应的svg图替换为所述png图。

在一种可能的设计中,所述获取所述png格式的标识对应的png图,包括:

在预设资源包中查找所述png图;

若在所述预设资源包中查找到所述png图,则从所述预设资源包中获取所述png图。

在一种可能的设计中,在所述将所述图标对应的svg图替换为所述png图之后,还包括:

在用户界面加载并显示所述png图。

在一种可能的设计中,在所述判断目标资源对应的图标的标识是否为svg格式的标识之后,还包括:

若所述图标的标识不为所述svg格式的标识,则获取所述图标的标识对应的图;

在用户界面加载并显示所述图标的标识对应的图。

在一种可能的设计中,上述方法还包括:

若在所述预设资源包中没有查找到所述png图,则在用户界面加载并显示所述svg图。

第二方面,本申请实施例提供一种图标处理装置,包括:

判断模块,用于判断目标资源对应的图标的标识是否为svg格式的标识;

第一替换模块,用于若所述图标的标识为所述svg格式的标识,则将所述图标的标识替换为png格式的标识,其中,所述png格式的标识与所述图标的标识为同一标识;

获取模块,用于获取所述png格式的标识对应的png图;

第二替换模块,用于将所述图标对应的svg图替换为所述png图。

在一种可能的设计中,所述获取模块,具体用于:

在预设资源包中查找所述png图;

若在所述预设资源包中查找到所述png图,则从所述预设资源包中获取所述png图。

在一种可能的设计中,所述第二替换模块,还用于:

在用户界面加载并显示所述png图。

在一种可能的设计中,所述获取模块,还用于:

若所述图标的标识不为所述svg格式的标识,则获取所述图标的标识对应的图;

所述第二替换模块,还用于:

在用户界面加载并显示所述图标的标识对应的图。

在一种可能的设计中,所述第二替换模块,还用于

若在所述预设资源包中没有查找到所述png图,则在用户界面加载并显示所述svg图。

第三方面,本申请实施例提供一种图标处理设备,包括:至少一个处理器和存储器;

所述存储器存储计算机执行指令;

所述至少一个处理器执行所述存储器存储的计算机执行指令,使得所述至少一个处理器执行如上第一方面以及第一方面各种可能的设计所述的图标处理方法。

第四方面,本申请实施例提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,当处理器执行所述计算机执行指令时,实现如上第一方面以及第一方面各种可能的设计所述的图标处理方法。

本申请实施例提供的图标处理方法、装置及设备,该方法通过判断目标资源对应的图标的标识是否为svg格式的标识,如果是,则将上述图标的标识替换为png格式的标识,其中,该png格式的标识与上述图标的标识为同一标识,进而,获取上述png格式的标识对应的png图,将上述图标对应的svg图替换为上述png图,在用户界面中加载并显示上述png图,从而,基于png格式图片进行用户界面定制,由于png格式图片可以在图标运行时再进行修改,替换方式灵活,且无需要求每个应用都要新生成一个Overlay apk,在新apk里添加对目标apk资源的替换,可以直接进行替换,替换过程简单,能够根据需要动态切换成各种风格,适合应用。

附图说明

为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1为本申请实施例提供的图标处理系统架构示意图;

图2为本申请实施例提供的一种图标处理方法的流程示意图;

图3为本申请实施例提供的另一种图标处理方法的流程示意图;

图4为本申请实施例提供的再一种图标处理方法的流程示意图;

图5为本申请实施例提供的一种图标处理装置的结构示意图;

图6为本申请提供的一种图标处理设备的基本硬件架构示意图。

具体实施方式

为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

相关技术中,以Android系统为例,在用户界面中,有大量使用svg矢量图的应用软件图标显示。现有各家移动终端厂商对Android系统的用户界面进行定制时,一般会采用编译时替换或者Overlay的方式来替换原svg矢量图的图标。其中,Overlay的方式包括静态Overlay和动态Overlay。

然而,现有图标替换方式不灵活,例如采用编译时替换或静态Overlay的方式替换图标,无法在图标运行时再进行任何修改。而且,现有图标替换方式替换过程复杂,例如动态Overlay替换图标时,要求每个应用都要新生成一个Overlay apk,在新apk里添加对目标apk资源的替换。

因此,考虑到上述问题,本申请提供一种图标处理方法,对svg格式图片在加载流程进行修改,将其替换为同名的png格式的图片,从而,基于png格式图片进行用户界面定制,由于png格式图片可以在图标运行时再进行修改,替换方式灵活,且无需要求每个应用都要新生成一个Overlay apk,在新apk里添加对目标apk资源的替换,可以直接进行替换,替换过程简单,解决现有图标替换方式不灵活,且替换过程复杂的问题。

可选地,本申请实施例提供的图标处理方法可以应用于如图1所示的应用场景中。图1只是以示例的方式描述了本申请实施例提供的图标处理方法的一种可能的应用场景,本申请实施例提供的图标处理方法的应用场景不限于图1所示的应用场景。

图1为图标处理系统架构示意图。在图1中,上述架构包括接收装置101、处理器102和显示装置103中至少一种。

可以理解的是,本申请实施例示意的结构并不构成对图标处理架构的具体限定。在本申请另一些可行的实施方式中,上述架构可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置,具体可根据实际应用场景确定,在此不做限制。图2所示的部件可以以硬件,软件,或软件与硬件的组合实现。

在具体实现过程中,接收装置101可以是输入/输出接口,也可以是通信接口,可以用于接收目标资源对应的图标的标识等信息。

处理器102可以对上述图标对应的svg格式图片在加载流程进行修改,将其替换为同名的png格式的图片。

显示装置103可以用于在用户界面加载并显示上述png格式的图片等。

显示装置还可以是触摸显示屏,用于在显示的上述内容的同时接收用户指令,以实现与用户的交互。

应理解,上述处理器可以通过处理器读取存储器中的指令并执行指令的方式实现,也可以通过芯片电路实现。

另外,本申请实施例描述的系统架构以及业务场景是为了更加清楚的说明本申请实施例的技术方案,并不构成对于本申请实施例提供的技术方案的限定,本领域普通技术人员可知,随着系统架构的演变和新业务场景的出现,本申请实施例提供的技术方案对于类似的技术问题,同样适用。

下面结合附图详细介绍本申请实施例提供的图标处理方法。该方法的执行主体可以为图1中的处理器102。处理器102的工作流程主要包括第一替换阶段和第二替换阶段。在第一替换阶段,处理器102将svg格式的标识替换为png格式的标识,其中,两个标识为同一标识,只是格式不同。在第二替换阶段,处理器102将svg图替换为png图,从而,基于png格式图片进行用户界面定制,解决现有图标替换方式不灵活,且替换过程复杂的问题。

下面以几个实施例为例对本申请的技术方案进行描述,对于相同或相似的概念或过程可能在某些实施例不再赘述。

图2为本申请实施例提供的一种图标处理方法的流程示意图,本实施例的执行主体可以为图1中的处理器102,具体执行主体可以根据实际应用场景确定。如图2所示,在图1所示应用场景的基础上,本申请实施例提供的图标处理方法包括如下步骤:

S201:判断目标资源对应的图标的标识是否为svg格式的标识。

这里,处理器可以在通过应用调用系统接口loadDrawable加载资源时,判断目标资源对应的图标的标识是否为svg格式的标识。其中,目标资源可以根据实际情况确定,本申请实施例对此不做特别限制。上述图标的标识可以为图标的名字或编号等。

示例性的,以上述图标的标识为图标的名字为例,上述判断目标资源对应的图标的标识是否为svg格式的标识可以包括:

判断上述目标资源对应的图标的名字格式是否为svg矢量图的xml格式。

S202:若上述图标的标识为svg格式的标识,则将上述图标的标识替换为png格式的标识,其中,该png格式的标识与上述图标的标识为同一标识。

可选地,还以上述图标的标识为图标的名字为例,如果上述图标的名字为svg格式的名字,则将上述图标的名字替换为同名的png格式的名字,例如**.png。

其中,如果上述图标的标识为图标的名字为例,上述png格式的标识与上述图标的标识为同一标识可以理解为两个标识是同一名字,只是格式不同。

S203:获取上述png格式的标识对应的png图。

在一些可行的实施例中,上述获取上述png格式的标识对应的png图,可以包括:

在预设资源包中查找上述png图;

若在上述预设资源包中查找到上述png图,则从上述预设资源包中获取上述png图。

其中,上述预设资源可以根据实际情况预先设置,本申请实施例对此不做特别限制。

本申请实施例通过在预设资源包中查找上述png格式的标识对应的png图,从而,在查找到时,从上述预设资源包中获取上述png图,简单方便,保证后续处理正常进行。

S204:将上述图标对应的svg图替换为上述png图。

这里,在上述将上述图标对应的svg图替换为上述png图之后,还可以包括:

在用户界面加载并显示上述png图。

示例性的,处理器可以返回drawble对象给loadDrawable,从而,在用户界面加载并显示上述png图。

其中,上述png图可以在图标运行时再进行修改,替换方式灵活,且无需要求每个应用都要新生成一个Overlay apk,在新apk里添加对目标apk资源的替换,可以直接进行替换,替换过程简单。

从上述描述可知,本申请实施例通过判断目标资源对应的图标的标识是否为svg格式的标识,如果是,则将上述图标的标识替换为png格式的标识,其中,该png格式的标识与上述图标的标识为同一标识,进而,获取上述png格式的标识对应的png图,将上述图标对应的svg图替换为上述png图,在用户界面中加载并显示上述png图,从而,基于png格式图片进行用户界面定制,由于png格式图片可以在图标运行时再进行修改,替换方式灵活,且无需要求每个应用都要新生成一个Overlay apk,在新apk里添加对目标apk资源的替换,可以直接进行替换,替换过程简单,能够根据需要动态切换成各种风格,适合应用。

另外,本申请实施例考虑在预设资源包中查找上述png图时,如果查找到,则从上述预设资源包中获取上述png图,如果没有查找到,则在用户界面加载并显示上述图标对应的svg图,图3位本申请实施例提供的另一种图标处理方法的流程示意图,如图3所示,该方法可以包括:

S301:判断目标资源对应的图标的标识是否为svg格式的标识。

S302:若上述图标的标识为svg格式的标识,则将上述图标的标识替换为png格式的标识,其中,该png格式的标识与上述图标的标识为同一标识。

其中,步骤S301-S302与上述步骤S201-S202的实现方式相同,此处不再赘述。

S303:在预设资源包中查找上述png格式的标识对应的png图。

S304:若在上述预设资源包中查找到上述png图,则从上述预设资源包中获取上述png图。

S305:将上述图标对应的svg图替换为上述png图,在用户界面加载并显示上述png图。

S306:若在上述预设资源包中没有查找到上述png图,则在用户界面加载并显示上述图标对应的svg图。

这里,如果查找上述png格式的标识对应的png图,则将上述图标对应的svg图替换为上述png图,从而,在用户界面加载并显示上述png图,解决现有图标替换方式不灵活,且替换过程复杂的问题。如果没有查找上述png格式的标识对应的png图,则在用户界面加载并显示上述图标对应的svg图,即在用户界面加载并显示上述图标对应的原生图片,保证用户界面的图标正常显示,适合应用。

另外,如果在上述预设资源包中没有查找到上述png图,可以进行相应提示,以便相关人员能够基于该提示对上述预设资源包中的资源进行更新,以便下次能够查找到上述png格式的标识对应的png图,满足应用需要。

本申请实施例考虑能够查找到或不能查找到上述png格式的标识对应的png图两种情况,进而基于两种情况进行不同处理,适合应用。而且本申请实施例在基于png格式图片进行用户界面定制时,由于png格式图片可以在图标运行时再进行修改,替换方式灵活,且无需要求每个应用都要新生成一个Overlay apk,在新apk里添加对目标apk资源的替换,可以直接进行替换,替换过程简单,解决现有图标替换方式不灵活,且替换过程复杂的问题。

另外,本申请实施例考虑在判断目标资源对应的图标的标识是否为svg格式的标识之后,如果上述图标的标识不为svg格式的标识,则获取上述图标的标识对应的图,图4位本申请实施例提供的再一种图标处理方法的流程示意图,如图4所示,该方法可以包括:

S401:判断目标资源对应的图标的标识是否为svg格式的标识。

S402:若上述图标的标识为svg格式的标识,则将上述图标的标识替换为png格式的标识,其中,该png格式的标识与上述图标的标识为同一标识。

S403:获取上述png格式的标识对应的png图。

S404:将上述图标对应的svg图替换为上述png图,在用户界面加载并显示上述png图。

其中,步骤S401-S404的实现方式可以参考上述步骤S201-S204的实现方式,此处不再赘述。

S405:若上述图标的标识不为svg格式的标识,则获取上述图标的标识对应的图。

S406:在用户界面加载并显示上述图标的标识对应的图。

从上述描述可知,本申请实施例在判断目标资源对应的图标的标识是否为svg格式的标识之后,如果是,则将上述图标对应的svg图替换为上述png图,从而,在用户界面加载并显示上述png图,解决现有图标替换方式不灵活,且替换过程复杂的问题。如果不是,则获取上述图标的标识对应的图,进而在用户界面加载并显示上述图标的标识对应的图,保证用户界面的图标正常显示,适合应用。

对应于上文实施例的图标处理方法,图5为本申请实施例提供的图标处理装置的结构示意图。为了便于说明,仅示出了与本申请实施例相关的部分。图5为本申请实施例提供的一种图标处理装置的结构示意图。如图5所示,该图标处理装置50包括:判断模块501、第一替换模块502、获取模块503和第二替换模块504。这里的图标处理装置可以是上述处理器本身,或者是实现处理器的功能的芯片或者集成电路。这里需要说明的是,判断模块、第一替换模块、获取模块和第二替换模块的划分只是一种逻辑功能的划分,物理上两者可以是集成的,也可以是独立的。

其中,判断模块501,用于判断目标资源对应的图标的标识是否为svg格式的标识。

第一替换模块502,用于若所述图标的标识为所述svg格式的标识,则将所述图标的标识替换为png格式的标识,其中,所述png格式的标识与所述图标的标识为同一标识。

获取模块503,用于获取所述png格式的标识对应的png图。

第二替换模块504,用于将所述图标对应的svg图替换为所述png图。

在一种可能的设计中,所述获取模块503,具体用于:

在预设资源包中查找所述png图;

若在所述预设资源包中查找到所述png图,则从所述预设资源包中获取所述png图。

在一种可能的设计中,所述第二替换模块504,还用于:

在用户界面加载并显示所述png图。

在一种可能的设计中,所述获取模块503,还用于:

若所述图标的标识不为所述svg格式的标识,则获取所述图标的标识对应的图;

所述第二替换模块504,还用于:

在用户界面加载并显示所述图标的标识对应的图。

在一种可能的设计中,所述第二替换模块504,还用于

若在所述预设资源包中没有查找到所述png图,则在用户界面加载并显示所述svg图。

本申请实施例提供的装置,可用于执行上述方法实施例的技术方案,其实现原理和技术效果类似,本申请实施例此处不再赘述。

可选地,图6示意性地提供本申请所述图标处理设备的一种可能的基本硬件架构。

参见图6,图标处理设备600包括至少一个处理器601以及通信接口603。进一步可选的,还可以包括存储器602和总线604。

其中,图标处理设备600可以是客户端或服务器,本申请对此不作特别限制。图标处理设备600中,处理器601的数量可以是一个或多个,图6仅示意了其中一个处理器601。可选地,处理器601,可以是中央处理器(central processing unit,CPU)、图形处理器(graphics processing unit,GPU)或者数字信号处理器(digital signal processor,DSP)。如果图标处理设备600具有多个处理器601,多个处理器601的类型可以不同,或者可以相同。可选地,图标处理设备600的多个处理器601还可以集成为多核处理器。

存储器602存储计算机指令和数据;存储器602可以存储实现本申请提供的上述图标处理方法所需的计算机指令和数据,例如,存储器602存储用于实现上述图标处理方法的步骤的指令。存储器602可以是以下存储介质的任一种或任一种组合:非易失性存储器(例如只读存储器(ROM)、固态硬盘(SSD)、硬盘(HDD)、光盘),易失性存储器。

通信接口603可以为所述至少一个处理器提供信息输入/输出。也可以包括以下器件的任一种或任一种组合:网络接口(例如以太网接口)、无线网卡等具有网络接入功能的器件。

可选的,通信接口603还可以用于图标处理设备600与其它计算设备或者终端进行数据通信。

进一步可选的,图6用一条粗线表示总线604。总线604可以将处理器601与存储器602和通信接口603连接。这样,通过总线604,处理器601可以访问存储器602,还可以利用通信接口603与其它计算设备或者终端进行数据交互。

在本申请中,图标处理设备600执行存储器602中的计算机指令,使得图标处理设备600实现本申请提供的上述图标处理方法,或者使得图标处理设备600部署上述的图标处理设备。

从逻辑功能划分来看,示例性的,如图6所示,存储器602中可以包括判断模块501、第一替换模块502、获取模块503和第二替换模块504。这里的包括仅仅涉及存储器中所存储的指令被执行时可以分别实现判断模块、第一替换模块、获取模块和第二替换模块的功能,而不限定是物理上的结构。

其中,判断模块501,用于判断目标资源对应的图标的标识是否为svg格式的标识。

第一替换模块502,用于若所述图标的标识为所述svg格式的标识,则将所述图标的标识替换为png格式的标识,其中,所述png格式的标识与所述图标的标识为同一标识。

获取模块503,用于获取所述png格式的标识对应的png图。

第二替换模块504,用于将所述图标对应的svg图替换为所述png图。

在一种可能的设计中,所述获取模块503,具体用于:

在预设资源包中查找所述png图;

若在所述预设资源包中查找到所述png图,则从所述预设资源包中获取所述png图。

在一种可能的设计中,所述第二替换模块504,还用于:

在用户界面加载并显示所述png图。

在一种可能的设计中,所述获取模块503,还用于:

若所述图标的标识不为所述svg格式的标识,则获取所述图标的标识对应的图;

所述第二替换模块504,还用于:

在用户界面加载并显示所述图标的标识对应的图。

在一种可能的设计中,所述第二替换模块504,还用于

若在所述预设资源包中没有查找到所述png图,则在用户界面加载并显示所述svg图。

另外,上述的图标处理设备除了可以像上述图6通过软件实现外,也可以作为硬件模块,或者作为电路单元,通过硬件实现。

本申请提供一种计算机可读存储介质,所述计算机程序产品包括计算机指令,所述计算机指令指示计算设备执行本申请提供的上述图标处理方法。

本申请提供一种芯片,包括至少一个处理器和通信接口,所述通信接口为所述至少一个处理器提供信息输入和/或输出。进一步,所述芯片还可以包含至少一个存储器,所述存储器用于存储计算机指令。所述至少一个处理器用于调用并运行该计算机指令,以执行本申请提供的上述图标处理方法。

在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。

相关技术
  • 一种状态图标显示方法、状态图标处理方法及相关设备
  • 图标处理方法、装置、电子设备及计算机可读介质
技术分类

06120113823093