CN114513574B - 界面显示方法、电子设备及存储介质 - Google Patents
界面显示方法、电子设备及存储介质 Download PDFInfo
- Publication number
- CN114513574B CN114513574B CN202210032031.XA CN202210032031A CN114513574B CN 114513574 B CN114513574 B CN 114513574B CN 202210032031 A CN202210032031 A CN 202210032031A CN 114513574 B CN114513574 B CN 114513574B
- Authority
- CN
- China
- Prior art keywords
- interface
- rendering
- opacity
- brightness
- parameter
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M1/00—Substation equipment, e.g. for use by subscribers
- H04M1/72—Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
- H04M1/724—User interfaces specially adapted for cordless or mobile telephones
- H04M1/72448—User interfaces specially adapted for cordless or mobile telephones with means for adapting the functionality of the device according to specific conditions
- H04M1/72454—User interfaces specially adapted for cordless or mobile telephones with means for adapting the functionality of the device according to specific conditions according to context-related or environment-related conditions
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M1/00—Substation equipment, e.g. for use by subscribers
- H04M1/66—Substation equipment, e.g. for use by subscribers with means for preventing unauthorised or fraudulent calling
- H04M1/667—Preventing unauthorised calls from a telephone set
- H04M1/67—Preventing unauthorised calls from a telephone set by electronic means
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M1/00—Substation equipment, e.g. for use by subscribers
- H04M1/72—Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
- H04M1/724—User interfaces specially adapted for cordless or mobile telephones
- H04M1/72403—User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M1/00—Substation equipment, e.g. for use by subscribers
- H04M1/72—Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
- H04M1/724—User interfaces specially adapted for cordless or mobile telephones
- H04M1/72403—User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality
- H04M1/7243—User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality with interactive means for internal management of messages
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M2250/00—Details of telephonic subscriber devices
- H04M2250/12—Details of telephonic subscriber devices including a sensor for measuring a physical value, e.g. temperature or motion
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/70—Reducing energy consumption in communication networks in wireless communication networks
Abstract
本申请涉及智能终端技术领域,具体涉及一种界面显示方法、电子设备及存储介质。其中,方法包括:获取待显示界面中第一界面元素的第一渲染参数,其中第一界面元素至少包括文字、图形中的一种;基于第一渲染参数,确定第一明亮度和第一不透明度,其中第一明亮度用于表示第一界面元素的明亮程度;确定第一明亮度未达到预设的明亮度;根据确定结果,确定对第一不透明度和/或第一明亮度的调整结果;根据调整结果确定第二渲染参数,第二渲染参数作为绘制渲染待显示界面的参数。本申请能够在一些光照强度较大的环境中,提高手机等电子设备屏幕显示内容的对比度,从而便于用户看清手机所显示的内容,利于提高用户体验。
Description
技术领域
本发明涉及智能终端技术领域,具体涉及一种界面显示方法、电子设备及存储介质。
背景技术
随着智能终端技术的发展,越来越多的终端电子设备已实现自动调节屏幕亮度,以适应不同的环境光光照强度,从而使用户能够看清电子设备屏幕上显示的内容。例如,当用户在光照强度比较大的环境中使用手机时,手机会自动将屏幕的亮度调高,以便用户更加清晰的浏览手机屏幕显示的内容;当用户在光照强度比较小的环境中使用手机时,手机则会自动将屏幕的亮度调低,以便保护用户视力、以及降低手机功耗。
然而,在一些光照强度较大的环境中,参考图1所示的场景10,例如用户在强烈的日光环境下查看手机100上的信息,此时由于环境光的光照强度太大,手机100仅调节屏幕亮度,用户还是难以看清手机100屏幕上显示的内容。如此,用户体验则会变差。
发明内容
本申请实施例提供了一种界面显示方法、电子设备及存储介质,通过调整初始渲染参数中的初始不透明度和初始明亮度,最终得到目标渲染参数。本申请实施例所提供的界面显示方法能够在一些光照强度较大的环境中,提高手机等电子设备屏幕显示内容的对比度,从而便于用户看清手机所显示的内容,利于提高用户体验。
第一方面,本申请实施例提供了一种界面显示方法,应用于电子设备,该方法包括:获取待显示界面中第一界面元素的第一渲染参数,其中第一界面元素至少包括文字、图形中的一种;基于第一渲染参数,确定第一明亮度和第一不透明度,其中第一明亮度用于表示第一界面元素的明亮程度;确定第一明亮度未达到预设的明亮度;根据确定结果,确定对第一不透明度和/或第一明亮度的调整结果;根据调整结果确定第二渲染参数,第二渲染参数作为绘制渲染待显示界面的参数。
上述第一渲染参数例如可以是下文实施例中描述的初始渲染参数,上述第一明亮度例如可以是下文实施例中描述的初始明亮度,上述第一不透明度例如可以是下文实施例中描述的初始不透明度。上述第一方面限定的界面显示方法,即在周围环境光的光照强度较大,需要调整待显示界面上部分文字或控件图框等图形界面元素的对比度时,可以基于获取的待显示界面的初始渲染参数,确定初始不透明度和初始明亮度,进而根据预设的调整规则,将初始渲染参数调整为目标渲染参数。
调整后的目标渲染参数用于绘制待显示界面,如此可以实现对待显示界面上部分界面元素对比度的调节,使得用户在强烈日光下也能够看清待显示界面上的文字或控件图框等界面元素,弥补了通过调整屏幕强度来调节界面对比度的局限。上述待显示界面例如可以是下文实施例中图2a和图2b示例的聊天界面。其中,上述初始渲染参数对应绘制渲染出来的待显示界面,例如可以是图2a所示的聊天界面101;调整渲染参数得到的目标渲染参数对应绘制渲染出来的待显示界面例如可以是图2b所示的聊天界面102。
在上述第一方面的一种可能的实现中,确定第一明亮度未达到预设的明亮度,包括:第一明亮度的值大于第一参数阈值。
上述第一明亮度例如是初始明亮度,即根据预设的调整规则,可以先通过将初始明亮度与预设的明亮度阈值(即上述第一参数阈值)进行比较,来确定初始明亮度是否达到预设的明亮度。
在上述第一方面的一种可能的实现中,根据确定结果,确定对第一不透明度和/或第一明亮度的调整结果,包括:将第一渲染参数中的第一不透明度调整为第二不透明度,其中第二不透明度的值大于第一不透明度的值。
即对初始渲染参数的调整,可以通过上调初始不透明度来实现。可以理解,不透明度的值越大,相应绘制出来的文字或图形的透明度越低,看着会更加清晰。
在上述第一方面的一种可能的实现中,将第一渲染参数中的第一不透明度调整为第二不透明度,包括:判断第一不透明度是否小于第二参数阈值,并且若第一不透明度小于第二参数阈值,对第一不透明度增加第一预设值,并将得到的第三不透明度作为第二不透明度;若第一不透明度大于或等于第二参数阈值,对第一不透明度增加第二预设值,并将得到的第四不透明度作为第二不透明度;其中第一预设值大于第二预设值。
即在上调初始不透明度时,可以对于不同范围的初始不透明度的值,设置相对应的调整值,例如对于较小的初始不透明度,相应的调整值可以大一些,例如向上调整第一预设值,该第一预设值例如可以对应于下文实施例中步骤707描述的第一预设值;对于较大的初始不透明度,则相应的调整值则可以小一些,例如向上调整第二预设值,该第二预设值例如可以对应于下文实施例中步骤809描述的第二预设值。
在上述第一方面的一种可能的实现中,根据调整结果,确定第二渲染参数作为绘制渲染待显示界面的参数,包括:将第一渲染参数中的第一不透明度更新为第三不透明度后,作为第二渲染参数。
即对初始不透明度上调较大的第一预设值后得到的第三不透明度,可以实现对待显示界面上部分界面元素对比度的较大幅度调整,此时可以更新初始渲染参数中的初始不透明度为上述第三不透明度,更新后得到第二渲染参数。上述第三不透明度例如可以是下文实施例中步骤808描述的目标不透明度,上述第二渲染参数例如可以是步骤808中相应的目标渲染参数。
在上述第一方面的一种可能的实现中,根据确定结果,确定对第一不透明度和/或第一明亮度的调整结果,还包括:若第一不透明度大于或等于第二参数阈值,将第一明亮度调整为第二明亮度,其中第二明亮度小于第一明亮度;将第一渲染参数中的第一不透明度更新为第四不透明度、并将第一渲染参数中各颜色通道的值更新为第二明亮度的值后,作为第二渲染参数。
即对初始不透明度上调较小的第二预设值后得到的第四不透明度,仅能实现对待显示界面上部分界面元素对比度的较小幅度调整,此时可以通过下调初始明亮度的值来进一步增强对比度,即将第一明亮度调整为较小的第二明亮度。上述第一明亮度例如可以是下文实施例中描述的初始明亮度、第二明亮度例如可以是目标明亮度。
更新初始渲染参数中的初始不透明度为上述第四不透明度,并基于第二明亮度更新初始渲染参数中各颜色通道上的值,得到第二渲染参数,即得到目标渲染参数。
在上述第一方面的一种可能的实现中,第一渲染参数包括第一RGBA颜色参数;并且基于第一渲染参数,确定第一明亮度,包括:基于第一RGBA颜色参数中的RGB值,计算得到第一明亮度;基于第一RGBA颜色参数中的A值,确定第一不透明度。
在上述第一方面的一种可能的实现中,根据调整结果确定第二渲染参数,包括:将第一RGBA颜色参数中的A值更新为第三不透明度的值,作为第二RGBA颜色参数;第二渲染参数包括第二RGBA颜色参数。
在上述第一方面的一种可能的实现中,第一渲染参数包括第一RGBA颜色参数;并且基于第一渲染参数,确定第一明亮度,包括:基于第一RGBA颜色参数中的RGB值,计算得到第一明亮度;基于第一RGBA颜色参数中的A值,确定第一不透明度。
在上述第一方面的一种可能的实现中,根据调整结果确定第二渲染参数,包括:将第一RGBA颜色参数中的RGB值更新为第二明亮度的值、并且将第一RGBA颜色参数中的A值更新为第四不透明度的值,作为第三RGBA颜色参数;第二渲染参数包括第三RGBA颜色参数。
第二方面,本申请实施例提供了一种电子设备,包括:一个或多个处理器;一个或多个存储器;一个或多个存储器存储有一个或多个程序,当一个或者多个程序被一个或多个处理器执行时,使得电子设备执行上述界面显示方法。
第三方面,本申请实施例提供了一种计算机可读存储介质,存储介质上存储有指令,指令在计算机上执行时使计算机执行上述界面显示方法。
第四方面,本申请实施例提供了一种计算机程序产品,包括计算机程序/指令,计算机程序/指令被处理器执行时实现上述界面显示方法。
附图说明
图1所示为本申请实施例提供的一种应用场景示意图。
图2a所示为本申请实施例提供的一种界面示意图。
图2b所示为本申请实施例提供的另一种界面示意图。
图3所示为本申请实施例提供的一种手机100的硬件结构示意图。
图4所示为本申请实施例提供的一种界面显示方法的实施流程示意图。
图5所示为本申请实施例提供的一种手机100的系统软件架构示意框图。
图6所示为本申请实施例提供的一种绘制渲染阶段所涉及的结构示意图。
图7所示为本申请实施例提供的图6所示绘制渲染阶段涉及的各结构之间的交互流程示意图。
图8所示为本申请实施例提供的一种渲染参数调整算法的计算流程示意图。
具体实施方式
为了便于理解本申请实施例所提供的技术方案,下面先介绍本申请实施例涉及的一些术语。
光照强度(illuminance),表示受照面明亮程度的物理量,采用单位面积所接受的光通量来表示。单位是勒克斯(Lux),即lm/m2(流明每平方米)。
明亮度(Luminance或Luma),在本申请实施例中可以用于表示待显示界面中的文字、图形等的明亮程度,也就是灰阶值。
帧:是指界面显示中最小单位的单幅画面。一帧可以理解为一副静止的画面,快速连续地显示多个相连的帧可以形成物体运动的假象。
帧速率(Frame Rate),是指在1秒钟时间里刷新图片的帧数,单位是fps。也可以理解为终端设备中图形处理器每秒钟刷新画面的次数。
屏幕刷新率(Refresh Rate),是指屏幕一秒内刷新屏幕的次数,单位是Hz。刷新率由硬件决定,例如刷新率60Hz表示每隔16ms(即1000ms/60=16.67ms)发出一个垂直同步信号(VSync),触发对即将显示的用户界面(User Interface,UI)进行绘制渲染,相应的每一帧用户界面也需要在16.67ms内完成,如果超时,则会发生丢帧现象,进而导致用户界面出现卡顿。可以理解,如果每次渲染都成功,阵帧率便能够达到流畅画面所需要的60fps。因此如果要确保帧率达到60fps,则意味着计算渲染的大多数操作都必须在16ms内完成。
绘制:是指待显示界面上的图形绘制。待显示界面可以由一个或多个视图组成,每个视图也可以称为界面元素,包括文字、图形、背景图像等。各个视图可以由视图系统的可视控件绘制,各个视图由子视图组成,一个子视图对应视图中的一个小部件,例如,其中的一个子视图对应图形视图中的一个符号。
渲染:是将绘制后的视图进行着色操作或增加2D/3D效果等。例如:3D效果可以是灯光效果、阴影效果和纹理效果等。
合成:是将多个上述一个或多个渲染后的视图或者说是界面合成为显示界面的过程。
可以理解,手机100等电子设备,在界面显示前通常需要经过绘制、渲染、合成等过程。手机100等电子设备基于所配置的硬件结构和所搭载的操作系统完成每一帧待显示界面的绘制、渲染、合成等过程,将在下文中结合相关附图具体介绍。
为了解决上述在光照强度较大的环境中用户难以看清手机100屏幕所显示内容的问题,本申请实施例提供了一种界面显示方法。具体地,该方法通过在检测到环境光光照强度超过预设值的情况下,在对待显示界面进行绘制渲染时,可以获取初始渲染参数,进而基于所获取的初始渲染参数确定初始不透明度和初始明亮度。按照预设的调整规则,根据初始不透明度和初始明亮度,来调整初始渲染参数,得到目标渲染参数,从而利用目标渲染参数来绘制渲染待显示界面,实现增强待显示界面上部分界面元素的对比度的目的。如此,用户则能够看清手机100屏幕所显示的文字内容和边框图形等。例如,用户在户外烈日下查看短消息或者回复短消息时,本申请实施例所提供的界面显示方法,可以令手机100此时显示的文字以及一些控件边框图形等更加清晰,因此用户可以看清手机100接收到的短消息,或者看清正在输入的短消息。
如此,本申请实施例所提供的界面显示方法,能够在一些光照强度较大的环境中,提高手机100等电子设备屏幕显示内容的对比度,从而便于用户看清手机100所显示的内容,利于提高用户体验。
可以理解,本申请实施例所提供的界面显示方案,所调整的待显示界面上图形,例如可以是一些控件边框图形,例如手机100等电子设备运行的应用程序上的各个功能控件的边框等、以及输入文字或者显示消息的文本框、对话框等的边框图形。在另一些实施例中,待显示界面上的图形还可以是一些形状或者符号图形等,例如是用户在输入框内输入的表情符号等。待显示界面上的图形的形状,可以包括但不限于点、直线、曲线、圆形、方形、长方形、三角形、星形、心形等,在此不做赘述。
基于上述图1所示的场景10,图2a至图2b根据本申请实施例示出了一些界面示意图。
参考图2a所示,手机100在应用本申请实施例所提供的增强显示方案调整渲染参数之前,用户在图1所示的场景10中查看手机100上的微信TM信息时,手机100所显示的聊天界面101。如图2a所示,聊天界面101上显示的文字101a颜色较浅,图标101b的线条颜色也较浅,聊天界面101的背景色与所显示的文字101a、图标101b等对比度较小。用户难以看清聊天界面101上显示的内容。
参考图2b所示,手机100在应用了本申请实施例所提供的增强显示方案调整渲染参数之后,用户在图1所示的场景10中查看手机100上的微信TM信息时,手机100所显示的聊天界面102。如图2b所示,聊天界面102上显示的文字102a颜色较深,图标102b的线条颜色也较深,聊天界面102的背景色与所显示的文字102a、图标102b等对比度较大。用户能够看清聊天界面102上显示的内容。
本申请实施例所提供的界面显示方法所适用的电子设备,包括但不限于手机、平板电脑、桌面型、膝上型、手持计算机、上网本、增强现实(augmentedreality,AR)\虚拟现实(virtual reality,VR)设备、智能电视、智能手表等、以及其中嵌入或耦接有一个或多个处理器的电视机、或能够访问网络的其他电子设备,在此不做限制。下面继续以手机100为例,介绍手机100实施本申请实施例提供的界面显示方法,提高屏幕显示的对比度,提高用户体验的具体过程。
图3根据本申请实施例示出了一种手机100的硬件结构示意图。
手机100可以包括处理器110,外部存储器接口120,内部存储器121,通用串行总线(universal serial bus,USB)接口130,充电管理模块140,电源管理模块141,电池142,天线1,天线2,移动通信模块150,无线通信模块160,音频模块170,扬声器170A,受话器170B,麦克风170C,耳机接口170D,传感器模块180,按键190,马达191,指示器192,摄像头193,显示屏194,以及用户标识模块(subscriber identification module,SIM)卡接口195等。其中传感器模块180可以包括压力传感器180A,接近光传感器180G,指纹传感器180H,温度传感器180J,触摸传感器180K,环境光传感器180L等。
可以理解的是,本发明实施例示意的结构并不构成对手机100的具体限定。在本申请另一些实施例中,手机100可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。
处理器110可以包括一个或多个处理单元,例如:处理器110可以包括应用处理器(application processor,AP),调制解调处理器,图形处理器(graphics processingunit,GPU),图像信号处理器(image signal processor,ISP),控制器,视频编解码器,数字信号处理器(digital signal processor,DSP),基带处理器,和/或神经网络处理器(neural-network processing unit,NPU)等。其中,GPU主要用于处理图形运算,通常所说“显卡”的核心部件就是GPU。控制器可以根据指令操作码和时序信号,产生操作控制信号,完成取指令和执行指令的控制。
可以理解,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。
在本申请实施例中,手机100的处理器110可以通过控制器来控制执行实施本申请实施例提供的界面显示方法的指令,实现增强手机100所显示内容的对比度的目的,以便用户看清手机100所显示的内容。具体将在下文详细描述,在此不做赘述。
处理器110中还可以设置存储器,用于存储指令和数据。在一些实施例中,处理器110中的存储器为高速缓冲存储器。该存储器可以保存处理器110刚用过或循环使用的指令或数据。如果处理器110需要再次使用该指令或数据,可从上述存储器中直接调用。避免了重复存取,减少了处理器110的等待时间,因而提高了系统的效率。
在一些实施例中,处理器110可以包括一个或多个接口。接口可以包括集成电路(inter-integrated circuit,I2C)接口,集成电路内置音频(inter-integrated circuitsound,I2S)接口,脉冲编码调制(pulse code modulation,PCM)接口,通用异步收发传输器(universal asynchronous receiver/transmitter,UART)接口,移动产业处理器接口(mobile industry processor interface,MIPI),通用输入输出(general-purposeinput/output,GPIO)接口,用户标识模块(subscriber identity module,SIM)接口,和/或通用串行总线(universal serial bus,USB)接口等。
I2C接口是一种双向同步串行总线,包括一根串行数据线(serial data line,SDA)和一根串行时钟线(derail clock line,SCL)。在一些实施例中,处理器110可以包含多组I2C总线。处理器110可以通过不同的I2C总线接口分别耦合触摸传感器180K,充电器,闪光灯,摄像头193等。例如:处理器110可以通过I2C接口耦合触摸传感器180K,使处理器110与触摸传感器180K通过I2C总线接口通信,实现手机100的触摸功能。
I2S接口可以用于音频通信。在一些实施例中,处理器110可以包含多组I2S总线。处理器110可以通过I2S总线与音频模块170耦合,实现处理器110与音频模块170之间的通信。
PCM接口也可以用于音频通信,将模拟信号抽样,量化和编码。在一些实施例中,音频模块170与无线通信模块160可以通过PCM总线接口耦合。
UART接口是一种通用串行数据总线,用于异步通信。该总线可以为双向通信总线。它将要传输的数据在串行通信与并行通信之间转换。
MIPI接口可以被用于连接处理器110与显示屏194,摄像头193等外围器件。MIPI接口包括摄像头串行接口(camera serial interface,CSI),显示屏串行接口(displayserial interface,DSI)等。在一些实施例中,处理器110和显示屏194通过DSI接口通信,实现手机100的显示功能。
GPIO接口可以通过软件配置。GPIO接口可以被配置为控制信号,也可被配置为数据信号。在一些实施例中,GPIO接口可以用于连接处理器110与摄像头193,显示屏194,无线通信模块160,音频模块170,传感器模块180等。GPIO接口还可以被配置为I2C接口,I2S接口,UART接口,MIPI接口等。
USB接口130是符合USB标准规范的接口,具体可以是Mini USB接口,Micro USB接口,USB Type C接口等。USB接口130可以用于连接充电器为手机100充电,也可以用于手机100与外围设备之间传输数据。
可以理解的是,本发明实施例示意的各模块间的接口连接关系,只是示意性说明,并不构成对手机100的结构限定。在本申请另一些实施例中,手机100也可以采用上述实施例中不同的接口连接方式,或多种接口连接方式的组合。
充电管理模块140用于从充电器接收充电输入。电源管理模块141用于连接电池142,充电管理模块140与处理器110。电源管理模块141接收电池142和/或充电管理模块140的输入,为处理器110,内部存储器121,显示屏194,摄像头193,和无线通信模块160等供电。
手机100的无线通信功能可以通过天线1,天线2,移动通信模块150,无线通信模块160,调制解调处理器以及基带处理器等实现。
天线1和天线2用于发射和接收电磁波信号。
移动通信模块150可以提供应用在手机100上的包括2G/3G/4G/5G等无线通信的解决方案。
无线通信模块160可以提供应用在手机100上的包括无线局域网(wireless localarea networks,WLAN)(如无线保真(wireless fidelity,Wi-Fi)网络),蓝牙(bluetooth,BT),全球导航卫星系统(global navigation satellite system,GNSS),调频(frequencymodulation,FM),近距离无线通信技术(near field communication,NFC),红外技术(infrared,IR)等无线通信的解决方案。
调制解调处理器可以包括调制器和解调器。其中,调制器用于将待发送的低频基带信号调制成中高频信号。解调器用于将接收的电磁波信号解调为低频基带信号。
在一些实施例中,手机100的天线1和移动通信模块150耦合,天线2和无线通信模块160耦合,使得手机100可以通过无线通信技术与网络以及其他设备通信。
手机100通过GPU,显示屏194,以及应用处理器等实现显示功能。GPU为图像处理的微处理器,连接显示屏194和应用处理器。GPU用于执行数学和几何计算,用于图形渲染。处理器110可包括一个或多个GPU,其执行程序指令以生成或改变显示信息。在本申请实施例中,手机100可以在实施本申请实施例所提供的界面显示方法的过程中,处理器110中的中央处理器(Central Processing Unit,CPU)可以在环境光光照强度较大时,执行渲染参数调整算法,再基于调整后得到的渲目标染参数调用绘制渲染函数及相应服务、模块等完成对待显示界面上的文字、图形等界面元素的绘制渲染,实现增强最终通过显示屏194显示的界面内容的对比度的目的,从而便于用户在较大的环境光光照强度下也能看清手机100屏幕显示的文字等内容。具体将在下文详细描述,在此不做赘述。
显示屏194用于显示图像,视频等。显示屏194包括显示面板。显示面板可以采用液晶显示屏(liquid crystal display,LCD),有机发光二极管(organic light-emittingdiode,OLED),有源矩阵有机发光二极体或主动矩阵有机发光二极体(active-matrixorganic light emitting diode的,AMOLED),柔性发光二极管(flex light-emittingdiode,FLED),Mini-LED,Micro-LED,Micro-OLED,量子点发光二极管(quantum dot lightemitting diodes,QLED)等。在一些实施例中,手机100可以包括1个或N个显示屏194,N为大于1的正整数。
手机100可以通过ISP,摄像头193,视频编解码器,GPU,显示屏194以及应用处理器等实现拍摄功能。
ISP用于处理摄像头193反馈的数据。摄像头193用于捕获静态图像或视频。物体通过镜头生成光学图像投射到感光元件。在一些实施例中,手机100可以包括1个或N个摄像头193,N为大于1的正整数。
外部存储器接口120可以用于连接外部存储卡,例如Micro SD卡,实现扩展手机100的存储能力。
内部存储器121可以用于存储计算机可执行程序代码,该可执行程序代码包括指令。内部存储器121可以包括存储程序区和存储数据区。其中,存储程序区可存储操作系统,至少一个功能所需的应用程序(比如声音播放功能,图像播放功能等)等。存储数据区可存储手机100使用过程中所创建的数据(比如音频数据,电话本等)等。此外,内部存储器121可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件,闪存器件,通用闪存存储器(universal flash storage,UFS)等。处理器110通过运行存储在内部存储器121的指令,和/或存储在设置于处理器中的存储器的指令,执行手机100的各种功能应用以及数据处理。在本申请实施例中,实施界面显示方法的指令可以存储在内部存储器121中,供处理器110调用执行,以实现增强手机100所显示内容的对比度的目的,从而便于用户在较大的环境光光照强度下也能看清手机100所显示的内容。
手机100可以通过音频模块170,扬声器170A,受话器170B,麦克风170C,耳机接口170D,以及应用处理器等实现音频功能。例如音乐播放,录音等。
音频模块170用于将数字音频信息转换成模拟音频信号输出,也用于将模拟音频输入转换为数字音频信号。音频模块170还可以用于对音频信号编码和解码。在一些实施例中,音频模块170可以设置于处理器110中,或将音频模块170的部分功能模块设置于处理器110中。
扬声器170A,也称“喇叭”,用于将音频电信号转换为声音信号。手机100可以通过扬声器170A收听音乐,或收听免提通话。受话器170B,也称“听筒”,用于将音频电信号转换成声音信号。当手机100接听电话或语音信息时,可以通过将受话器170B靠近人耳接听语音。麦克风170C,也称“话筒”,“传声器”,用于将声音信号转换为电信号。当拨打电话或发送语音信息时,用户可以通过人嘴靠近麦克风170C发声,将声音信号输入到麦克风170C。耳机接口170D用于连接有线耳机。
压力传感器180A用于感受压力信号,可以将压力信号转换成电信号。在一些实施例中,压力传感器180A可以设置于显示屏194。压力传感器180A的种类很多,如电阻式压力传感器,电感式压力传感器,电容式压力传感器等。电容式压力传感器可以是包括至少两个具有导电材料的平行板。当有力作用于压力传感器180A,电极之间的电容改变。手机100根据电容的变化确定压力的强度。当有触摸操作作用于显示屏194,手机100根据压力传感器180A检测该触摸操作的强度。手机100也可以根据压力传感器180A的检测信号计算触摸的位置。在一些实施例中,作用于相同触摸位置,但不同触摸操作强度的触摸操作,可以对应不同的操作指令。例如:当有触摸操作强度小于第一压力阈值的触摸操作作用于短消息应用图标时,执行查看短消息的指令。当有触摸操作强度大于或等于第一压力阈值的触摸操作作用于短消息应用图标时,执行新建短消息的指令。
接近光传感器180G可以包括例如发光二极管(LED)和光检测器,例如光电二极管。发光二极管可以是红外发光二极管。手机100通过发光二极管向外发射红外光。手机100使用光电二极管检测来自附近物体的红外反射光。当检测到充分的反射光时,可以确定手机100附近有物体。当检测到不充分的反射光时,手机100可以确定手机100附近没有物体。手机100可以利用接近光传感器180G检测用户手持手机100贴近耳朵通话,以便自动熄灭屏幕达到省电的目的。接近光传感器180G也可用于皮套模式,口袋模式自动解锁与锁屏。
环境光传感器180L用于感知环境光亮度,或者说用于感知环境光的光照强度。手机100可以根据感知的环境光亮度自适应调节显示屏194亮度。环境光传感器180L也可用于拍照时自动调节白平衡。环境光传感器180L还可以与接近光传感器180G配合,检测手机100是否在口袋里,以防误触。在本申请实施例中,手机100可以通过环境光传感器180L检测用户所在环境的光照强度,手机100再基于检测得到的光照强度判断是否执行本申请实施例所提供的界面显示方法,来调整待显示界面的渲染参数。其中,环境光传感器180L在烈日照射的室外环境检测到的光照强度,远大于在室内环境检测到的光照强度,因此在室外较大光照强度的环境中,手机100能够及时基于环境光传感器180L检测到的光照强度触发执行本申请实施例提供的界面显示方法,实现对手机100屏幕所显示内容的对比度的提升,提高用户体验。
指纹传感器180H用于采集指纹。手机100可以利用采集的指纹特性实现指纹解锁,访问应用锁,指纹拍照,指纹接听来电等。
温度传感器180J用于检测温度。在一些实施例中,手机100利用温度传感器180J检测的温度,执行温度处理策略。例如,当温度传感器180J上报的温度超过阈值,手机100执行降低位于温度传感器180J附近的处理器的性能,以便降低功耗实施热保护。
触摸传感器180K,也称“触控器件”。触摸传感器180K可以设置于显示屏194,由触摸传感器180K与显示屏194组成触摸屏,也称“触控屏”。触摸传感器180K用于检测作用于其上或附近的触摸操作。触摸传感器可以将检测到的触摸操作传递给应用处理器,以确定触摸事件类型。可以通过显示屏194提供与触摸操作相关的视觉输出。在另一些实施例中,触摸传感器180K也可以设置于手机100的表面,与显示屏194所处的位置不同。
按键190包括开机键,音量键等。按键190可以是机械按键。也可以是触摸式按键。手机100可以接收按键输入,产生与手机100的用户设置以及功能控制有关的键信号输入。
马达191可以产生振动提示。马达191可以用于来电振动提示,也可以用于触摸振动反馈。例如,作用于不同应用(例如拍照,音频播放等)的触摸操作,可以对应不同的振动反馈效果。作用于显示屏194不同区域的触摸操作,马达191也可对应不同的振动反馈效果。不同的应用场景(例如:时间提醒,接收信息,闹钟,游戏等)也可以对应不同的振动反馈效果。触摸振动反馈效果还可以支持自定义。
指示器192可以是指示灯,可以用于指示充电状态,电量变化,也可以用于指示消息,未接来电,通知等。
SIM卡接口195用于连接SIM卡。SIM卡可以通过插入SIM卡接口195,或从SIM卡接口195拔出,实现和手机100的接触和分离。SIM卡接口195可以支持Nano SIM卡,Micro SIM卡,SIM卡等。
图4根据本申请实施例示出了一种界面显示方法的实施流程示意图。可以理解,在本申请实施例中,图4所示各步骤的执行主体均为手机100,为了避免重复描述,下面在介绍各步骤的执行内容时不再重复描述各步骤的执行主体。
如图4所示,该流程包括以下步骤:
401:获取环境光光照强度。
示例性地,手机100例如可以基于环境光传感器180L来采集用户所在环境的光照强度,手机100的处理器110可以获取环境光传感器180L所采集的光照强度,继续执行下述步骤402的判断过程。
402:判断环境光光照强度是否超过预设的光照强度阈值。若判断结果为是,则表明此时环境光的光照强度较大,可以继续执行下述步骤403至405,获取待显示界面的渲染参数进行调整;若判断结果为否,则表明此时环境光的光照强度较小,无需调整待显示界面的渲染参数,执行下述步骤406。
示例性地,手机100的处理器110基于预设的光照强度阈值,判断获取到的环境光光照强度是否超过该光照强度阈值。例如,手机100内预设的光照强度阈值可以是2500勒克斯(Lux),则当手机100获取的光照强度超过2500Lux时,手机100的处理器110即可判断此时的环境光光照强度超过了预设的光照强度阈值,需执行下述步骤403;当手机100获取的光照强度低于2500Lux时,手机100的处理器110即可判断此时的环境光光照强度未超过预设的光照强度阈值,执行下述步骤406进行显示即可。
403:获取待显示界面的初始渲染参数。
示例性地,在上述步骤402中,手机100的处理器110判断所获取的环境光光照强度超过了预设的光照强度阈值时,则继续执行本步骤403,可以获取待显示界面的初始渲染参数,该初始渲染参数例如可以是文字、图形等部分些界面元素的颜色值和透明度值,即RGBA参数。其中,RGBA是代表Red(红色)、Green(绿色)、Blue(蓝色)和Alpha(不透明度)的色彩空间,该RGBA参数可以包括各个颜色通道的RGB值和不透明度(Alpha)。
作为示例,待显示界面的初始渲染参数,是手机100的系统根据待显示界面所对应应用程序的绘制渲染请求确定出来的。可以理解,初始渲染参数可以在手机100基于系统电设定的显示同步事件触发对每一帧待显示界面进行绘制渲染时获取,手机100内的绘制渲染进程可以基于渲染参数,完成每个显示周期内各应用程序的界面的绘制渲染和显示。可以理解,手机100屏幕上所显示的每一帧界面,都会经过绘制、渲染、合成,再通过物理屏幕(例如上述显示屏194)进行显示的过程。这一过程,可以由手机100运行应用程序时的显示同步事件触发垂直同步信号(VSync)触发,具体将在下文描述,在此不做赘述。
可以理解,待显示界面的界面元素可以包括背景颜色、待显示界面上的文字以及图标、控件边框等图形,本申请实施例可以通过调整待显示界面上的文字以及图标、控件边框等图形的不透明度及明亮度,来调整待显示界面上文字以及图标、控件边框等图形的渲染参数,从而实现增强待显示界面的对比度。其中,待显示界面上的文字以及图标、控件边框等图形,可以设定为指定需要调整的界面元素,即指定界面元素。
在另一些实施例中,也可以基于用户的使用需求,设定其他界面元素作为需要调整不透明度和明亮度的指定界面元素,在此不做限制。
404:根据预设的调整规则,对基于获取的初始渲染参数确定的初始不透明度及初始明亮度进行调整,进而确定目标渲染参数。调整后得到的目标渲染参数,即为上述目标渲染参数。
示例性地,手机100的处理器110可以通过预设的渲染参数调整算法,基于所获取的初始渲染参数,例如基于该初始渲染参数中的RGBA参数,来确定调整后的RGBA参数。具体地,初始渲染参数中的RGBA参数的A,即为不透明度通道的,简称A值;预设的渲染参数调整算法还包括:基于初始渲染参数RGBA参数中的三色通道RGB值计算明亮度的计算公式,能够基于初始渲染参数中的RGBA参数计算得到一些界面元素的明亮度。可以理解,不透明度和明亮度可以共同决定待显示界面上一些界面元素(例如文字、图形等)的对比度。
可以理解,预设的调整规则例如可以是下文图8所描述的渲染参数调整算法所对应的调整规则。在基于所获取的初始渲染参数确定初始不透明度和初始明亮度之后,手机100所执行的渲染参数调整算法,可以基于预设条件对该初始不透明度和初始明亮度进行调整,进而基于调整后的目标不透明度和/或目标明亮度完成RGBA参数的调整更新。调整后的RGBA参数,作为绘制渲染待显示界面的渲染参数,则能够实现增强待显示界面上一些界面元素的对比度的目的。具体渲染参数调整算法的计算过程,可以参考下文具体介绍,在此不做赘述。
405:基于目标渲染参数绘制渲染合成待显示界面,进行显示。
示例性地,手机100的处理器110可以基于目标渲染参数,通过手机100的绘制渲染能力完成待显示界面上的文字、图形等部分界面元素的绘制渲染过程。该目标渲染参数即为调整后得到的渲染参数。可以理解,待显示界面的背景颜色等无需调整渲染参数的界面元素,则基于这些界面元素原本的渲染参数进行绘制渲染即可。渲染得到的各个界面元素合成为待显示界面,通过手机100的显示屏194进行显示。具体手机100内的绘制渲染流程可以参考下文详细描述,在此不做赘述。
406:基于初始渲染参数绘制渲染合成待显示界面,进行显示。
示例性地,在上述步骤402中,手机100的处理器110判断所获取的环境光光照强度低于预设的光照强度阈值时,则可以执行本步骤406,基于待显示界面的初始渲染参数,进行绘制、渲染、合成后,通过手机100的显示屏194进行显示即可。
可以理解,手机100通过执行上述步骤401至406的过程,可以在一些光照强度较大的环境中,通过调整待显示界面上的文字、图形等界面元素的明亮度和不透明度,实现对这些界面元素的渲染参数的调整,手机100再基于调整后得到的目标渲染参数显示文字、图形等界面元素生成的待显示界面,相较于调整前的待显示界面,所显示的文字、图形等内容的对比度得以提高。如此,用户便能够在较强光照下也能够看清手机100所显示的文字、图形等内容,利于提高用户使用体验。
可以理解,在另一些实施例中,手机100也可以在检测到光照强度发生变化时,执行上述步骤401至406的过程,完成待显示界面上部分界面元素的渲染参数调整,以实现随光照强度变化调整待显示界面上部分界面元素对比度的目的,在此不做赘述。
下面将结合手机100的系统架构,具体描述本申请实施例的界面显示方法实施过程中,手机100内各个结构之间的具体交互实现过程。
图5根据本申请实施例示出了一种手机100的系统软件架构示意框图。
手机100的软件系统可以采用分层架构,事件驱动架构,微核架构,微服务架构,或云架构。本发明实施例以分层架构的Android系统为例,示例性说明手机100的软件结构。
分层架构将软件分成若干个层,每一层都有清晰的角色和分工。层与层之间通过软件接口通信。在一些实施例中,将Android系统分为四层,从上至下分别为应用程序层,应用程序框架层,安卓运行时(Android runtime)和系统库,以及内核层。
如图5所示,应用程序层可以包括一系列应用程序包。
应用程序包可以包括相机,图库,日历,通话,地图,导航,WLAN,蓝牙,音乐,视频,短信息等应用程序。
应用程序框架层为应用程序层的应用程序提供应用编程接口(applicationprogramming interface,API)和编程框架。应用程序框架层包括一些预先定义的函数。
应用程序框架层可以包括窗口管理服务(Windows Manager Service,WMS),视图系统(View System),图形系统(Graphics System),显示合成(SurfaceFlinger),显示引擎服务(DisplayEngineService),资源管理器,通知管理器等。
WMS,用于管理窗口程序。WMS可以获取显示屏大小,判断是否有状态栏,锁定屏幕,截取屏幕等。
视图系统包括可视控件,例如显示文字的控件,显示图片的控件等。视图系统可用于构建应用程序。显示界面可以由一个或多个视图组成的。例如,包括短信通知图标的显示界面,可以包括显示文字的视图以及显示图片的视图。
图形系统,是系统中的通用编程软件包,由图形I/O设备构成,基本功能是图元生成、属性设置等。
SurfaceFlinger也可称作界面合成,SurfaceFlinger的作用是接受WMS提供的图形显示数据,将它们合成,并输入到显示设备上显示。SurfaceFlinger可以使用开放图形库(OpenGL)硬件合成器(HardWareComposer,HWC)来合成界面(Surface)。
显示引擎服务,可以调用硬件抽象层中基于环境光传感器180L提供的硬件能力获取环境光的光照强度。
在本申请实施例中,SurfaceFlinger可以将绘制渲染得到的界面元素合成为待显示界面,并将合成后的待显示界面进行送显,即通过物理屏幕(例如上述显示屏194)进行显示。
资源管理器为应用程序提供各种资源,比如本地化字符串,图标,图片,布局文件,视频文件等等。
通知管理器使应用程序可以在状态栏中显示通知信息,可以用于传达告知类型的消息,可以短暂停留后自动消失,无需用户交互。比如通知管理器被用于告知下载完成,消息提醒等。通知管理器还可以是以图表或者滚动条文本形式出现在系统顶部状态栏的通知,例如后台运行的应用程序的通知,还可以是以对话窗口形式出现在屏幕上的通知。例如在状态栏提示文本信息,发出提示音,电子设备振动,指示灯闪烁等。
Android Runtime包括核心库和虚拟机。Android runtime负责安卓系统的调度和管理。核心库包含两部分:一部分是java语言需要调用的功能函数,另一部分是安卓的核心库。
应用程序层和应用程序框架层运行在虚拟机中。虚拟机将应用程序层和应用程序框架层的java文件执行为二进制文件。虚拟机用于执行对象生命周期的管理,堆栈管理,线程管理,安全和异常的管理,以及垃圾回收等功能。
系统库可以包括多个功能模块。例如:表面管理器(surface manager),媒体库(Media Libraries),三维图形处理库(例如:开放图形库(Open Graphics Library,OpenGL),或者针对嵌入式系统的开放图形库(Open Graphics Library for EmbeddedSystems,OpenGL ES)),2D图形引擎(例如:Skia图形库(Skia Graphics Library,SGL))等。可以理解,Android应用程序可以调用SGL或OpenGL ES接口来绘制渲染UI界面。
表面管理器用于对显示子系统进行管理,并且为多个应用程序提供了2D和3D图层的融合。
媒体库支持多种常用的音频,视频格式回放和录制,以及静态图像文件等。媒体库可以支持多种音视频编码格式,例如:MPEG4,H.264,MP3,AAC,AMR,JPG,PNG等。
三维图形处理库用于实现三维图形绘图,图像渲染,合成,和图层处理等。
2D图形引擎是2D绘图的绘图引擎。
可以理解,Android应用里面的图形绘制分为2D和3D两种,2D可以由Skia来实现的,Skia也可以调用部分OpenGL ES的内容来实现简单的3D效果。
硬件抽象层,即HAL层,是对硬件驱动的封装,为上层提供一个统一的硬件能力通用接口。如图5所示,硬件抽象层包括CPU HAL、GPU HAL、传感器HAL、显示HAL以及摄像头HAL等。
内核层是硬件和软件之间的层。内核层至少包含CPU驱动,GPU驱动,显示驱动,传感器驱动,摄像头驱动等。
可以理解,基于图5所示的手机100的系统架构,图6根据本申请实施例示出了手机100实施界面显示方法的过程中进行绘制渲染所涉及的结构示意图。
如图6所示,手机100对待显示界面进行的绘制渲染,需要由垂直同步信号(VSync)触发,例如手机100系统的显示同步事件每隔16.67ms会触发一次垂直同步信号(VSync),该信号可以触发手机100的CPU运行视图系统610、图形系统620等对当前这一帧待显示界面进行绘制渲染,该绘制渲染过程可以启动硬件加速渲染,即CPU所运行的图形系统620还可以通过OpenGL ES接口调用GPU来执行绘制渲染过程。其中,图形系统620中还包括硬件渲染器(Hardware Renderer)、图形库界面视图(GLSurface View)、用于存储绘制渲染命令序列的DisplayList、位图(bitmap)编解码、界面纹理(Surface Texture)、OpenGL ES接口、图层(Layer)、Skia通道(pipeline)、渲染节点(Render Node)、渲染线程(Render Thread)等完成对当前这一帧待显示界面的视图模块(view)的绘制渲染流程。
可以理解,手机100上显示的每一帧待显示界面,都需要经过文字、图形等界面元素的绘制渲染之后,显示在手机100屏幕上。在图6所示的结构中,CPU负责计算绘制view的各种参数,包括基于光照强度触发执行渲染参数调整算法而得到的目标渲染参数等。如果绘制渲染阶段需要启动硬件加速渲染,CPU则可以将计算得到的参数等数据可以存入DisplayList,CPU运行的图形系统620可以通过OpenGL ES调用GPU进行图形绘制。GPU则负责图形的绘制渲染,即基于CPU计算得到的各种参数,实现view的绘制渲染过程。
基于图6所示的绘制渲染阶段所涉及的各个结构,图7根据本申请实施例示出了各结构之间的交互流程示意图。
如图7所示,该交互流程包括以下步骤:
701:CPU所运行的视图系统610接收VSync信号。
示例性地,CPU所运行的视图系统610可以接收系统显示触发的VSync信号,并基于接收到的VSync信号,启动对当前这一帧视图模块(view)的绘制渲染流程。
可以理解,当前这一帧view完成绘制渲染以及合成后,即生成一帧待显示界面,在手机100屏幕上显示。
702:CPU所运行的视图系统610获取view属性。
示例性的,CPU所运行的视图系统610可以通过WMS获取该view的属性,包括该view上的各控件(widget)对应的文字、图形等界面元素。
703:CPU所运行的视图系统610向图形系统620传递view属性。
示例性地,视图系统610启动绘制渲染流程后,视图系统610可以将view属性传递给图形系统,进行绘制渲染合成。
704:CPU所运行的图形系统620基于view属性,确定用于绘制待显示界面的初始参数,包括初始渲染参数参数。
示例性地,CPU所运行的图形系统620基于视图系统610传递的view属性,确定的用于绘制当前这一帧待显示界面的view的初始渲染参数。
可以理解,任何时候view中的绘制内容发生变化时,CPU都会运行图形系统620重新执行创建绘制渲染命令序列(DisplayList)。例如当view的大小发生改变,或者当绘制view初始渲染参数更新,图形系统620则会重新创建DisplayList,然后再进行绘制渲染。
705:CPU所运行的图形系统620调用显示引擎服务获取当前光照强度。
示例性地,在本申请实施例中,在绘制渲染阶段,CPU可以通过运行的图形系统620调用显示引擎服务获取的光照强度,作为绘制渲染阶段是否调整待显示界面的渲染参数的判断数据。
706:CPU判断当前光照强度是否超过预设的光照强度阈值。若判断结果为是,则继续执行步骤707,调整初始渲染参数;若判断结果为否,则基于初始渲染参数执行步骤709。
示例性地,CPU所执行的对当前光照强度是否超过预设的光照强度阈值的判断过程,可以参考上述步骤402中相关描述,在此不做赘述。
707:CPU基于初始渲染参数,执行渲染参数调整算法,得到目标渲染参数。
示例性地,如果显示引擎服务获取的光照强度超过预设的光照强度阈值时,则可以触发CPU执行渲染参数调整算法,对这一帧待显示界面的view的RGBA参数等渲染参数进行调整。
渲染时,CPU会先判断显示引擎服务提供的当前环境的光照强度是否超过预设的光照强度阈值。例如预设的光照强度阈值为2500Lux,则当手机100系统的显示引擎服务获取到的环境光光照强度超过2500Lux时,图形系统620中画布上的渲染参数则可以被相应的画笔获取并提供给CPU,CPU可以基于该渲染参数中的RGBA参数,执行渲染参数调整算法。该渲染参数调整算法的具体执行过程,将在下文结合图8所示的流程图详细介绍。在此不做赘述。
708:CPU将计算确定的目标渲染参数更新到DisplayList中。
示例性地,CPU在上述步骤707中执行渲染参数调整算法后,确定对当前这一帧待显示界面(view)的目标渲染参数后,可以将该目标渲染参数更新到图形系统620的DisplayList中,其中,绘制view的渲染参数由初始渲染参数更新为目标渲染参数时,可以触发CPU所运行的图形系统620重新创建DisplayList,并将目标渲染参数放入所创建的DisplayList中。
示例性地,手机100所运行的视图系统610可以根据view属性中的启动硬件加速渲染的Windows Manager标志位,来启动GPU硬件加速渲染。启动硬件加速渲染时,CPU所运行的图形系统620可以通过OpenGL ES接口,调用GPU执行绘制渲染任务。可以理解,硬件加速的主要原理,就是通过底层软件代码,将CPU不擅长的图形绘制转换成GPU专用指令,由GPU完成图形绘制渲染过程。在此不做赘述。
709:CPU所运行的图形系统620通过OpenGL ES接口调用GPU执行绘制渲染。
示例性地,在启动硬件加速渲染的情况下,CPU可以通过OpenGL ES调用GPU的图形处理能力,来执行绘制渲染过程相关的指令,即图6所示的GPU HAL实现的过程。
710:GPU根据DisplayList中的绘制渲染参数,进行文字、图形等界面元素的绘制以及合成显示。
示例性地,在硬件加速的绘制渲染阶段,GPU可以调用OpenGL ES对构建好的视图进行绘制渲染。其中,DisplayList中的绘制渲染参数可以是上述步骤704中确定的初始渲染参数。即CPU在执行上述步骤706时,如果判断当前的光照强度未超过预设的光照强度阈值,则CPU所运行的图形系统620可以根据初始渲染参数进行绘制渲染。具体可以参考上述上述步骤406,在此不做赘述。
可以理解,DisplayList中的绘制渲染参数也可以是上述步骤707计算确定的目标渲染参数。即CPU在执行上述步骤707时,如果判断当前的光照强度超过了预设的光照强度阈值,则执行上述步骤707对初始渲染参数进行调整,得到的目标渲染参数更新到DisplayList中,作为进行文字或图形等界面元素绘制渲染的参数。如此,在强烈光照下(光照强度较大时),手机100也可以显示界面元素对比度较高的界面。
GPU完成绘制的内容可以保存在图形缓冲器(GraphicBuffer)并交由SurfaceFlinger合成显示。上述图形系统620中的DisplayList的本质是一个缓冲区,记录了即将要执行的OpenGL绘制命令及相关参数,这些绘制命令最终会为由GPU执行。绘制时,DisplayList中的绘制渲染命令可以交给渲染(Render)线程进行绘制渲染。
图8根据本申请实施例示出了一种渲染参数调整算法的计算流程示意图。可以理解,在本申请实施例中,图8所示流程中各步骤的执行主体为手机100的CPU,为了避免重复描述,以下各步骤的描述中不再分别描述执行主体。
如图8所示,该算法的计算流程包括以下步骤:
801:获取初始RGBA参数。
示例性地,图形系统620中的Skia等图形绘制接口,可以获取需要绘制渲染的待显示界面的渲染参数,例如待显示界面上的文字或图形的RGBA参数等,在此不做限制。
可以理解,待显示界面上文字以及图标、控件边框等图形的渲染参数,例如RGBA参数。RGBA参数中各通道的值域范围均可以为[0,255],如果一个文字或图形的Alpha通道数值为0,那它就是该文字或图形是完全透明的,此时用户则看不见该文字或图形;而如果该Alpha通道的数值为255,则意味着该文字或图形完全不透明,此时用户则能够很清晰的看清该文字或图形的边界或轮廓等。
如上所述,RGBA参数中的A值即为不透明度,因此下述步骤中需要用到的不透明度可以从本步骤801所获取的RGBA参数中直接获取。另外,下述步骤804中需要用到的初始明亮度,则可以根据RGBA中的三色通道RGB值计算得到,具体将在下文相应步骤中描述,在此不做赘述。
802:基于获取的RGBA参数,判断绘制相应界面元素的颜色是否为预设颜色。若判断结果为是,则表明该RGBA参数满足预设的调整渲染参数的条件,可以执行下述步骤804进行初始明亮度计算;若判断结果为否,则表明该RGBA参数不满足预设的调整渲染参数的条件,则可执行下述步骤803,将所获取的RGBA参数返回,即使用初始渲染参数继续绘制渲染流程。
示例性地,预设颜色例如可以是灰色,手机100屏幕所显示的界面中文字、控件边框等图形可以采用灰色绘制。可以理解,如果三色通道RGB值相互越接近,相应的颜色则越接近灰色。不同的三颜色通道值对应于不同的颜色,RGB(0,0,0)对应的是黑色,也可以理解为颜色最深的灰色;RGB(255,255,255)则对应的白色,也可以理解为颜色最浅的灰色。在本申请实施例中,可以预设灰色作为预设的调整渲染参数的条件,如果是灰色,则继续执行算法,计算初始明亮度并执行后续其他步骤来调整渲染参数,即执行下述步骤804;如果不是灰色,则结束执行算法,不调整该界面元素的渲染参数,返回初始渲染参数(即初始RGBA参数)继续绘制渲染,即执行下述的步骤803。在另一些实施例中,也可以合理预设其他颜色作为预设的调整渲染参数的条件,在此不做限制。
其中,基于获取的RGBA参数确定是否为灰色的过程,可以通过计算“(R-G)和(G-R)的绝对值之和是否小于16”来实现。当(R-G)和(G-R)的绝对值之和小于16时,则可以确定该RGBA参数对应的颜色是灰色。例如RGBA参数为(195,198,200,150)时,|R-G|=3,|G-R|=3,因此可以计算得到“(R-G)和(G-R)的绝对值之和”为6,小于16。此时可以确定,该RGBA参数(195,198,200,150)绘制出来的界面元素颜色即为灰色。
803:将初始RGBA参数作为目标渲染参数。
示例性地,若上述步骤802的判断结果为否,则表明该RGBA参数不满足预设的调整渲染参数的条件,执行本步骤803,将初始RGBA参数作为相应界面元素的目标渲染参数,继续对待显示界面进行绘制渲染过程即可。
804:基于所获取RGBA参数中的RGB值,计算初始明亮度。
示例性地,若上述步骤802的判断结果为是,基于所获取的RGBA参数中的三色通道RGB值,可以计算出待显示界面上的文字、图形等界面元素的明亮度,即在一定亮度值下能够显示出来的明亮程度。
计算明亮度可以采用色彩空间转换公式,例如可以参考以下公式(1):
Y=0.299*R+0.587*G+0.114*B (1)
继续以初始RGBA参数为(195,198,200,150)为例,基于上述公式(1),可以计算得到初始明亮度Y=0.299*195+0.587*198+0.114*200=197.331。
805:判断初始明亮度是否小于预设的明亮度阈值。若判断结果为是,则表明基于初始RGBA参数绘制的界面元素的明亮程度已足够,可以继续执行下述步骤803,将所获取的RGBA参数返回,即使用初始渲染参数继续绘制渲染流程;若判断结果为否,则表明基于初始RGBA参数绘制的界面元素不够明亮,需要进一步判断是否能够调整该参数中的不透明度补偿明亮程度,即继续执行下述步骤806。
示例性地,预设的明亮度阈值例如可以是根据用户体验反馈确定的需要调整明亮度的经验值,例如可以是102。在另一些实施例中,不同的手机100等电子设备上预设的明亮度阈值可以设定为其他合理值,在此不做限制。
806:判断初始RGBA参数中的初始不透明度是否小于预设的不透明度阈值。若判断结果为是,则表明初始RGBA参数中的不透明度过小,或者也可以理解为透明度过大,因此需执行下述步骤807,通过增加较大程度的不透明度,实现增强对比度的目的;若判断结果为否,则表明基于初始RGBA参数中的不透明度较小,可以执行下述步骤809和步骤810,增加较小程度的不透明度、再下调初始明亮度,来实现增强对比度的目的。
示例性地,预设的不透明度阈值例如可以是根据用户体验反馈确定的需要调整明亮度的经验值,例如可以是153。在另一些实施例中,不同的手机100等电子设备上预设的不透明度阈值可以设定为其他合理值,在此不做限制。
可以理解,如果RGBA参数中的不透明度过大,表明基于该参数绘制出来的界面元素越透明,该界面元素与待显示界面的背景对比度则会较小。如果在较大光照强度的环境中,该界面元素的显示效果可以参考上述图2a所示的聊天界面101,用户很难能够看清该界面元素所呈现的内容。
以初始RGBA参数为(100,98,102,150)为例,该初始参数中的不透明度为150,小于153,因此,可以继续执行下述步骤807,对该不透明度150增加较大幅度的值,来调整初始RGBA参数中的不透明度。
807:上调初始不透明度,增加第一预设值,得到目标不透明度。
示例性地,第一预设值可以是对不透明度增加较大幅度范围内的设定值,例如可以是40~60内的任意值。在上述步骤806中,如果判断所获取的不透明度小于预设的不透明度阈值,例如小于153时,可以继续执行本步骤807,将初始RGBA参数中的A值增加40~60范围内设定的任意值,即不透明度增加第一预设值。具体可以参考上述步骤807中相关描述,在此不再赘述。
808:基于目标不透明度,更新RGBA参数作为目标渲染参数。
示例性地,所返回的上调不透明度后的RGBA参数中,A值为在初始参数中的A值上增加20~40或者增加40~60之后的不透明度值,RGB值与初始RGBA参数中的RGB值相同,保持不变。上调不透明度的值(即A值)之后,RGBA参数完成调整更新,此时调整后的RGBA参数即作为绘制相应界面元素的目标渲染参数,继续进行绘制渲染过程。
809:上调初始不透明度,增加第二预设值,得到目标不透明度。
示例性地,第二预设值可以是对不透明度增加较小幅度范围内的设定值,例如可以是20~40内的任意值。在上述步骤806中,如果判断所获取的不透明度不小于预设的不透明度阈值,例如大于或等于153时,可以继续执行本步骤809,将初始RGBA参数中的A值增加20~40范围内设定的任意值,即不透明度增加第二预设值。在另一些实施例中,不同的手机100等电子设备上预设的第二预设值也可以是其他合理范围内的任意值,在此不做限制。
以初始RGBA参数为(100,98,102,150)为例,执行本步骤807后,不透明度150增加20~40范围内的第二预设值后,可以将初始RGBA参数中的不透明度调整至180~190。可以理解,在具体实施过程中,对于各个初始RGBA参数设定的不透明度增加的第二预设值,可以基于初始RGBA参数中的不透明度数值、以及基于初始RGBA参数中的RGB值计算得到的初始明亮度大小合理设定。例如对于初始RGBA参数为(195,198,200,150)可以设定增加的第二预设值为30,则执行本步骤809后,该初始RGBA参数中的不透明度可以调整为180。
可以理解,不透明度的值域范围通常为[0,255],因此,上调不透明度的上限亦受此限制。如果基于预设的增加值上调不透明度后,不透明度超过了255,则上调后的不透明度可以自动调整为255。
可以理解,执行完本步骤809之后,可以继续执行下述步骤810,下调初始明亮度,综合本步骤上调不透明度,从而实现增强待显示界面上文字、图形等对比度的目的。
810:下调初始明亮度,得到目标明亮度。
示例性地,若上述步骤806的判断结果为否,表明原始RGBA参数中的不透明度较大,执行完上述步骤809小幅度上调不透明度之后,再下调初始明亮度,综合实现增强待显示界面上界面元素对比度的目的。下调初始明亮度的幅度例如可以设置为25或其他合理阈值,即执行完上述步骤809之后可以继续执行本步骤,将上述步骤804中计算得到的初始明亮度减小25这样,待显示界面上的文字、图形等颜色可以加深,从而可以提高该文字、图形等待显示界面上的对比度。
以初始RGBA参数为(100,98,102,255)为例,基于上述公式(1),可以计算得到初始明亮度Y=99。基于该初始RGBA参数执行完上述步骤801至810后,下调明亮度25之后,得到目标明亮度则为74。
811:将下调后的目标明亮度作为三个颜色通道上的值,以更新RGB值。
示例性地,将下调后得到的目标明亮度值直接作为三色通道R、G、B的值。例如,上述步骤810中示例的下调后得到的目标明亮度为74,则将该目标明亮度的值更新为新的RGB值后,RGB值为(74,74,74)。
812:基于更新的RGB值和目标不透明度,更新RGBA参数作为目标渲染参数。
示例性地,上述步骤811更新得到的新的RGB值,结合上述步骤809上调后的不透明度的值(即A值),则可以得到调整后的RGBA参数。该调整后的RGBA参数即作为目标渲染参数,基于目标渲染参数继续对待显示界面进行绘制渲染过程。
继续以初始RGBA参数为(100,98,102,255)为例,上述步骤809上调后的不透明度的值为255,上述步骤811更新得到的新的RGB值为(74,74,74),则调整后的RGBA参数为(74,74,74,255)。
在说明书对“一个实施例”或“实施例”的引用意指结合实施例所描述的具体特征、结构或特性被包括在根据本申请实施例公开的至少一个范例实施方案或技术中。说明书中的各个地方的短语“在一个实施例中”的出现不一定全部指代同一个实施例。
本申请实施例的公开还涉及用于执行文本中的操作装置。该装置可以专门处于所要求的目的而构造或者其可以包括被存储在计算机中的计算机程序选择性地激活或者重新配置的通用计算机。这样的计算机程序可以被存储在计算机可读介质中,诸如,但不限于任何类型的盘,包括软盘、光盘、CD-ROM、磁光盘、只读存储器(ROM)、随机存取存储器(RAM)、EPROM、EEPROM、磁或光卡、专用集成电路(ASIC)或者适于存储电子指令的任何类型的介质,并且每个可以被耦合到计算机系统总线。此外,说明书中所提到的计算机可以包括单个处理器或者可以是采用针对增加的计算能力的多个处理器涉及的架构。
本文所提出的过程和显示器固有地不涉及任何具体计算机或其他装置。各种通用系统也可以与根据本文中的教导的程序一起使用,或者构造更多专用装置以执行一个或多个方法步骤可以证明是方便的。在一下描述中讨论了用于各种这些系统的结构。另外,可以使用足以实现本申请实施例公开的技术和实施方案的任何具体编程语言。各种编程语言可以被用于实施本公开,如本文所讨论的。
另外,在本说明书所使用的语言已经主要被选择用于可读性和指导性的目的并且可能未被选择为描绘或限制所公开的主题。因此,本申请实施例公开旨在说明而非限制本文所讨论的概念的范围。
Claims (6)
1.一种界面显示方法,应用于电子设备,其特征在于,包括:
检测到环境光光照强度大于光照强度阈值,获取待显示界面中第一界面元素的第一渲染参数,其中所述第一界面元素至少包括文字、图形中的一种;
基于所述第一渲染参数,确定第一明亮度和第一不透明度,其中所述第一明亮度用于表示所述第一界面元素的明亮程度;
确定所述第一明亮度的值大于第一参数阈值;
将所述第一渲染参数中的第一不透明度调整为第二不透明度,具体包括:
若所述第一不透明度小于第二参数阈值,对所述第一不透明度增加第一预设值,并将得到的第三不透明度作为所述第二不透明度,并保持所述第一明亮度不变;
若所述第一不透明度大于或等于第二参数阈值,对所述第一不透明度增加第二预设值,将得到的第四不透明度作为所述第二不透明度,并将所述第一明亮度调整为第二明亮度,其中所述第二明亮度小于所述第一明亮度,并且,
所述第二不透明度的值大于所述第一不透明度的值,并且所述第一预设值大于所述第二预设值;
根据所述调整结果确定第二渲染参数,所述第二渲染参数作为绘制渲染所述待显示界面的参数。
2.根据权利要求1所述的方法,其特征在于,所述第一渲染参数包括第一RGBA颜色参数;并且
基于所述第一渲染参数,确定第一明亮度,包括:
基于所述第一RGBA颜色参数中的RGB值,计算得到所述第一明亮度;
基于所述第一RGBA颜色参数中的A值,确定所述第一不透明度。
3.根据权利要求2所述的方法,其特征在于,所述根据所述调整结果确定第二渲染参数,包括:
将所述第一RGBA颜色参数中的A值更新为所述第三不透明度的值,作为第二RGBA颜色参数;
所述第二渲染参数包括所述第二RGBA颜色参数。
4.根据权利要求2所述的方法,其特征在于,所述根据所述调整结果确定第二渲染参数,包括:
将所述第一RGBA颜色参数中的RGB值更新为所述第二明亮度的值、并且将所述第一RGBA颜色参数中的A值更新为所述第四不透明度的值,作为第三RGBA颜色参数;
所述第二渲染参数包括所述第三RGBA颜色参数。
5.一种电子设备,其特征在于,包括:一个或多个处理器;一个或多个存储器;所述一个或多个存储器存储有一个或多个程序,当所述一个或者多个程序被所述一个或多个处理器执行时,使得所述电子设备执行权利要求1至4中任一项所述的界面显示方法。
6.一种计算机可读存储介质,其特征在于,所述存储介质上存储有指令,所述指令在计算机上执行时使所述计算机执行权利要求1至4中任一项所述的界面显示方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210032031.XA CN114513574B (zh) | 2022-01-12 | 2022-01-12 | 界面显示方法、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210032031.XA CN114513574B (zh) | 2022-01-12 | 2022-01-12 | 界面显示方法、电子设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114513574A CN114513574A (zh) | 2022-05-17 |
CN114513574B true CN114513574B (zh) | 2023-04-07 |
Family
ID=81550302
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210032031.XA Active CN114513574B (zh) | 2022-01-12 | 2022-01-12 | 界面显示方法、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114513574B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116028149B (zh) * | 2022-08-31 | 2024-03-26 | 荣耀终端有限公司 | 窗口渲染方法、系统、设备、存储介质和计算机程序产品 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8749478B1 (en) * | 2009-08-21 | 2014-06-10 | Amazon Technologies, Inc. | Light sensor to adjust contrast or size of objects rendered by a display |
JP2016224095A (ja) * | 2015-05-27 | 2016-12-28 | 京セラ株式会社 | 携帯端末および携帯端末の制御方法 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102750900B (zh) * | 2012-06-30 | 2015-02-25 | 成都西可科技有限公司 | 智能终端屏幕颜色和亮度预调节方法 |
CN110536172B (zh) * | 2019-07-09 | 2022-10-18 | 咪咕视讯科技有限公司 | 一种视频图像显示的调节方法、终端及可读存储介质 |
CN110609722B (zh) * | 2019-08-09 | 2021-07-20 | 华为技术有限公司 | 一种暗模式显示界面处理方法、电子设备与存储介质 |
-
2022
- 2022-01-12 CN CN202210032031.XA patent/CN114513574B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8749478B1 (en) * | 2009-08-21 | 2014-06-10 | Amazon Technologies, Inc. | Light sensor to adjust contrast or size of objects rendered by a display |
JP2016224095A (ja) * | 2015-05-27 | 2016-12-28 | 京セラ株式会社 | 携帯端末および携帯端末の制御方法 |
Also Published As
Publication number | Publication date |
---|---|
CN114513574A (zh) | 2022-05-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2021027747A1 (zh) | 一种界面显示方法及设备 | |
CN113630572B (zh) | 帧率切换方法和相关装置 | |
CN112328130B (zh) | 显示处理方法及电子设备 | |
US20230419570A1 (en) | Image Processing Method and Electronic Device | |
CN112148400B (zh) | 锁定状态下的显示方法及装置 | |
WO2020093988A1 (zh) | 一种图像处理方法及电子设备 | |
CN113254120B (zh) | 数据处理方法和相关装置 | |
WO2022257451A1 (zh) | 一种显示方法、电子设备及计算机存储介质 | |
CN113132526B (zh) | 一种页面绘制方法及相关装置 | |
WO2020155875A1 (zh) | 电子设备的显示方法、图形用户界面及电子设备 | |
WO2023130921A1 (zh) | 一种适配多设备的页面布局的方法及电子设备 | |
WO2022095744A1 (zh) | Vr显示控制方法、电子设备及计算机可读存储介质 | |
CN113961157A (zh) | 显示交互系统、显示方法及设备 | |
CN114327127A (zh) | 滑动丢帧检测的方法和装置 | |
CN114513574B (zh) | 界面显示方法、电子设备及存储介质 | |
WO2023005751A1 (zh) | 渲染方法及电子设备 | |
WO2023066165A1 (zh) | 动画效果显示方法及电子设备 | |
WO2023071482A1 (zh) | 视频编辑方法和电子设备 | |
WO2023016014A1 (zh) | 视频编辑方法和电子设备 | |
CN113781959B (zh) | 界面处理方法及装置 | |
CN115686403A (zh) | 显示参数的调整方法、电子设备、芯片及可读存储介质 | |
CN112581903B (zh) | 一种像素补偿方法和电子设备 | |
CN116688494B (zh) | 生成游戏预测帧的方法和电子设备 | |
WO2023207844A1 (zh) | 动态壁纸显示的方法、装置和电子设备 | |
CN116700655B (zh) | 一种界面显示方法及电子设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |