应用于墨水屏的显示控制方法及相关装置

文档序号:7137 发布日期:2021-09-17 浏览:25次 英文

应用于墨水屏的显示控制方法及相关装置

技术领域

本申请涉及墨水屏终端设备

技术领域

,特别涉及一种应用于墨水屏的显示控制方法及相关装置。

背景技术

终端设备内的应用多以彩屏显示设计为主。应用的界面多数显示彩色内容。而墨水屏是用黑色和白色两种颜色进行显示。

故此,很多终端设备的应用界面如果直接在墨水屏上显示,显示效果差。然而,墨水屏的受众较小,很少有应用会对墨水屏进行适配,故此,如何提供一种通用的能够适用于墨水屏的显示控制方法尤为重要。

发明内容

本申请的目的是提供一种应用于墨水屏的显示控制方法及相关装置,以克服相关技术中很多终端设备的应用界面如果直接在墨水屏上显示,显示效果差的问题。

第一方面,本申请提供一种应用于墨水屏的显示控制方法,所述方法包括:

针对墨水屏背景对象,在系统层的绘制功能中将所述背景对象的颜色处理成适用于墨水屏的期望颜色;

基于所述期望颜色显示所述背景对象。

可选的,所述在系统层的绘制功能中将所述背景对象的颜色处理成适用于墨水屏的期望颜色,包括:

从颜色绘制功能类的绘制方法中通过成员变量获取所述背景对象的每个像素点的颜色值;并,从所述成员变量中搜索目标颜色范围内的像素点,并将所述像素点的颜色替换成白色;

或者,

针对所述背景对象,将所述背景对象的绘制对象的颜色值更新为白色。

可选的,所述目标颜色范围包括颜色值的均值大于第一指定值,且各个颜色分量的颜色值均小于第二指定值。

可选的,所述方法还包括:

针对待绘制的文字对象,将所述文字对象的绘制对象的颜色值更新为黑色;

在所述背景对象中将所述文字对象渲染成黑色。

可选的,将所述背景对象的绘制对象的颜色值更新为白色,包括:

采用色值矩阵和所述背景对象的绘制对象,对所述背景对象的初始背景色进行颜色变换,将所述初始背景色变换为白色。

可选的,所述采用色值矩阵和所述背景对象的绘制对象,对所述背景对象的初始背景色进行颜色变换,将所述初始背景色变换为白色,包括:

采用所述色值矩阵对应的色值矩阵类替换所述背景对象的绘制对象中的颜色过滤类;

调用所述色值矩阵类,采用所述色值矩阵与所述初始背景色的背景色矩阵进行乘法运算,得到白色的背景对象。

可选的,所述将所述文字对象的绘制对象的颜色值更新为黑色之前,所述方法还包括:

确定所述文字对象的颜色值为彩色值。

可选的,若所述文字对象的颜色值为黑色值,则在所述背景对象中渲染所述文字对象。

可选的,所述将所述背景对象的绘制对象的颜色值更新为白色之前,所述方法还包括:

确定启用对比度增强功能。

可选的,所述方法还包括:

响应于用户对所述对比度增强功能的操作,开启或关闭所述对比度增强功能。

第二方面,本申请提供一种电子设备,包括:

墨水屏;

处理器;

用于存储所述处理器可执行指令的存储器;

其中,所述处理器被配置为执行所述指令,以实现如第一方面中任一项所述的应用于墨水屏的显示控制方法。

第三方面,本申请还提供一种计算机存储介质,其上存储有计算机程序,该程序被处理单元执行时实现第一方面任一所述方法的步骤。

第四方面,本申请还提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现第一方面任一项所述的方法。

另外,第二方面至第四方面中任一种实现方式所带来的技术效果可参见第一方面中不同实现方式所带来的技术效果,此处不再赘述。

本申请实施例中可以通过修改终端设备的系统层的绘制功能来调整背景对象的颜色,由于系统层的功能对任何的应用均有效,所以不需要对每个应用单独进行适配,即可修改背景对象的颜色,以此提高应用的界面在墨水屏的显示效果。

本申请的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本申请而了解。本申请的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。

附图说明

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

图1为根据本申请一个实施例的终端设备的结构示意图;

图2为根据本申请一个实施例的终端设备的软件架构的示意图;

图3为根据本申请一个实施例的应用于墨水屏的显示控制方法的流程示意图;

图4a-图4b为根据本申请实施例提供的界面示意图;

图5为根据本申请一个实施例的应用于墨水屏的显示控制方法的流程示意图;

图6为根据本申请一个实施例的应用于墨水屏的显示控制方法的又一流程示意图;

图7为根据本申请一个实施例的应用于墨水屏的显示控制方法的又一流程示意图;

图8为根据本申请一个实施例的应用于墨水屏的显示控制方法的效果对比图;

图9为根据本申请一个实施例的应用于墨水屏的显示控制方法的又一流程示意图;

图10为根据本申请一个实施例的应用于墨水屏的显示控制方法的另一效果对比图;

图11为根据本申请一个实施例的应用于墨水屏的显示控制方法的又一效果对比图;

图12示例性示出了本申请实施例提供的一种终端设备结构的另一示意图。

具体实施方式

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

并且,在本申请实施例的描述中,除非另有说明,″/″表示或的意思,例如,A/B可以表示A或B;文本中的″和/或″仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况,另外,在本申请实施例的描述中,″多个″是指两个或多于两个。

以下,术语″第一″、″第二″仅用于描述目的,而不能理解为暗示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有″第一″、″第二″、的特征可以明示或者隐含地包括一个或者更多个该特征,在本申请实施例的描述中,除非另有说明,″多个″的含义是两个或两个以上。

墨水屏通过黑白两种颜色进行显示呈现。墨水屏很适合文字阅读。然而,相关技术中终端设备的应用开发多以彩屏显示为主,这样的应用如果直接在墨水屏上显示,显示效果差。而且,很少有应用能够针对墨水屏显示进行适配,故此需要一种通用的能够提高墨水屏对彩色界面应用的显示效果的方法。

有鉴于此,通过修改终端设备的系统层的绘制功能来调整背景对象的颜色,由于系统层的绘制功能对任何的应用均有效,所以不需要对每个应用单独进行适配,即可修改背景对象的颜色,以此提高应用的界面在墨水屏的显示效果。

系统层的绘制功能中包括绘制类实现的功能还有系统画布功能。本申请中提供了两种方式,一种方式为通过系统层的绘制功能类来漂白背景对象的颜色,另一种方式中可以通过修改终端设备的系统画布功能,能够将应用的背景调整为白色。

此外,本申请实施例中还可以将文字调整为黑色,这样黑色的文字显示在白色的背景上,能够很好的利用墨水屏显示文字页面。而且,本申请的方法是通过修改系统底层来提升应用在墨水屏上的显示效果,能够适用于终端设备的所有应用,不需要每个应用对墨水屏进行适配。

下面结合附图,对本申请提供的应用于墨水屏的显示控制方法进行说明。

首先,图1示出了一种终端设备100的结构示意图。

下面以终端设备100为例对实施例进行具体说明。应该理解的是,图1所示终端设备100仅是一个范例,并且终端设备100可以具有比图1中所示的更多的或者更少的部件,可以组合两个或多个的部件,或者可以具有不同的部件配置。图中所示出的各种部件可以在包括一个或多个信号处理和/或专用集成电路在内的硬件、软件、或硬件和软件的组合中实现。

图1中示例性示出了根据示例性实施例中终端设备100的硬件配置框图。如图1所示,终端设备100包括:射频(radio frequency,RF)电路110、存储器120、显示单元130、摄像头140、传感器150、音频电路160、无线保真(Wireless Fidelity,Wi-Fi)模块170、处理器180、蓝牙模块181、以及电源190等部件。

RF电路110可用于在收发信息或通话过程中信号的接收和发送,可以接收基站的下行数据后交给处理器180处理;可以将上行数据发送给基站。通常,RF电路包括但不限于天线、至少一个放大器、收发信机、耦合器、低噪声放大器、双工器等器件。

存储器120可用于存储软件程序及数据。处理器180通过运行存储在存储器120的软件程序或数据,从而执行终端设备100的各种功能以及数据处理。存储器120可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。存储器120存储有使得终端设备100能运行的操作系统。本申请中存储器120可以存储操作系统及各种应用程序,还可以存储执行本申请实施例所述方法的程序代码。

显示单元130可用于接收输入的数字或字符信息,产生与终端设备100的用户设置以及功能控制有关的信号输入,具体地,显示单元130可以包括设置在终端设备100正面的触摸屏131,可收集用户在其上或附近的触摸操作,例如点击按钮,拖动滚动框等。

显示单元130还可用于显示由用户输入的信息或提供给用户的信息以及终端设备100的各种菜单的图形用户界面(graphical user interface,GUI)。具体地,显示单元130可以包括设置在终端设备100正面的显示屏132。其中,显示屏132可以采用液晶显示器、发光二极管等形式来配置。显示单元130可以用于显示本申请中字体颜色配置界面,实现对多个/所有应用的字体颜色的统一配置。

其中,触摸屏131可以覆盖在显示屏132之上,也可以将触摸屏131与显示屏132集成而实现终端设备100的输入和输出功能,集成后可以简称触摸显示屏。本申请中显示单元130可以显示应用程序以及对应的操作步骤。

摄像头140可用于捕获静态图像或视频。物体通过镜头生成光学图像投射到感光元件。感光元件可以是电荷耦合器件(charge Coupled device,CCD)或互补金属氧化物半导体(complementary metal-oxide-semiconductor,CMOS)光电晶体管。感光元件把光信号转换成电信号,之后将电信号传递给处理器180转换成数字图像信号。

终端设备100还可以包括至少一种传感器150,比如加速度传感器151、距离传感器152、指纹传感器153、温度传感器154。终端设备100还可配置有陀螺仪、气压计、湿度计、温度计、红外线传感器、光传感器、运动传感器等其他传感器。

音频电路160、扬声器161、麦克风162可提供用户与终端设备100之间的音频接口。音频电路160可将接收到的音频数据转换后的电信号,传输到扬声器161,由扬声器161转换为声音信号输出。终端设备100还可配置音量按钮,用于调节声音信号的音量。另一方面,麦克风162将收集的声音信号转换为电信号,由音频电路160接收后转换为音频数据,再将音频数据输出至RF电路110以发送给比如另一终端设备,或者将音频数据输出至存储器120以便进一步处理。本申请中麦克风162可以获取用户的语音。

Wi-Fi属于短距离无线传输技术,终端设备100可以通过Wi-Fi模块170帮助用户收发电子邮件、浏览网页和访问流媒体等,它为用户提供了无线的宽带互联网访问。

处理器180是终端设备100的控制中心,利用各种接口和线路连接整个终端设备的各个部分,通过运行或执行存储在存储器120内的软件程序,以及调用存储在存储器120内的数据,执行终端设备100的各种功能和处理数据。在一些实施例中,处理器180可包括一个或多个处理单元;处理器180还可以集成应用处理器和基带处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,基带处理器主要处理无线通信。可以理解的是,上述基带处理器也可以不集成到处理器180中。本申请中处理器180可以运行操作系统、应用程序、用户界面显示及触控响应,以及本申请实施例所述的墨水屏的显示控制方法。另外,处理器180与显示单元130耦接。

蓝牙模块181,用于通过蓝牙协议来与其他具有蓝牙模块的蓝牙设备进行信息交互。例如,终端设备100可以通过蓝牙模块181与同样具备蓝牙模块的可穿戴电子设备(例如智能手表)建立蓝牙连接,从而进行数据交互。

终端设备100还包括给各个部件供电的电源190(比如电池)。电源可以通过电源管理系统与处理器180逻辑相连,从而通过电源管理系统实现管理充电、放电以及功耗等功能。终端设备100还可配置有电源按钮,用于终端设备的开机和关机,以及锁屏等功能。

图2是本申请实施例的终端设备100的软件结构框图。

分层架构将软件分成若干个层,每一层都有清晰的角色和分工。层与层之间通过软件接口通信。在一些实施例中,可将Android系统分为四层,从上至下分别为应用程序层,应用程序框架层,安卓运行时(Android runtime)和系统库,以及内核层。

应用程序层可以包括一系列应用程序包。

如图2所示,应用程序包可以包括电子阅读器、相机,图库,日历,通话,地图,导航,WLAN,蓝牙,音乐,视频,短信息等应用程序。

应用程序框架层为应用程序层的应用程序提供应用编程接口(applicationprogramming interface,API)和编程框架。应用程序框架层包括一些预先定义的函数。

如图2所示,应用程序框架层可以包括窗口管理器,内容提供器,视图系统,电话管理器,资源管理器,通知管理器等。

窗口管理器用于管理窗口程序。窗口管理器可以获取显示屏大小,判断是否有状态栏,锁定屏幕,截取屏幕等。

内容提供器用来存放和获取数据,并使这些数据可以被应用程序访问。所述数据可以包括视频,图像,音频,拨打和接听的电话,浏览历史和书签,电话簿、短信息等。

视图系统包括可视控件,例如显示拍照控件、显示文字的控件,显示图片的控件等。视图系统可用于构建应用程序。显示界面可以由一个或多个视图组成的。例如,包括用于采集图像的应用的显示界面,可以包括显示文字的视图以及显示图片的视图。

电话管理器用于提供终端设备100的通信功能。例如通话状态的管理(包括接通,挂断等)。

资源管理器为应用程序提供各种资源,比如本地化字符串,图标,图片,布局文件,视频文件等。

通知管理器使应用程序可以在状态栏中显示通知信息(例如短信息的消息摘要,消息内容),可以用于传达告知类型的消息,可以短暂停留后自动消失,无需用户交互。比如通知管理器被用于告知下载完成,消息提醒等。通知管理器还可以是以图表或者滚动条文本形式出现在系统顶部状态栏的通知,例如后台运行的应用程序的通知,还可以是以对话窗口形式出现在屏幕上的通知。例如在状态栏提示文本信息,发出提示音,终端设备振动,指示灯闪烁等。

Android Runtime包括核心库和虚拟机。Android runtime负责安卓系统的调度和管理。

核心库包含两部分:一部分是java语言需要调用的功能函数,另一部分是安卓的核心库。

应用程序层和应用程序框架层运行在虚拟机中。虚拟机将应用程序层和应用程序框架层的java文件执行为二进制文件。虚拟机用于执行对象生命周期的管理,堆栈管理,线程管理,安全和异常的管理,以及垃圾回收等功能。

系统库可以包括多个功能模块。例如:表面管理器(surface manager),媒体库(Media Libraries),三维图形处理库(例如:OpenGL ES),2D图形引擎(例如:SGL)等。

表面管理器用于对显示子系统进行管理,并且为多个应用程序提供了2D和3D图层的融合。

媒体库支持多种常用的音频,视频格式回放和录制,以及静态图像文件等。媒体库可以支持多种音视频编码格式,例如:MPEG4,H.264,MP3,AAC,AMR,JPG,PNG等。

三维图形处理库用于实现三维图形绘图,图像渲染,合成,和图层处理等。

2D(一种动画方式)图形引擎是2D绘图的绘图引擎。

内核层是硬件和软件之间的层。内核层至少包含显示驱动,摄像头驱动,音频驱动,传感器驱动。

本申请实施例中的终端设备100可以为手机、平板电脑、可穿戴设备、笔记本电脑以及电视等采用墨水屏的终端设备。

为了提高适用于彩屏的应用在墨水屏的显示效果,本申请实施例中提出了解决方案。

为便于理解,首先对本申请的关键名词进行说明:

背景对象,指应用界面的背景,可以为纯色背景也可以为图像背景。

背景对象的绘制对象,即Canvas绘制对象,终端设备的系统中用于显示的基本类,用于创建画布供显示。

文字对象,指应用界面中需要显示的文字。

文字对象的绘制对象,即Paint对象,终端设备的系统中用于控制显示颜色的基本类。相当于画笔,Paint对象内具有颜色属性,每个文字对象都会对应Paint对象,通过Paint对象中的颜色属性定义文字对象的颜色。背景对象也具有Paint对象,通过Paint对象中的颜色变换类ColorFilter调整背景对象的颜色。

系统层的绘制功能,是指终端设备的系统为了显示相应的内容而具有的用于绘制相应内容的方法。如ColorDrawable(绘制类)中的绘制方法draw,再例如系统画布功能。其中,ColorDrawable类是Android应用中比较基础且常用的颜色设置组件。其位置:/frameworks/base/graphics/java/android/graphics/drawable/ColorDrawable.java。系统画布功能如BaseCanvas类。BaseCanvas类是Android绘制系统的基类,所有应用界面的渲染都会通过Canvas处理,Canvas的位置如下:

/frameworks/base/graphics/java/android/graphics/BaseCanvas.java。

基于系统层的绘制功能,本申请中提供的应用于墨水屏的显示控制方法如图3所示,包括以下步骤:

在步骤301中,针对墨水屏背景对象,在系统层的绘制功能中将所述背景对象的颜色处理成适用于墨水屏的期望颜色;

在步骤302中,基于所述期望颜色显示所述背景对象。

由此,由于每个应用的界面内容在墨水屏完成显示都需要基于系统层的绘制功能来实现,故此,本申请在系统层的绘制功能中对背景对象的颜色进行处理可以实现对所有应用的适配,无需对各个应用单独开发针对彩屏或墨水屏的不同处理方法,能够将原本参照彩屏开发的应用的界面适配到墨水屏中,提高其在墨水屏中的显示效果。

下面分别针对颜色绘制功能类和系统画布功能这两种方法进行说明。

一、基于系统画布功能提高墨水屏的显示效果

本申请实施例提供的应用于墨水屏的显示控制方法,对终端设备的系统层的绘制功能进行了更改。如,修改BaseCanvas类。BaseCanvas类是Android绘制系统的基类,所有应用界面的渲染都会通过Canvas绘制对象处理。BaseCanvas类的位置地址例如为:

/frameworks/base/graphics/java/android/graphics/BaseCanvas.java。

实施时,可以基于上述位置地址中的BaseCanvas类实现增强墨水屏对彩屏应用的显示效果。修改可包括以下内容:

1、增加对比度增强功能:

为了提高使用的灵活性,本申请实施例中可以增加系统属性,供用户确认是否采用本申请实施例提供的方案进行显示。

例如图4a所示,可在系统的设置功能中增加文字的对比度增强功能(后文也称之为ink_mode)。通过该功能旁边的开关控制按钮,可以开启对比度增强功能或者关闭对比度增强功能。

此外,如图4a所示,通过选择对比度增强功能还可以进入图4b所示的对比度增强功能操作界面。

在该操作页面中可以选择仅对文字对象生效,那么后续显示处理时,仅将文字对象处理成黑色,可以不对背景对象做特殊处理。类似的,可以选择仅对背景对象生效,则可以仅将背景对象漂白成期望颜色如白色,而不对文字对象处理。此外,还可以设置生效的应用,例如本申请实施例对于电子阅读界面,新闻类界面具有很好的效果,用户可以选择仅对这类应用启用对比度增强功能。在选择时,由于文件夹中可以含有多个应用图标来管理一类应用,故此可以选择文件夹实现对多个应用的选择,也可以逐个选择应用。当然,也可以即选择文件夹也选择应用。选择文件夹时,表示对该文件夹中的所有应用均启用对比度增强功能。选择应用时,表示对每个选择的应用都启用对比度增强功能。

当然,需要说明的是,除了可以在系统的设置功能中增加对比增强功能的应用控制,也可以将对比度增强功能作为单个应用安装在终端设备中均适用于本申请实施例。

2、文字对象的处理:

在文本绘制方法中(如:drawText等)可以先判断对比度增强功能是否开启。若开启,则将文字对象的Paint对象的Color更新为黑色,否则执行默认流程,即依据文字对象的原颜色进行显示,例如,原颜色为黑、白或灰,则按照该颜色显示,若原颜色为彩色,则映射成与该彩色相应的墨水屏的灰度颜色进行显示。

当然,若基于图4b用户设置为对文字对象不生效,则后续进行文字对象的处理时,不会将文字对象的Paint对象的Color更新为黑色,会执行默认流程。

3、背景对象的处理:

在背景绘制方法中(如:drawRect、drawPatch等)判断对比度增强功能是否开启。若开启,则可以构造色值矩阵(可用色值矩阵类如ColorMatrix等类构造)覆盖Paint对象的ColorFilter。通过矩阵中提供的色值,融合原值达到漂白背景色的目的。

例如,采用ColorMatrix类替换Paint对象的ColorFilter类,然后调用ColorFilter类时,相当于实现对ColorMatrix类的调用,以便于采用色值矩阵进行颜色变换。

例如,drawRect为安卓系统提供的API(Application Programming Interface,应用程序接口)用于绘制矩形区域。本申请实施例中,可以对矩形区域的颜色进行修改,即修改矩形区域的Paint对象的颜色值为白色。例如,采用ColorFiIter类替换Paint对象中的ColorFilter,实现采用色值矩阵和背景对象的颜色融合,使得背景对象变换为白色。一个具体的例子如,应用界面在彩屏显示时,矩形区域的颜色为红色,则本申请中可以对矩形区域的颜色更新为白色,实现漂白矩形区域背景色的目的。

再例如,drawPatch为安卓系统提供的另一API,用于调用图片资源绘制背景图片。本申请实施例中,可以对调用的对象进行修改,例如应用在彩屏显示时,背景区域采用的彩色的图像,则本申请中可以对背景对象的Paint对象的颜色值定义为白色,实现漂白背景色的目的。例如,采用ColorFilter类替换Paint对象中的ColorFilter,实现采用色值矩阵和背景对象即图片资源的颜色融合,使得背景对象变换为白色。

一种可能的实施方式中,色值矩阵举例如下:

[2f,2f,2f,0,0]

[2f,2f,2f,0,0]

[2f,2f,2f,0,0]

色值矩阵中的f表示浮点数,其前面值的取值范围可以在-1-2之间。当然,需要说明的是色值矩阵可根据实际场景要求自行设计,本申请对此不作限定。

应用界面的背景对象的每个点的颜色矩阵可以为一个4*5的数字矩阵,用来对图片的色彩进行处理。对于每个像素点,都有一个背景色矩阵来保存颜色的RGBA(red、green、blue、Alpha,红色、绿色、蓝色、透明度)值。背景色矩阵示例如下:

[a,b,c,d,e]

[f,g,h,i,g]

[k,l,m,n,o]

[p,q,r,s,t]

背景色矩阵中每个字符代表一个数字,不同字符代表的数字可相同也可不同,具体根据像素点的颜色值确定。其中,第一行的[a,b,c,d,e],用来决定颜色值中的R,第二行的[f,g,h,i,g]用来决定颜色值中的G,第三行的[k,l,m,n,o]用来决定颜色值中的B,第四行的[p,q,r,s,t]用来决定颜色值中的A。矩阵中的第五列的值分别用来决定每个分量中的偏移量。

采用色值矩阵融合背景对象的背景色时,采用色值矩阵和背景色矩阵之间的矩阵运算即乘法运算,实现对背景对象的漂白。运算过程如公式1所示。

在公式(1)中,为背景色矩阵,为色值矩阵,为最终的计算结果,即最终显示的颜色。

介绍完本申请对系统层面的更改之后,下面对本申请中墨水屏的颜色控制方法流程进行说明,下面以对背景对象进行漂白并且对文字对象更新为黑色为例进行说明,如图5所示,包括以下步骤:

在步骤501中,针对背景对象,将所述背景对象的绘制对象的颜色值更新为白色。

在一个实施例中,如前文所述,可采用色值矩阵和所述背景对象的绘制对象,对所述背景对象的初始背景色进行颜色变换,将所述初始背景色变换为白色。色值矩阵能够实现对背景色的颜色变换,以便于将背景色漂白,提高水墨屏对彩色界面中文字对象的显示效果。

当然,实施时,可以仅对背景对象做颜色处理,这样能够增强前景的文字对象的和背景对象的对比度。当然,为了进一步提高对比度,还可以对文字对象进行处理。例如,可以在步骤502中,针对待绘制的文字对象,将所述文字对象的绘制对象的颜色值更新为黑色。

在一些实施例中,执行步骤502之前,该可以判断文字对象的颜色值是否为彩色值,即除了黑色之外的颜色。若是,则执行步骤502更新文字对象的颜色为黑色,否则,可以不执行步骤502,并在所述背景对象中渲染所述文字对象。

需要说明的是,步骤501和步骤502的执行顺序不受限制,即可以先执行步骤501,再执行步骤502,也可以先执行步骤502再执行步骤501。

在步骤503中,在所述背景对象中将所述文字对象渲染成黑色。

由此,本申请实施例中通过系统层的绘制对象将背景对象的颜色值更新为白色,将文字对象的颜色更新为黑色,实现背景色为白,文字为黑的显示效果,能够增强水墨屏在显示文字内容的对比度。

实施时,如图6所示,为本申请实施例中提供的水墨屏的显示控制方法的整体流程示意图,包括以下步骤:

在步骤601中,响应于用户对所述对比度增强功能的操作,开启或关闭所述对比度增强功能。

在步骤602中,若确定启用对比度增强功能,针对文字对象的背景对象,采用所述色值矩阵对应的色值矩阵类替换所述背景对象的绘制对象中的颜色过滤类,调用所述色值矩阵类,采用所述色值矩阵与所述初始背景色的背景色矩阵进行乘法运算,得到白色的背景对象。

在步骤603中,若确定启用对比度增强功能,针对待绘制的文字对象,将所述文字对象的绘制对象的颜色值更新为黑色。

需要说明的是,步骤602和步骤603的执行先后顺序也不受限制。

在步骤604中,在所述背景对象中将所述文字对象渲染成黑色。

下面,从BaseCanvas类的角度对本申请实施例提供的墨水屏的显示控制方法进行说明,如图7所示:

首先,可以由开发人员修改BaseCanvas类,具体的修改可参见前面第1-3点的描述,在此不再赘述。

修改BaseCanvas类后,系统运行过程中,针对处理文字颜色的drawText类,其执行时,可以先判断是否启用对比度增强功能,若是,在将文字对象的Paint对象的颜色值更改为黑色,然后渲染文字对象。若够,则可以执行默认的绘制流程。

系统运行过程中,针对处理背景颜色的drawRect类,可以先判断是否启用对比度增强功能。若是,则设计色值矩阵类ColorMatrix设计得到色值矩阵,然后采用ColorMatrix覆盖背景对象的Paint对象中的ColorFilter类,在对任意背景对象进行绘制处理时,都可以采用ColorMatrix进行颜色变换,对背景对象进行漂白。即,一次替换ColorFilter类可适用后续的任一背景对象,无需对每个背景对象单独进行替换。

如图8所示,为实施本申请实施例提供的墨水屏的显示控制方法的前后对比图。图8中的左图标识处理前的显示效果,图8中的右图表示处理后的显示效果。显然,针对文字类内容,通过本申请实施例提供的方法,能够提高显示效果,对电子阅读类、新闻类、电子小说类具有很好的效果。

二、基于从颜色绘制功能类提高墨水屏的显示效果

本申请可以修改ColorDrawable类中的绘制方法draw。ColorDrawable类是Android应用中比较基础且常用的颜色设置组件。其位置如下:

/frameworks/base/graphics/java/android/graphics/drawable/ColorDrawable.jav

通过修改该位置中绘制方法draw的一些操作流程可实现对背景对象的颜色处理。修改可包括以下内容:

1、增加对比度增强功能:

为了提高使用的灵活性,本申请实施例中可以增加系统属性,供用户确认是否采用本申请实施例提供的方案进行显示。可在系统的设置功能中增加文字的对比度增强功能(后文也称之为ink_mode),该功能的介绍已在前文中基于图4a和图4b进行说明,这里不再赘述。

2、颜色替换流程:

如图9所示,首先,本申请实施例中,可先取出系统属性ink_mode,判断是否开启功能。若没有开启则执行默认的绘制流程否则在draw函数中通过成员变量mColorState中取出背景对象的当前颜色值,记为color。

然后,提取color中的R(ed)、G(reen)、B(lue)颜色值,并计算出R、G、B的平均值记为avrg。

之后,从所述成员变量中搜索目标颜色范围内的像素点。然后将该像素点的颜色替换成白色。其中,目标颜色范围可定义为颜色值的均值大于第一指定值,且各个颜色分量(R、G、B)的颜色值均小于第二指定值。例如,R、G、B值均小于0x10,avrg大于Oxc8则落入目标颜色范围内。当然,需要说明的是,目标颜色范围的搜索方法和范围可以根据实际需求定义,本申请对此不作限定。

本申请实施例中,之所以将目标颜色范围定义为R、G、B值均小于0x10,avrg大于0xc8,能够实现对较浅颜色漂白为白色,而不对较深的颜色进行处理,从而提高对比度。

例如图10所示,为采用本方案替换目标颜色范围内的颜色的对比图。图10中左图为处理前的图,图10中仅对浅灰色进行漂白,其他显示内容的颜色不变。右图为经过处理之后的图。通过对比可知,左图中背景色浅灰色被漂白为白色,增强了对比度。

当然,需要说明的是,本申请实施例中不仅可以漂白目标颜色范围内的颜色,也可以如第一点中基于画布对象的实施例中所阐述的,将文字处理成黑色。

实施时,可以有选择性的选中需要处理的文字对象将其处理成黑色。例如图11所示,为选择将″请填写手机号″和″下一步″处理成黑色来进一步增强对比度的效果图。

选择文字对象时,可以根据文字对象的和其背景色的对比度来选择,例如对比度低于阈值的文字对象就处理成黑色。也可以根据文字对象的内容进行选择,例如合有关键词的文字对象将其处理成黑色。也可以根据文字对象的语义来选择,例如采用神经网络确定文字对象的语义,然后将目标语义的文字对象处理成黑色。该目标语义可由用户来设置,也可以根据应用类型设置,本申请对此不作限定。

基于相同的发明构思,本申请实施例还提供一种终端设备,如图12所示,包括墨水屏1201、处理器1202;

用于存储所述处理器可执行指令的存储器1203;

其中,所述处理器被配置为执行所述指令,以实现:

针对墨水屏背景对象,在系统层的绘制功能中将所述背景对象的颜色处理成适用于墨水屏的期望颜色;

基于所述期望颜色显示所述背景对象。

可选的,所述期望颜色为白色,执行所述在系统层的绘制功能中将所述背景对象的颜色处理成适用于墨水屏的期望颜色,处理器被配置为:

从颜色绘制功能类的绘制方法中通过成员变量获取所述背景对象的每个像素点的颜色值;并,从所述成员变量中搜索目标颜色范围内的像素点,并将所述像素点的颜色替换成白色;

或者,

针对所述背景对象,将所述背景对象的绘制对象的颜色值更新为白色。

可选的,所述目标颜色范围包括颜色值的均值大于第一指定值,且各个颜色分量的颜色值均小于第二指定值。

可选的,处理器还被配置为:

所述方法还包括:

针对待绘制的文字对象,将所述文字对象的绘制对象的颜色值更新为黑色;

在所述背景对象中将所述文字对象渲染成黑色。

可选的,执行将所述背景对象的绘制对象的颜色值更新为白色,处理器被配置为:

采用色值矩阵和所述背景对象的绘制对象,对所述背景对象的初始背景色进行颜色变换,将所述初始背景色变换为白色。

可选的,执行所述采用色值矩阵和所述背景对象的绘制对象,对所述背景对象的初始背景色进行颜色变换,将所述初始背景色变换为白色,处理器被配置为:

采用所述色值矩阵对应的色值矩阵类替换所述背景对象的绘制对象中的颜色过滤类;

调用所述色值矩阵类,采用所述色值矩阵与所述初始背景色的背景色矩阵进行乘法运算,得到白色的背景对象。

可选的,执行所述将所述文字对象的绘制对象的颜色值更新为黑色之前,所述处理器还被配置为:

确定所述文字对象的颜色值为彩色值;

可选的,所述处理器还被配置为:若所述文字对象的颜色值为黑色值,则在所述背景对象中渲染所述文字对象。

可选的,执行所述将所述背景对象的绘制对象的颜色值更新为白色之前,所述处理器还被配置为:确定启用对比度增强功能。

可选的,所述处理器还被配置为:

响应于用户对所述对比度增强功能的操作,开启或关闭所述对比度增强功能。

由于本申请实施例中的计算机存储介质可以应用于上述方法,因此,其所能获得的技术效果也可参考上述方法实施例,本申请的实施例在此不再赘述。

本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。

本申请是参照根据本申请的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。

完整详细技术资料下载
上一篇:石墨接头机器人自动装卡簧、装栓机
下一篇:集成监控系统和基于集成监控系统的多屏交互方法

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!

技术分类