一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

文字显示异常的检测方法、装置、电子设备及程序产品与流程

2022-07-22 23:44:28 来源:中国专利 TAG:


1.本公开涉及图像显示技术领域,具体涉及一种文字显示异常的检测方法、装置、电子设备及程序产品。


背景技术:

2.随着技术的发展,出现了越来越多的应用端。应用端运行在电子设备的操作系统上,通常会使用操作系统的原生接口实现一些功能。以电子地图为例,电子地图在显示文字时,可以利用操作系统的原生接口获取对应的文字位图,并基于获取的文字位图在电子地图上显示相应的文字。然而,通过操作系统的原生接口获取的文字位图会随着用户对于系统设置的改变而改变,例如用户可以通过操作系统所提供的设置接口将系统的默认字体修改彩色字体,或者设置成添加字体轮廓的显示方式,这种情况下,电子地图利用操作系统的原生接口获取文字位图,并对文字位图进行二次加工后,会出现文字模糊等问题;并且一些情况下,在用户通过操作系统所提供的设置接口使用特殊字体时,电子地图通过操作系统的原生接口获取的文字位图本身就是错误的,这是由于操作系统本身可能并不支持该种字体。
3.因此,需要提出一种解决方案,以便能够在应用端利用操作系统的原生接口获取文字位图时,预先检测是否会发生文字显示异常的情况。


技术实现要素:

4.本公开实施例提供一种文字显示异常的检测方法、装置、电子设备及程序产品。
5.第一方面,本公开实施例中提供了一种文字显示异常的检测方法,其中,包括:
6.利用操作系统接口获取第一文字位图和第二文字位图;所述第一文字位图和第二文字位图分别对应不同的文字;
7.分别确定所述第一文字位图和所述第二文字位图的颜色填充率;
8.基于所述第一文字位图和所述第二文字位图的颜色填充率以及预设对应关系确定在应用端上显示文字时是否会发生异常。
9.进一步地,分别确定所述第一文字位图和所述第二文字位图的颜色填充率,包括:
10.统计所述第一文字位图中非透明像素的第一像素数,以及统计所述第二文字位图中非透明像素的第二像素数;
11.基于所述第一像素数与所述第一文字位图中的总像素数之比确定所述第一文字位图的第一填充率;
12.基于所述第二像素数与所述第二文字位图中的总像素数之比确定所述第二文字位图的第二填充率。
13.进一步地,基于所述第一文字位图和所述第二文字位图的颜色填充率以及预设对应关系确定在应用端上显示文字时是否会发生异常,包括:
14.在所述第一填充率以及所述第二填充率相等,或者所述第一填充率和第二填充率
之一大于或等于预设阈值时,确定在所述应用端上显示文字会发生异常。
15.进一步地,所述方法还包括:
16.在确定所述应用端上显示文字会发生异常后,配置所述应用端,以便后续通过指定默认字体的方式获取文字位图。
17.进一步地,所述方法还包括:
18.在应用端启动后,周期性地触发文字显示异常的检测流程,以检测在应用端显示文字是否会发生异常。
19.进一步地,分别确定所述第一文字位图和所述第二文字位图的颜色填充率之前,所述方法还包括:
20.在所述第一文字位图和所述第二文字位图为多通道模式时,将所述第一文字位图和所述第二文字位图转换成单通道灰度图;
21.分别确定所述第一文字位图和所述第二文字位图的颜色填充率,包括:
22.分别基于所述第一文字位图和所述第二文字位图对应的单通道灰度图中,像素值大于0的像素数确定所述颜色填充率。
23.第二方面,本发明实施例中提供了一种基于位置的服务提供方法,包括:利用第一方面所述的方法检测电子地图上的文字显示异常,并基于检测结果为被服务对象提供基于位置的服务,所述基于位置的服务包括:导航、地图渲染、路线规划中的一种或多种。
24.第三方面,本发明实施例中提供了一种文字显示异常的检测装置,其中,包括:
25.获取模块,被配置为利用操作系统接口获取第一文字位图和第二文字位图;所述第一文字位图和第二文字位图分别对应不同的文字;
26.第一确定模块,被配置为分别确定所述第一文字位图和所述第二文字位图的颜色填充率;
27.第二确定模块,被配置为基于所述第一文字位图和所述第二文字位图的颜色填充率以及预设对应关系确定在应用端上显示文字时是否会发生异常。
28.第四方面,本发明实施例中提供了一种基于位置的服务提供装置,包括:利用第三方面所述的装置检测电子地图上的文字显示异常,并基于检测结果为被服务对象提供基于位置的服务,所述基于位置的服务包括:导航、地图渲染、路线规划中的一种或多种。
29.所述功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。所述硬件或软件包括一个或多个与上述功能相对应的模块。
30.在一个可能的设计中,上述装置的结构中包括存储器和处理器,所述存储器用于存储一条或多条支持上述装置执行上述对应方法的计算机指令,所述处理器被配置为用于执行所述存储器中存储的计算机指令。上述装置还可以包括通信接口,用于上述装置与其他设备或通信网络通信。
31.第五方面,本公开实施例提供了一种电子设备,包括存储器、处理器以及存储在存储器上的计算机程序,其中,所述处理器执行所述计算机程序以实现上述任一方面所述的方法。
32.第六方面,本公开实施例提供了一种计算机可读存储介质,用于存储上述任一装置所用的计算机指令,该计算机指令被处理器执行时用于实现上述任一方面所述的方法。
33.第七方面,本公开实施例提供了一种计算机程序产品,其包含计算机指令,该计算
机指令被处理器执行时用于实现上述任一方面所述的方法。
34.本公开实施例提供的技术方案可以包括以下有益效果:
35.本公开实施例在应用端检测文字显示是否异常的过程中,利用操作系统接口获取第一文字位图和第二文字位图,第一文字位图和第二文字位图对应不同文字,并分别确定第一文字位图和第二文字位图的颜色填充率,进而再基于该颜色填充率以及预设对应关系确定在应用端显示文字时是否为发生异常。本公开实施例利用文字位图的颜色填充率检测文字显示是否会发生异常,并且简化了文字异常显示的检测方式,提高了文字异常显示的检测效率,能够有效检测出在应用端可能出现的文字显示异常问题。
36.应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
37.结合附图,通过以下非限制性实施方式的详细描述,本公开的其它特征、目的和优点将变得更加明显。在附图中:
38.图1示出根据本公开一实施方式的文字显示异常的检测方法流程图;
39.图2示出根据本公开一实施方式中导航场景下的应用场景示意图;
40.图3示出根据本公开一实施方式的文字显示异常的检测装置的结构框图;
41.图4是适于用来实现根据本公开实施方式的文字显示异常的检测方法和/或基于位置的服务提供方法的电子设备的结构示意图。
具体实施方式
42.下文中,将参考附图详细描述本公开的示例性实施方式,以使本领域技术人员可容易地实现它们。此外,为了清楚起见,在附图中省略了与描述示例性实施方式无关的部分。
43.在本公开中,应理解,诸如“包括”或“具有”等的术语旨在指示本说明书中所公开的特征、数字、步骤、行为、部件、部分或其组合的存在,并且不排除一个或多个其他特征、数字、步骤、行为、部件、部分或其组合存在或被添加的可能性。
44.另外还需要说明的是,在不冲突的情况下,本公开中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本公开。
45.下面通过具体实施例详细介绍本公开实施例的细节。
46.图1示出根据本公开一实施方式的文字显示异常的检测方法流程图。如图1所示,该文字显示异常的检测方法包括以下步骤:
47.在步骤s101中,利用操作系统接口获取第一文字位图和第二文字位图;所述第一文字位图和第二文字位图分别对应不同的文字;
48.在步骤s102中,分别确定所述第一文字位图和所述第二文字位图的颜色填充率;
49.在步骤s103中,基于所述第一文字位图和所述第二文字位图的颜色填充率确定在应用端上显示文字时是否会发生异常。
50.本实施例中,该方法在运行有应用端的电子设备上执行。该应用端可以是运行在电子设备的任意应用app,应用端可以在应用界面上显示文字。应用端被安装在电子设备
上,并在运行中利用电子设备的操作系统提供的原生接口获取待显示文字的文字位图。在一些实施例中,应用端可以是电子地图应用端。当然,可以理解的是,应用端也可以是其他通过调用操作系统的原生接口获取文字位图并显示文字的应用端。
51.如背景技术所述,操作系统通常会提供系统设置功能,用户可以利用系统设置功能将系统显示字体从系统默认字体修改成个性化字体,比如彩色字体、添加轮廓的字体等。然而,这种个性化字体可能不被应用端所识别,因此在应用端利用操作系统的原生接口获取到这类字体的文字位图后,会出现显示异常的情况,比如显示成黑色方块,或者字体较粗等。
52.为了解决这一问题,已有技术中常见的两种解决方案是:
53.1、利用模式识别方式识别字体显示错误的情况;但是这种方式算法复杂,实现难度高,并且需要依赖人工智能模型,会增加应用端的安装包体积。
54.2、在应用端的安装包中集成内置字体,应用端显示文字时直接获取安装包内置字体,而不通过操作系统的原生接口获取;这种方式同样会增加应用端的安装包体积,并且由于需要管理内置字体从而会加大内存开销,而且这种方式无法支持多语言环境。
55.为此,本公开实施例提出了一种文字显示异常的检测方法。该方法中,在检测应用端上显示文字是否会发生异常的过程中,先利用操作系统获取第一文字位图和第二文字位图,第一文字位图和第二文字位图对应不同的文字;获取到第一文字位图和第二位文字位图后,分别确定第一文字位图和第二文字位图的颜色填充率。需要说明的是,第一文字位图和第二文字位图对应的文字可以包括中文、英文等任意语言的文字。
56.可以理解的是,文字位图的颜色填充率与位图中的像素点有关,有的像素点具有有颜色,而有的像素点不具有颜色,也即透明,而颜色填充率则可以理解为有颜色像素点在总像素点中所占的比例。
57.在确定了第一文字位图和第二文字位图的颜色填充率之后,可以基于第一文字位图的颜色填充率和第二文字位图的颜色填充率来确定应用端使用操作系统的原生接口所获取的文字位图在显示时是否会发生异常。
58.例如,如果利用操作系统的原生接口获取的文字位图呈现黑色方块的形式,或者字体特别粗,则可以认为发生了文字显示异常的情况。而文字位图的颜色填充率则可以反映出呈现黑色方块或者字体特别粗这两种情况,因此可以通过多次试验找出呈现黑色方块或者字体特别粗这类异常情况与颜色填充率的对应关系,即可基于颜色填充率确定在应用端显示文字是否会发生错误。
59.因此,在一些实施例中,可以预先建立颜色填充率与文字显示异常的预设对应关系,基于该预设对应关系以及两个文字位图的颜色填充率,确定在应用端显示基于操作系统的原生接口获得的文字位图时是否会发生异常。
60.可以理解的是,该预设对应关系可以基于所选取的第一文字位图、第二文字位图之间的差别而不同,具体可以根据实际应用情况而预先设置,在此不做具体限制。
61.本公开实施例在应用端检测文字显示是否异常的过程中,利用操作系统接口获取第一文字位图和第二文字位图,第一文字位图和第二文字位图对应不同文字,并分别确定第一文字位图和第二文字位图的颜色填充率,进而再基于该颜色填充率以及预设对应关系确定在应用端显示文字时是否为发生异常。本公开实施例利用文字位图的颜色填充率检测
文字显示是否会发生异常,并且简化了文字异常显示的检测方式,提高了文字异常显示的检测效率,能够有效检测出在应用端可能出现的文字显示异常问题。
62.在本实施例的一个可选实现方式中,步骤s102,即分别确定所述第一文字位图和所述第二文字位图的颜色填充率的步骤,进一步包括以下步骤:
63.统计所述第一文字位图中非透明像素的第一像素数,以及统计所述第二文字位图中非透明像素的第二像素数;
64.基于所述第一像素数与所述第一文字位图中的总像素数之比确定所述第一文字位图的第一填充率;
65.基于所述第二像素数与所述第二文字位图中的总像素数之比确定所述第二文字位图的第二填充率。
66.该可选的实现方式中,文字位图的颜色填充率可以理解为显示该文字位图后能显示颜色的部分在整个文字位图中所占的比重,其可以基于非透明像素占总像素的比值来确定,具体计算的过程如下:
67.可以分别统计第一文字位图和第二文字位图中非透明像素的数量,得到第一像素数和第二像素数。通常情况下,位图中透明像素的像素值为0,非透明像素包括像素值不为0的所有像素。第一像素数与第一文字位图中总像素数的比值可以确定为第一填充率,第二像素数与第二文字位图中总像素数的比值可以确定为第二填充率。
68.在本实施例的一个可选实现方式中,步骤s103,即基于所述第一文字位图和所述第二文字位图的颜色填充率以及预设对应关系确定在应用端上显示文字时是否会发生异常的步骤,进一步包括以下步骤:
69.在所述第一填充率以及所述第二填充率相等,或者所述第一填充率和第二填充率之一大于或等于预设阈值时,确定在所述应用端上显示文字会发生异常。
70.该可选的实现方式中,第一文字位图和第二文字位图可以对应不同的两个文字,并且该两个文字的笔画数目之差可以大于或者等于预设差值。例如,在一些实施例中第一文字位图可以选取笔画较多的文字,而第二文字位图可以选取笔画较少的文字,笔画较多的文字与笔画较少的文字的笔画数目差值大于或等于预设差值,预设差值可以基于经验值来确定。
71.一种文字显示异常的情况是:基于操作系统的原生接口获取的文字位图本身有误,呈现黑色方块的形式,这种情况下两个不同文字对应的第一文字位图和第二文字位图的颜色填充率相同,因此可以预先建立第一文字位图和第二文字位图的颜色填充率相等与在应用端上显示文字会发生异常之间的预设对应关系,进而基于该预设对应关系确定在应用端上显示文字是否会发生异常。
72.另一种文字显示异常的情况是:基于操作系统的原生接口获取的文字位图虽然能够显示正确的文字,但是可能由于用户通过系统设置功能对字体进行了个性化设置,从而导致该文字位图的字体较粗,进而在应用端显示时可能会造成显示不清楚的异常。这种情况下,文字位图的颜色填充率会比较高,即使是笔画数较少的文字对应的文字位图对应的颜色填充率也会高于正常情况下的颜色填充率。因此,针对这种情况,可以预先根据经验值确定颜色填充率对应的预设阈值,并在第一文字位图或第二文字位图对应的颜色填充率大于或等于预设阈值与在应用端显示文字会发生异常之间建立预设对应关系,进而基于该预
设对应关系确定在应用端上显示文字是否会发生异常。
73.在实际计算得到的第一填充率和第二填充率满足上述任意一种预设对应关系时,可以确定在应用端显示文字会发生异常;否则,在第一填充率和第二填充率均不满足上述两预设对应关系时,可以确定在应用端显示文字不会发生异常。
74.在本实施例的一个可选实现方式中,所述方法进一步还包括以下步骤:
75.在确定所述应用端上显示文字会发生异常后,配置所述应用端,以便后续通过指定默认字体的方式获取文字位图。
76.该可选的实现方式中,对于应用端使用操作系统的原生接口获取文字位图,并在应用端界面显示文字的情况,可以预先基于本公开实施例提出的上述方法判断当前场景下是否会发生显示文字异常的情况,如果判断出会发生显示文字异常的情况,则可以对应用端进行设置,以便应用端后续在利用操作系统的原生接口获取文字位图时,均通过指定获取默认字体对应的文字位图,而不是获取经过用户设置的个性化字体,通过这种方式即可避免由于用户通过系统设置功能设置了个性化字体后,导致在应用端显示文字异常的问题。
77.在本实施例的一个可选实现方式中,所述方法进一步还包括以下步骤:
78.在应用端启动后,周期性地触发文字显示异常的检测流程,以检测在应用端显示文字是否会发生异常。
79.该可选的实现方式中,考虑到用户通过系统设置功能设置个性化字体的操作会发生在任何时候,因此可以在应用端启动后,周期性地利用本公开实施例提出的上述方法确定在应用端显示文字是否会发生异常。
80.在一些实施例中,可以在应用端启动之初检测一次,之后再每隔一个预设周期进行一次检测。通过这种方式,可以较为及时地检测出文字的显示异常情况,并能够及时采取措施解决文字显示异常的问题。此外,通过这种方式能够在提供正确的文字显示效果的前提下,尽量满足用户个性化的文字显示需求。
81.在本实施例的一个可选实现方式中,步骤s102,即分别确定所述第一文字位图和所述第二文字位图的颜色填充率的步骤之前,所述方法进一步还包括以下步骤:
82.在所述第一文字位图和所述第二文字位图为多通道模式时,将所述第一文字位图和所述第二文字位图转换成单通道灰度图;
83.步骤s102,即分别确定所述第一文字位图和所述第二文字位图的颜色填充率的步骤,包括:
84.分别基于所述第一文字位图和所述第二文字位图对应的单通道灰度图中,像素值大于0的像素数确定所述颜色填充率。
85.该可选的实现方式中,一方面为了能够准确统计出文字位图的颜色填充率,另一方面在应用端通常会将操作系统的原生接口返回的文字位图进行二次加工,例如会转换成a8格式后进行显示,在进行二次加工时通常需要将多通道模式的文字位图转换成单通道灰度图。因此,本公开实施例在确定第一文字位图和第二文字位图的颜色填充率之前,如果第一文字位图和第二文字位图为多通道模式时,可以先转换成单通道灰度图,之后再统计大于0的像素值(大于0的像素值即为单通道灰度图中非透明像素),进而基于统计结果确定第一文字位图和第二文字位图的颜色填充率。通过这种方式,能够得到较为准确的颜色填充
率。
86.根据本公开一实施方式的基于位置的服务提供方法,该基于位置的服务提供方法利用上述文字现实异常的检测方法检测电子地图上的文字显示异常,并基于检测结果为被服务对象提供基于位置的服务,所述基于位置的服务包括:导航、地图渲染、路线规划中的一种或多种。
87.本实施例中,该基于位置的服务提供方法可以在终端上执行,终端可以包括手机、ipad、电脑、智能手表、车辆等。本公开实施例,在电子地图应用端启动后,可以利用上述方法检测电子地图在当前电子设备上运行过程中,基于电子设备上的操作系统提供的原生接口获取文字位图后,在电子地图上是否会发生显示异常的情况,如果会发生显示异常的情况,则配置该电子地图在后续的地图渲染、导航、路径规划等过程中,需要显示文字时,从操作系统的原生接口获取指定默认字体的文字位图,进而再显示默认字体的文字位图进行显示。
88.被服务对象可以是手机、ipad、电脑、智能手表、车辆、机器人等。在为被服务对象导航、规划路径或者渲染地图上的道路时,还可以周期性的启动上述文字显示异常的检测方法检测在电子地图上显示文字是否会发生异常的情况,如果会发生异常,并且电子地图上未配置成指定默认字体的方式获取文字位图时,配置电子地图以指定默认字体的方式获取文字位图后进行显示;而在电子地图上已经配置了以指定默认字体的方式获取文字位图时,则不对电子地图进行任何配置;但是如果检测出不会发生文字显示异常,且电子地图上配置成以指定默认字体的方式获取文字位图时,可以恢复电子地图的配置,使得电子地图直接从操作系统的原生接口获取文字位图,而不指定以默认字体的方式获取。
89.图2示出根据本公开一实施方式中导航场景下的应用场景示意图。如图2所示,手机上安装有电子地图。用户将手机上的字体显示修改成了显示彩色字体。用户启动电子地图启动后,根据预先的配置,调用安卓系统的接口获取文字“的”对应的第一文字位图和文字“一”对应的第二文字位图,计算第一文字位图和第二文字位图的颜色填充率,该第一文字位图和第二文字位图对应的颜色填充率相等,因此可以确定在电子地图上显示文字会发生异常。此时,修改电子地图上的配置,使得电子地图后续以指定默认字体的方式获取文字位图。
90.电子地图基于手机当前的定位,在地图界面上显示电子地图,并调用安卓系统的原生接口获取电子地图上poi对应的文字位图,在调用安卓系统的原生接口时,指定以默认字体获取poi对应的文字位图,并将所获取到的文字位图显示在电子地图上,该文字位图以默认字体显示在电子地图上,而不是以彩色字体显示。
91.下述为本公开装置实施例,可以用于执行本公开方法实施例。
92.图3示出根据本公开一实施方式的文字显示异常的检测装置的结构框图。该装置可以通过软件、硬件或者两者的结合实现成为电子设备的部分或者全部。如图3所示,该文字显示异常的检测装置包括:
93.获取模块301,被配置为利用操作系统接口获取第一文字位图和第二文字位图;所述第一文字位图和第二文字位图分别对应不同的文字;
94.第一确定模块302,被配置为分别确定所述第一文字位图和所述第二文字位图的颜色填充率;
95.第二确定模块303,被配置为基于所述第一文字位图和所述第二文字位图的颜色填充率以及预设对应关系确定在应用端上显示文字时是否会发生异常。
96.本实施例中,该装置在运行有应用端的电子设备上执行。该应用端可以是运行在电子设备的任意应用app,应用端可以在应用界面上显示文字。应用端被安装在电子设备上,并在运行中利用电子设备的操作系统提供的原生接口获取待显示文字的文字位图。在一些实施例中,应用端可以是电子地图应用端。当然,可以理解的是,应用端也可以是其他通过调用操作系统的原生接口获取文字位图并显示文字的应用端。
97.如背景技术所述,操作系统通常会提供系统设置功能,用户可以利用系统设置功能将系统显示字体从系统默认字体修改成个性化字体,比如彩色字体、添加轮廓的字体等。然而,这种个性化字体可能不被应用端所识别,因此在应用端利用操作系统的原生接口获取到这类字体的文字位图后,会出现显示异常的情况,比如显示成黑色方块,或者字体较粗等。
98.为了解决这一问题,已有技术中常见的两种解决方案是:
99.1、利用模式识别方式识别字体显示错误的情况;但是这种方式算法复杂,实现难度高,并且需要依赖人工智能模型,会增加应用端的安装包体积。
100.2、在应用端的安装包中集成内置字体,应用端显示文字时直接获取安装包内置字体,而不通过操作系统的原生接口获取;这种方式同样会增加应用端的安装包体积,并且由于需要管理内置字体从而会加大内存开销,而且这种方式无法支持多语言环境。
101.为此,本公开实施例提出了一种文字显示异常的检测装置。该装置中,在检测应用端上显示文字是否会发生异常的过程中,先利用操作系统获取第一文字位图和第二文字位图,第一文字位图和第二文字位图对应不同的文字;获取到第一文字位图和第二位文字位图后,分别确定第一文字位图和第二文字位图的颜色填充率。需要说明的是,第一文字位图和第二文字位图对应的文字可以包括中文、英文等任意语言的文字。
102.可以理解的是,文字位图的颜色填充率与位图中的像素点有关,有的像素点具有有颜色,而有的像素点不具有颜色,也即透明,而颜色填充率则可以理解为有颜色像素点在总像素点中所占的比例。
103.在确定了第一文字位图和第二文字位图的颜色填充率之后,可以基于第一文字位图的颜色填充率和第二文字位图的颜色填充率来确定应用端使用操作系统的原生接口所获取的文字位图在显示时是否会发生异常。
104.例如,如果利用操作系统的原生接口获取的文字位图呈现黑色方块的形式,或者字体特别粗,则可以认为发生了文字显示异常的情况。而文字位图的颜色填充率则可以反映出呈现黑色方块或者字体特别粗这两种情况,因此可以通过多次试验找出呈现黑色方块或者字体特别粗这类异常情况与颜色填充率的对应关系,即可基于颜色填充率确定在应用端显示文字是否会发生错误。
105.因此,在一些实施例中,可以预先建立颜色填充率与文字显示异常的预设对应关系,基于该预设对应关系以及两个文字位图的颜色填充率,确定在应用端显示基于操作系统的原生接口获得的文字位图时是否会发生异常。
106.可以理解的是,该预设对应关系可以基于所选取的第一文字位图、第二文字位图之间的差别而不同,具体可以根据实际应用情况而预先设置,在此不做具体限制。
107.本公开实施例在应用端检测文字显示是否异常的过程中,利用操作系统接口获取第一文字位图和第二文字位图,第一文字位图和第二文字位图对应不同文字,并分别确定第一文字位图和第二文字位图的颜色填充率,进而再基于该颜色填充率以及预设对应关系确定在应用端显示文字时是否为发生异常。本公开实施例利用文字位图的颜色填充率检测文字显示是否会发生异常,简化了文字异常显示的检测方式,提高了文字异常显示的检测效率,能够有效检测出在应用端可能出现的文字显示异常问题。
108.在本实施例的一个可选实现方式中,所述第一确定模块,包括:
109.统计子模块,被配置为统计所述第一文字位图中非透明像素的第一像素数,以及统计所述第二文字位图中非透明像素的第二像素数;
110.第一确定子模块,被配置为基于所述第一像素数与所述第一文字位图中的总像素数之比确定所述第一文字位图的第一填充率;
111.第二确定子模块,被配置为基于所述第二像素数与所述第二文字位图中的总像素数之比确定所述第二文字位图的第二填充率。
112.该可选的实现方式中,文字位图的颜色填充率可以理解为显示该文字位图后能显示颜色的部分在整个文字位图中所占的比重,其可以基于非透明像素占总像素的比值来确定,具体计算的过程如下:
113.可以分别统计第一文字位图和第二文字位图中非透明像素的数量,得到第一像素数和第二像素数。通常情况下,位图中透明像素的像素值为0,非透明像素包括像素值不为0的所有像素。第一像素数与第一文字位图中总像素数的比值可以确定为第一填充率,第二像素数与第二文字位图中总像素数的比值可以确定为第二填充率。
114.在本实施例的一个可选实现方式中,所述第二确定模块,包括:
115.第三确定子模块,被配置为在所述第一填充率以及所述第二填充率相等,或者所述第一填充率和第二填充率之一大于或等于预设阈值时,确定在所述应用端上显示文字会发生异常。
116.该可选的实现方式中,第一文字位图和第二文字位图可以对应不同的两个文字,并且该两个文字的笔画数目之差可以大于或者等于预设差值。例如,在一些实施例中第一文字位图可以选取笔画较多的文字,而第二文字位图可以选取笔画较少的文字,笔画较多的文字与笔画较少的文字的笔画数目差值大于或等于预设差值,预设差值可以基于经验值来确定。
117.一种文字显示异常的情况是:基于操作系统的原生接口获取的文字位图本身有误,呈现黑色方块的形式,这种情况下两个不同文字对应的第一文字位图和第二文字位图的颜色填充率相同,因此可以预先建立第一文字位图和第二文字位图的颜色填充率相等与在应用端上显示文字会发生异常之间的预设对应关系,进而基于该预设对应关系确定在应用端上显示文字是否会发生异常。
118.另一种文字显示异常的情况是:基于操作系统的原生接口获取的文字位图虽然能够显示正确的文字,但是可能由于用户通过系统设置功能对字体进行了个性化设置,从而导致该文字位图的字体较粗,进而在应用端显示时可能会造成显示不清楚的异常。这种情况下,文字位图的颜色填充率会比较高,即使是笔画数较少的文字对应的文字位图对应的颜色填充率也会高于正常情况下的颜色填充率。因此,针对这种情况,可以预先根据经验值
确定颜色填充率对应的预设阈值,并在第一文字位图或第二文字位图对应的颜色填充率大于或等于预设阈值与在应用端显示文字会发生异常之间建立预设对应关系,进而基于该预设对应关系确定在应用端上显示文字是否会发生异常。
119.在实际计算得到的第一填充率和第二填充率满足上述任意一种预设对应关系时,可以确定在应用端显示文字会发生异常;否则,在第一填充率和第二填充率均不满足上述两预设对应关系时,可以确定在应用端显示文字不会发生异常。
120.在本实施例的一个可选实现方式中,所述装置还包括:
121.配置模块,被配置为在确定所述应用端上显示文字会发生异常后,配置所述应用端,以便后续通过指定默认字体的方式获取文字位图。
122.该可选的实现方式中,对于应用端使用操作系统的原生接口获取文字位图,并在应用端界面显示文字的情况,可以预先基于本公开实施例提出的上述装置判断当前场景下是否会发生显示文字异常的情况,如果判断出会发生显示文字异常的情况,则可以对应用端进行设置,以便应用端后续在利用操作系统的原生接口获取文字位图时,均通过指定获取默认字体对应的文字位图,而不是获取经过用户设置的个性化字体,通过这种方式即可避免由于用户通过系统设置功能设置了个性化字体后,导致在应用端显示文字异常的问题。
123.在本实施例的一个可选实现方式中,所述装置还包括:
124.检测触发模块,被配置为在应用端启动后,周期性地触发文字显示异常的检测流程,以检测在应用端显示文字是否会发生异常。
125.该可选的实现方式中,考虑到用户通过系统设置功能设置个性化字体的操作会发生在任何时候,因此可以在应用端启动后,周期性地利用本公开实施例提出的上述装置确定在应用端显示文字是否会发生异常。
126.在一些实施例中,可以在应用端启动之初检测一次,之后再每隔一个预设周期进行一次检测。通过这种方式,可以较为及时地检测出文字的显示异常情况,并能够及时采取措施解决文字显示异常的问题。此外,通过这种方式能够在提供正确的文字显示效果的前提下,尽量满足用户个性化的文字显示需求。
127.在本实施例的一个可选实现方式中,所述第一确定模块之前,所述装置还包括:
128.转换模块,被配置为在所述第一文字位图和所述第二文字位图为多通道模式时,将所述第一文字位图和所述第二文字位图转换成单通道灰度图;
129.所述第一确定模块,包括:
130.第四确定子模块,被配置为分别基于所述第一文字位图和所述第二文字位图对应的单通道灰度图中,像素值大于0的像素数确定所述颜色填充率。
131.该可选的实现方式中,一方面为了能够准确统计出文字位图的颜色填充率,另一方面在应用端通常会将操作系统的原生接口返回的文字位图进行二次加工,例如会转换成a8格式后进行显示,在进行二次加工时通常需要将多通道模式的文字位图转换成单通道灰度图。因此,本公开实施例在确定第一文字位图和第二文字位图的颜色填充率之前,如果第一文字位图和第二文字位图为多通道模式时,可以先转换成单通道灰度图,之后再统计大于0的像素值(大于0的像素值即为单通道灰度图中非透明像素),进而基于统计结果确定第一文字位图和第二文字位图的颜色填充率。通过这种方式,能够得到较为准确的颜色填充
率。
132.根据本公开一实施方式的基于位置的服务提供装置,该基于位置的服务提供装置利用上述文字现实异常的检测装置检测电子地图上的文字显示异常,并基于检测结果为被服务对象提供基于位置的服务,所述基于位置的服务包括:导航、地图渲染、路线规划中的一种或多种。
133.本实施例中,该基于位置的服务提供装置可以在终端上执行,终端可以包括手机、ipad、电脑、智能手表、车辆等。本公开实施例,在电子地图应用端启动后,可以利用上述装置检测电子地图在当前电子设备上运行过程中,基于电子设备上的操作系统提供的原生接口获取文字位图后,在电子地图上是否会发生显示异常的情况,如果会发生显示异常的情况,则配置该电子地图在后续的地图渲染、导航、路径规划等过程中,需要显示文字时,从操作系统的原生接口获取指定默认字体的文字位图,进而再显示默认字体的文字位图进行显示。
134.被服务对象可以是手机、ipad、电脑、智能手表、车辆、机器人等。在为被服务对象导航、规划路径或者渲染地图上的道路时,还可以周期性的启动上述文字显示异常的检测装置检测在电子地图上显示文字是否会发生异常的情况,如果会发生异常,并且电子地图上未配置成指定默认字体的方式获取文字位图时,配置电子地图以指定默认字体的方式获取文字位图后进行显示;而在电子地图上已经配置了以指定默认字体的方式获取文字位图时,则不对电子地图进行任何配置;但是如果检测出不会发生文字显示异常,且电子地图上配置成以指定默认字体的方式获取文字位图时,可以恢复电子地图的配置,使得电子地图直接从操作系统的原生接口获取文字位图,而不指定以默认字体的方式获取。
135.图4是适于用来实现根据本公开实施方式的文字显示异常的检测方法和/或基于位置的服务提供方法的电子设备的结构示意图。
136.如图4所示,电子设备400包括处理单元401,其可实现为cpu、gpu、fpga、npu等处理单元。处理单元401可以根据存储在只读存储器(rom)402中的程序或者从存储部分408加载到随机访问存储器(ram)403中的程序而执行本公开上述任一方法的实施方式中的各种处理。在ram 403中,还存储有电子设备400操作所需的各种程序和数据。处理单元401、rom 402以及ram 403通过总线404彼此相连。输入/输出(i/o)接口405也连接至总线404。
137.以下部件连接至i/o接口405:包括键盘、鼠标等的输入部分406;包括诸如阴极射线管(crt)、液晶显示器(lcd)等以及扬声器等的输出部分407;包括硬盘等的存储部分408;以及包括诸如lan卡、调制解调器等的网络接口卡的通信部分409。通信部分409经由诸如因特网的网络执行通信处理。驱动器410也根据需要连接至i/o接口405。可拆卸介质411,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器410上,以便于从其上读出的计算机程序根据需要被安装入存储部分408。
138.特别地,根据本公开的实施方式,上文参考本公开实施方式中的任一方法可以被实现为计算机软件程序。例如,本公开的实施方式包括一种计算机程序产品,其包括有形地包含在机器可读介质上的计算机程序,所述计算机程序包含用于执行本公开实施方式中任一方法的程序代码。在这样的实施方式中,该计算机程序可以通过通信部分409从网络上被下载和安装,和/或从可拆卸介质411被安装。
139.附图中的流程图和框图,图示了按照本公开各种实施方式的系统、方法和计算机
程序产品的可能实现的体系架构、功能和操作。在这点上,路程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
140.描述于本公开实施方式中所涉及到的单元或模块可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的单元或模块也可以设置在处理器中,这些单元或模块的名称在某种情况下并不构成对该单元或模块本身的限定。
141.作为另一方面,本公开还提供了一种计算机可读存储介质,该计算机可读存储介质可以是上述实施方式中所述装置中所包含的计算机可读存储介质;也可以是单独存在,未装配入设备中的计算机可读存储介质。计算机可读存储介质存储有一个或者一个以上程序,所述程序被一个或者一个以上的处理器用来执行描述于本公开的方法。
142.以上描述仅为本公开的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本公开中所涉及的发明范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离所述发明构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本公开中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献