具有浮点布局的像素对准描绘的制作方法


具有浮点布局像素对准描绘


背景技术:



1.布局定义了用于使用图形用户界面来描绘元素以显示在计算设备的屏幕上的区域。描绘与像素界限对准的元素对于维持鲜明的图像边缘是重要的。如果元素不与像素界限像素对准,则在元素的外围产生锯齿状(例如,阶梯状)边缘。通过用中间灰或彩度围绕阶梯,反锯齿技术可以用于减少锯齿状边缘的突出。然而,这使得元素边缘显得模糊,并且所得的图像或文本不是鲜明和清晰的。


技术实现要素:



2.本公开描述用于具有浮点布局的像素对准描绘的技术和装置。这些技术和装置使用图形用户界面(gui)内的布局和描绘管理器来管理元素的布局和描绘。通过这样做,技术和装置提供浮点的精确布局,但描绘和显示像素对准的元素,从而允许看起来更清晰和更清楚的gui。
3.在附图和以下描述中阐述了一个或多个实施方式的细节。从说明书、附图和权利要求书中,其它特征和优点将是显而易见的。提供本发明内容以介绍将在详细描述和附图中进一步描述的主题。因此,本发明内容不应被认为限制所要求保护的主题的范围。
附图说明
4.参考以下附图描述用于以浮点定义布局并且描绘像素对准的元素的技术和装置的一个或多个方面的细节。在说明书和附图中的不同实例中使用相同的附图标记可以指示相同的特征。
5.图1图示以浮点定义并且具有三个子代的第一示例布局。
6.图2图示以浮点定义并且具有三个子代的第二示例布局,包括使用像素的反锯齿相对于每个子代描绘的元素。
7.图3图示以浮点定义并且具有三个子代的第三示例布局,包括像素对准的相对于每个子代而描绘的元素。
8.图4图示以浮点定义并且具有三个子代的第四示例布局,图示以像素的较大屏幕空间为中心的布局并且包括使用像素的反锯齿相对于每子代描绘的元素。
9.图5图示以浮点定义并且具有三个子代的第五示例布局,图示以像素的较大屏幕空间为中心的布局并且包括相对于像素偏移被像素对准的相对于每个子代而描绘的元素。
10.图6图示用于以浮点定义布局并且描绘像素对准的元素的示例方法。
11.图7图示用于以浮点定义布局并且使用像素偏移描绘像素对准的元素的示例方法。
12.图8图示可以实现以浮点定义布局和描绘像素对准的元素的各个方面的用户设备的示例框图。
具体实施方式
13.概述
14.为了像素对准用于在gui中描绘的布局,一些应用使用整数布局,其中基于整数的计算定义了描绘元素的布局。这确保了描绘在像素界限处出现像素对准,并且减少了反锯齿。然而,使用整数布局可以累积误差。例如,当对准到整数布局的中心时,中心对准可以划分像素。为了避免划分像素,应用可以修改布局的定位以居中于左像素或右像素。通常,每当出现划分像素的情况时,应用就在相同的左方向或右方向上修改布局定位。这种在相同方向上定位布局的重复可能是有问题的。例如,如果几个居中布局套叠在彼此中,则一致地选择左或右像素以使布局居中的误差累积,从而导致套叠布局偏离中心几个像素。
15.用整数布局均匀地划分空间也可以是具有挑战性的。父布局不能总是被均匀地划分成期望数量的子布局部分。因此,布局设计者必须选择哪些子部分应当占用较少像素并且哪些应当占用较多像素,以考虑到不均匀的划分。否则,父布局可能以未填充像素结束。例如,在具有一百个像素的布局中,如果七个子部分每个都被指派了十四个像素,则总共仅有九十八个像素,留下两个像素未填充。设计者可以考虑的一个校正选项是指派每个是十四个像素的五个子部分,总共七十个像素,并且分配每个是十五个像素的两个子部分,总共三十个像素。然后,组合的子部分(七十加三十)填充一百像素布局。
16.其它应用可以使用gui的浮点布局,其中基于浮点的计算定义布局。这确保了元素的布局和描绘发生在精确定义的区域,而不管布局和元素相对于屏幕上的物理像素落在哪里。然而,使用浮点布局具有与使用整数布局技术相反的问题。例如,利用浮点,布局可以很好地以像素的一半为中心,但是描绘也在部分像素处完成。这意味着,可以发生反锯齿,使得曾经是鲜明的单像素行现在沿着该像素行的长度占据两个模糊的反锯齿像素。它也可能使得文本渲染看起来很差,因为文本高速缓存被设计成像素对准,类似于基于整数的计算。
17.本公开描述了涉及以浮点定义布局并且描绘像素对准的元素以便在计算设备的屏幕上显示的技术和装置。布局和描绘管理器以浮点定义布局,使得建立精确描绘区域而不管像素界限。然而,布局和描绘管理器提供了在布局中描绘整数对准到像素(例如,像素对准)的元素以用于改进的视觉结果。另外,描绘可以相对于屏幕的区域的像素偏移而发生像素对准,以用于增强的视觉结果。布局以浮点形式定义,使得误差不会累积。然而,描绘是像素对准的,并且它可以相对于像素偏移来维持套叠布局的居中和清晰元素边缘。可以相对于其中放置布局的屏幕的限定区域上的总像素来确定像素偏移。以浮点定义布局并且仍描绘相对于像素偏移而像素对准的元素的技术优点是清楚的。例如,布局被保持为相对于计算设备的gui精确地放置。另外,描绘保留了更清晰的边缘和更鲜明的图像以用于产生视觉增强的和更容易阅读的显示。此外,布局误差不累积,并且维持套叠布局的居中。
18.虽然任何数目的不同环境、系统、设备和/或各种配置可以实现所描述的技术和装置的特征和概念,但在以下示例设备、方法、系统和配置的上下文中描述了以浮点管理布局、像素对准地描绘以及相对于所定义的像素偏移像素对准地描绘的各个方面。
19.系统
20.图1图示以浮点定义的示例浮点布局100。在该示例中,父布局具有20像素宽度并且包括被识别为第一子代102、第二子代104和第三子代106的三个子代的布局,这三个子代的布局的大小相等以填充父宽度。在该示例中,浮点布局100的第一边缘邻近第一子代102
的第一边缘,并且浮点布局100的第二边缘邻近第三子代106的第二边缘。第一子代102的第二边缘与第二子代104的第一边缘相邻,并且第二子代104的第二边缘与第三子代106的第一边缘相邻。在该示例的布局过程期间,使用浮点运算来相等地划分子代。在图1的示例中,计算对于每个子宽度被简化为20
÷
3=6.6667像素。术语“布局”在本公开中用来表示被定义用于在图形用户界面中描绘一个或多个元素以便显示在计算设备的屏幕上的任何区域。术语“元素”在本公开中用来表示在图形用户界面的布局中出现的任何基本描绘(例如,部件、项目、图标、图像、文本、图形)。
21.假设子代102、104和106分别被填充了具有以下三种不同颜的描绘元素:蓝、白和绿。通常,在不实施根据本公开的原理的方面的情况下,使用浮点布局的该20像素示例颜填充将针对在相邻子代的界限处描绘的元素产生反锯齿边缘,如图2所示。
22.在图2中,示意图200图示关于与计算设备的屏幕空间202相关联的20个物理像素的浮点布局100。在屏幕空间202中所识别的由像素参考数字1到20所表示的像素识别相对于每个子代102、104和106描绘的元素。参考数字1至20指示相对于屏幕空间202的像素索引。为了讨论的简单起见,在屏幕空间202中所识别的像素表示一个像素高度的元素浮点描绘,其中每个元素相对于每个子代以浮点来描绘,如由填充有图案标记和空白空间的像素所表示。在该示例中,像素1至6被表示为由向上指向的窄间隔图案所指示的第一纯(例如,蓝)。由于浮点布局和浮点描绘,像素7被反锯齿为如向上指向的较宽间隔图案所指示的较浅蓝度。像素8到13被表示为第二纯(例如,白,并且没有图案)。像素15到20被表示为由向下指向的窄间隔图案所指示的第三纯(例如,绿)。由于浮点布局和浮点描绘,像素14被反锯齿为如由向下指向的较宽间隔的图案所指示的较浅绿度。示意图200图示了一些当前技术的失败,因为所描绘的元素由于反锯齿而不具有清晰边缘。
23.与一些当前技术相比,图3图示了使用根据本公开的布局和描绘管理器来描绘在浮点布局中像素对准的元素。示意图300描绘了相对于浮点布局100在由像素参考数字1到20所表示的物理像素屏幕空间302中像素对准的描绘元素。如图所示,第一子代102和第二子代104的相邻边缘不与在屏幕空间302的302a处所示的物理像素7像素对准。类似地,第二子代104和第三子代106的相邻边缘不与在屏幕空间302的302b处所示的物理像素14像素对准。因此,为了根据本公开的原理对元素的描绘进行像素对准,第一子代102的描绘元素变成如蓝像素1到7所描述的七个像素宽。基于6.6667是第一子代102的浮点布局宽度,第一子代的描绘元素结束于在302c处所示的通过将6.6667向上舍入到7来计算的像素7。第二子代104的描绘元素也被调整为像素对准的,并且变成由302d和302e所界定的描述为白像素8到13的六个像素宽。基于13.3333是第二子代104和第三子代106的相邻边缘的浮点布局像素点,第二子代的描绘元素结束于通过将13.3333向下舍入到13来计算的像素13。第三子代106的描绘元素也是像素对准的,并且变成描述为绿像素14到20的七个像素宽,像素14在302f处示出。
24.如示意图300中所示,这种在浮点布局中作为像素对准的元素的描绘使用根据本公开的布局和描绘管理器的各方面,其提供描绘元素的清楚、鲜明的边缘。如果描绘使用浮点计算和反锯齿发生以用于描绘元素来与浮点布局匹配,则这些清晰鲜明的边缘将不存在。注意,示意图300的示例示出了由七个蓝像素1至7和七个绿像素14至20所识别的两个区域,其中向上舍入向下挤压中心区域六个白像素8至13。这示出具有不到1个像素误
差的示例。
25.虽然图3图示了根据本公开的用于在浮点布局中像素对准的描绘的布局和描绘管理器的各方面的简单示例,但是图3未示出实现相对于所定义的屏幕空间的像素偏移的附加改进效果。通过假定20像素浮点布局100实际上以25像素屏幕空间为中心的实例来更好地理解像素偏移。
26.图4图示了使用浮点布局来将20像素浮点布局100居中在具有25个物理像素的屏幕空间402中的示意图400。屏幕空间402由像素参考数字1至25表示。在该示例中,浮点布局100的中心落在屏幕空间402的25个像素中的像素12.5处。这样,20像素布局的第一像素描绘元素落在屏幕空间402中的402a处所示的像素2.5处。20像素布局的最后像素落在屏幕空间中的402d处所示的像素22.5处。类似地,第一子代102和第二子代104的相邻边缘落在402b所示的像素9.16667处,计算如下:25-20=5;5
÷
2=2.5;2.5+6.6667=9.16667。第二子代104和第三子代106的相邻边缘落在402c所示的像素15.8333处,计算为9.16667+6.6667=15.8333。因此,在屏幕空间402中的元素的描绘产生从像素2.5到9.16667的第一颜(例如,蓝)、从9.16667到15.8333的第二颜(例如,白)和从15.8333到22.5的第三颜(例如,绿)。
27.不期望地,在这种浮点布局和浮点描绘环境中,通过一些当前技术,利用如向上指向的较宽间隔图案所指示的较浅蓝对像素3和10进行反锯齿。类似地,像素16和23被反锯齿为如由向下指向的较宽间隔图案所指示的较浅绿。像素1、2、24和25表示屏幕空间402的边界像素,并且由如菱形轮廓图案所指示的第四颜(例如,灰)表示。注意,示意图400是不实现根据本公开的原理的方面的另一示例,因为像素3、10、16和23是反锯齿的。相反,示意图400被示出为图5的比较参考点,图5中进一步详细描述了根据本公开的原理的示例布局和描绘管理器的各方面。
28.像素偏移
29.图5图示描述相对于具有25个物理像素的屏幕空间502在20像素浮点布局(例如,浮点布局100)中描绘像素对准的元素的像素偏移的示例实施方式的示意图500。屏幕空间502由像素参考数字1至25表示。示意图500图示了包括根据本公开通过避免反锯齿和累积错误来改进视觉结果的各方面的布局和描绘管理器的功能。这通过参考相对于所定义的屏幕空间502的像素偏移以描绘相对于浮点布局100像素对准的元素来实现。在该示例中,20像素浮点布局100的中心落在屏幕空间502中的像素12.5处。附加地,布局的第一像素描绘元素落在屏幕空间502中的像素2.5处。最后像素描绘元素落在屏幕空间502中的像素22.5处。然而,在该示例中,参考相对于屏幕空间502的像素偏移以描绘相对于屏幕空间502和浮点布局100的像素对准的在502b到502g处所示的元素。
30.为了计算偏移并且像素对准地描绘,将表示屏幕空间中的布局的初始外部界定的第一边界像素值舍入到最近完整的整数像素值。这些第一边界像素值由表示示例灰的菱形轮廓图案指示。这意味着第一边界像素1到2.5被舍入为完整的整数像素1到3(在502a处所示的像素3)。然后,通过从浮点值舍入到如由表示蓝元素的向上指向的窄间隔图案所指示的、分别在502b和502c处示出的完整的整数像素4和9,相对于屏幕空间边界像素计算针对第一子代102的第一元素像素值。针对第二子代104的第二元素像素值从10到16被舍入,示出为由502d到502e定界,如由白像素所指示。针对第三子代106的第三元素像素值
从17到23被舍入,示出为由502f和502g界定,如由向下指向的窄间隔图案所指示。最后,第二边界像素24和25表示25像素空间中布局的相对外部界定,如表示示例灰的菱形轮廓图案所指示。使用这些像素偏移来生成相对于浮点布局的像素对准的描绘减少了反锯齿,改进了套叠布局的元素居中,且维持清晰、鲜明的元素边缘。
31.表1(以下)描述了如何计算像素偏移以用于绘制浮点布局100中相对于屏幕空间502(20像素布局相对于25像素屏幕空间)像素对准的元素,如参考图5的示意图500所述。然而,该讨论及其相应的计算仅仅是示例,因为本发明的原理类似地适用于在其它浮点布局和屏幕空间配置中像素对准地描绘。这些计算还使用基于零的像素参考和排除的上限。
32.针对边界像素0至2.5,像素偏移整数对准的、基于零的像素计算如下:0舍入到0,然后针对基于零的偏移+1=1(整数对准像素值)。然后,2.5向上舍入到3=3(在502a处示出)。因此,没有描绘的边界填充像素1至3,如菱形轮廓图案所示。
33.针对第一元素1,蓝像素2.5至9.1,像素偏移整数对准像素计算如下:2.5舍入到3,然后针对于基于零的偏移+1=4(在502b处示出)。然后9.1向下舍入到9=9(在502c处示出)。因此,第一元素描绘在像素4到9,如向上指向的窄间隔图案所指示的。
34.针对第二元素2,白像素9.1到15.8,像素偏移整数对准像素计算如下:9.1舍入到9,然后针对基于零的偏移+1=10(在502d处示出)。然后将15.8舍入到16=16(在502e处示出)。因此,第二元素描绘在像素10到16,如由白空间像素所指示的。
35.针对第三元素3,绿像素15.8至22.5,像素偏移整数对准像素计算如下:15.8舍入到16,然后针对基于零的偏移+1=17(在502f处示出)。然后将22.5舍入到23=23(在502g处示出)。因此,第三元素描绘在像素17至23,如由向下指向的窄间隔图案所指示的。
36.针对最终边界像素22.5至25,像素偏移整数对准像素计算如下:22.5舍入到23,然后针对基于零的偏移+1=24(整数对准像素值)。然后,从将25舍入到25=25(整数对准像素值)。因此,没有描绘的最终边界填充像素24和25。
[0037][0038]
表1
[0039]
因此,像素偏移生成相对于浮点布局的像素对准描绘。尽管这些示例为了便于讨论而描述了简单一维水平布局,但是相同原理适用于描绘元素的其他布局。例如,在矩形空间中,用于相对于浮点布局像素对准的描绘的计算和像素偏移被执行一次以将水平布局中的描绘元素对准到整数对准像素值,并且被执行一次将垂直布局中的描绘元素对准到整数对准像素值。例如,如果布局是7像素宽(例如,水平)乘12像素高(例如,垂直),则执行计算以在7像素宽的屏幕空间上下文中对准描绘元素并且使其像素偏移,并且类似地执行计算以在12像素高的屏幕空间上下文中对准描绘元素并且使其像素偏移。
[0040]
示例方法
[0041]
现在参考图6,流程图图示了用于使用浮点布局来像素对准地描绘的示例方法600。在602,使用根据本公开的原理的布局和描绘管理器针对图形用户界面以浮点定义布局,以用于在计算设备的显示屏上描绘元素。因为布局以浮点定义,所以布局的边缘可以相对于由显示屏定义的物理像素来划分完整的像素值。这样,在604,识别未像素对准到显示屏的物理像素的布局的边缘。在606处,在布局的边缘处识别像素对准值。像素对准值识别在布局的边缘处的显示屏的物理像素。通过对在布局的边缘处识别的不是像素对准的像素
值进行向上舍入或向下舍入来识别该像素对准值。例如,如果布局的边缘划分像素,比如说像素值为2.6,则值2.6被向上舍入到整数值3。该整数值将用于在显示屏上以像素值3描绘像素对准的元素。在一个方面,可以对布局的每个边缘和布局的任何子代的每个边缘重复识别布局的边缘和识别布局的边缘处的像素对准值的过程。在608,在像素对准值处描绘元素。这确保了元素被描绘为像素对准到显示屏的物理像素。因此,该方法定义了浮点布局以维持在显示屏上布局描绘区域的精确性,而描绘像素对准到显示屏的物理像素而发生以用于维持鲜明元素边缘。
[0042]
图7是图示用于使用浮点布局和像素偏移像素对准地描绘的实例方法700的流程图。在702,相对于用于描绘元素的计算设备的图形用户界面的屏幕空间以浮点定义布局。在704,如果布局的边缘没有像素对准到屏幕空间像素,则在706,相对于屏幕空间和布局计算像素偏移以使描绘元素像素对准。先前参考图5和表1描述了确定这些像素偏移计算的示例。
[0043]
在708,如果在布局中没有定义子代,则在714,基于所识别的像素偏移计算,相对于所定义的布局,像素对准地描绘元素。另一方面,在708,如果在布局中定义子代,则在710,识别子代的边缘是否像素对准到屏幕空间像素。如果子代边缘像素对准,则返回并且在708再次识别布局中是否定义了另一子代。如果在布局中定义了另一子代,则在710再次识别该子代的边缘是否像素对准到屏幕空间像素。如果边缘不像素对准,则在712,相对于屏幕空间和子代布局计算像素偏移以使描绘元素像素对准。先前参考图5和表1描述了确定这些像素偏移计算的示例。
[0044]
一旦完成了偏移计算并且在708在布局中不再有子代,则在714,基于所识别的像素偏移计算,相对于屏幕空间、布局和所定义的任何子代布局,像素对准地描绘布局和子代布局中的元素。换言之,描绘像素对准到gui屏幕空间像素的元素的该示例方法包括通过将与布局的第一边缘相关联的并且相对于屏幕空间的第一像素值舍入到最接近整数值来计算像素偏移,以识别第一像素对准的描绘像素。然后将与布局的第二边缘相关联的并且相对于屏幕空间的第二像素值舍入到最接近整数值,以识别第二像素对准的描绘像素。针对布局中的每个子代重复该过程。然后,针对每个子代,将一个或多个元素描绘为相对于布局的第一边缘像素对准到第一描绘像素,并且相对于布局的第二边缘像素对准到第二描绘像素。
[0045]
本文描述的操作和方法,例如方法600和700,可以体现在由计算设备或系统中的一个或多个处理器单独可执行的编程指令中或者与计算设备或系统中的硬件块组合可执行的编程指令。这样的编程指令可以存储在非暂时性机器可读介质(例如,计算机/处理器可读介质)上,例如随机存取存储器(ram)、只读存储器(rom)、闪存、高速缓存存储器、固态驱动器(ssd)、硬盘驱动器(hdd)或其组合,以用于在一个或多个计算设备的一个或多个处理器上执行。
[0046]
在本公开中描述的示例方法可以包括多于一个实施方式,并且方法的不同实施方式可以不采用在相应流程图中呈现的每个操作或者可以采用未示出的附加操作。另外,虽然方法的操作在流程图内以特定顺序呈现,但是它们呈现的顺序不旨在是对操作可以实际实现的顺序的限制,或者是对是否可以实现任何、一些或所有操作的限制。例如,该方法的一种实施方式可以通过执行多个初始操作而不执行后续操作来实现,而该方法的另一种实
施方式可以通过执行多个或所有操作来实现。
[0047]
用户设备
[0048]
图8是图示包括计算设备802的示例计算系统800的框图。计算设备802可以被配置有用于使用浮点布局来描绘像素对准元素以便在计算设备的图形用户界面显示屏上显示的部件和功能。作为一些非限制性示例,计算设备802可以是移动计算设备、移动电话802-1、平板设备802-2、膝上型计算机802-3、台式计算机、服务器计算机或电视机/显示器802-4,或者例如计算机化数字手表802-5的其他用户设备。
[0049]
计算设备802可以包括处理器804、存储器806、显示图形用户界面810的显示屏808、以及输入/输出模块812。处理器804可以是具有一个或多个核的任何中央处理单元(cpu),其被配置为执行存储在存储器806中的指令。存储器806可以是用于存储程序文件、数据、操作系统和其他可执行指令的任何非暂时性机器可读介质(例如,计算机/处理器可读介质),例如ram、rom、闪存、高速缓存存储器、ssd、hdd或其组合。图形用户界面810可以显示在任何基于像素的显示屏808、监视器、触摸屏或与计算设备802相关联或连接的类似输出设备上。输入/输出模块812包括使得用户能够借助于或协同例如键盘、鼠标、触摸屏或其他输入或输出设备来与计算设备802进行输入和输出通信的功能。网络814可以是任何局域网(lan)、广域网(wan)、云、多云、混合云或专用内部部署云计算环境,计算设备802可以与其通信以通过输入/输出模块812无线地或经由硬连线连接来发送和/或接收数据。
[0050]
存储器806包括执行根据本公开的原理的功能的布局和描绘管理器816。在图8中,布局和描绘管理器816被简单地描绘为由存储器806中的例如固件或软件等可执行指令定义的应用,以供在处理器804上执行。然而,布局和描绘管理器816的操作可以单独地或与由处理器804可执行的编程指令组合地使用专用集成电路(asic)(例如片上系统(soc))和/或其他硬件部件来整体或部分地实现。在任何情况下,布局和描绘管理器816根据本公开的原理提供定义浮点布局并且描绘像素对准元素(可选地包括相对于像素偏移)以供在显示屏808的图形用户界面810上显示的功能。
[0051]
布局和描绘管理器816可以包括浮点布局管理器818、像素偏移管理器820和像素对准描绘管理器822。出于讨论的目的,在图示中单独地示出了这些管理器模块,但是根据设计和功能偏好,它们可以被组合或进一步分离成附加模块。浮点布局管理器818用于使用户能够以浮点定义布局,以便使用显示屏808的屏幕空间上的图形用户界面810来显示。像素偏移管理器820用于识别布局的边缘是否像素对准到屏幕空间物理像素,并且如果它们不是像素对准的,则相对于屏幕空间和布局计算偏移以使描绘元素像素对准。先前参考图5和表1描述了确定这些偏移计算的示例。
[0052]
像素偏移管理器820还识别是都存在在布局中定义的具有不与屏幕空间像素对准的边缘的子代。如果存在没有像素对准的子代,则像素偏移管理器相对于屏幕空间、布局和子代计算像素偏移以使描绘元素像素对准。先前参考图5和表1描述了确定这些像素偏移计算的示例。一旦针对布局和任何子代布局计算了像素偏移计算,则像素对准的描绘管理器822相对于屏幕空间、布局和子代布局基于所识别的像素偏移计算来描绘像素对准的元素。
[0053]
因此,布局和描绘管理器816定义浮点布局,并且可以相对于显示屏808和图形用户界面810的所定义的屏幕空间识别像素偏移以用于要描绘的元素。然后,它生成相对于浮点布局的元素的像素对准描绘。该像素对准描绘改进了视觉结果,包括改进套叠布局的居
中和清晰元素边缘。
[0054]
虽然已经关于上文概述的示例性实施例描述了本公开,但是显然,替代、修改和变化对于本领域技术人员将是显而易见的。因此,本公开的所描述和描绘的实施例旨在是说明性的而非限制性的,并且所附权利要求的主题不必限于本公开中所描述的具体特征或方法。
[0055]
示例
[0056]
在以下段落中,描述了一些示例。
[0057]
示例1:一种方法,包括由计算设备以浮点定义用于图形用户界面的布局,所述布局定义用于在显示屏上描绘元素的区域;由所述计算设备识别未像素对准到所述显示屏的物理像素的所述布局的边缘;由所述计算设备识别所述布局的所述边缘处的像素对准值,所述像素对准值识别所述显示屏的物理像素;以及由所述计算设备通过将所述元素对准到所述显示屏的所述物理像素来描绘要像素对准的所述元素,所述描绘基于所述像素对准值。
[0058]
示例2:根据示例1所述的方法,其中,以浮点定义用于图形用户界面的布局还包括以浮点定义所述布局的子代。
[0059]
示例3:根据任一项前述示例所述的方法,其中,识别布局的所述边缘处的所述像素对准值还包括计算与所述显示屏的所述物理像素整数对准的值。
[0060]
示例4:根据任一项前述示例所述的方法,其中,通过将所述元素对准到所述显示屏的所述物理像素来描绘要像素对准的所述元素还包括:相对于所述显示屏的像素偏移来描绘所述元素。
[0061]
示例5:根据示例1至3中任一项所述的方法,其中,通过将所述元素对准到所述显示屏的所述物理像素来描绘要像素对准的所述元素还包括:相对于由完整的像素值或整数像素值中的至少一个所识别的像素偏移描绘所述元素。
[0062]
示例6:根据示例1至3中任一项所述的方法,其中,通过将所述元素对准到所述显示屏的所述物理像素来描绘要像素对准的所述元素还包括相对于所述显示屏的定义区域的像素偏移描绘所述元素,所述像素偏移通过将与所述显示屏的所述定义区域、所述图形用户界面、所述布局或所述元素中的至少一个相关联的像素值舍入到最接近的完整的值来计算。
[0063]
示例7:根据示例1至3中任一项所述的方法,其中,通过将所述元素对准到所述显示屏的所述物理像素来描绘要像素对准的所述元素还包括将与所述布局的第一边缘相关联的第一像素值舍入到最接近的整数值,所述第一像素值的所述舍入识别第一描绘像素;将与所述布局的第二边缘相关联的第二像素值舍入到最接近的整数值,所述第二像素值的所述舍入识别第二描绘像素;以及描绘相对于所述布局的第一边缘被像素对准到所述第一描绘像素并且相对于所述布局的第二边缘被像素对准到所述第二描绘像素的所述元素。
[0064]
示例8:根据示例1、3、4、5或6中任一项所述的方法,其中,以浮点定义用于图形用户界面的布局还包括:以浮点定义所述布局的子代,以及其中,通过将所述元素对准到所述显示屏的所述物理像素来描绘要像素对准的所述元素还包括:描绘像素对准到所述子代所识别的显示屏的所述物理像素的所述元素,包括:将与所述子代的第一边缘相关联的第一像素值舍入到最接近的整数值,所述第一像素值的所述舍入识别第一描绘像素;将与所述
子代的第二边缘相关联的第二像素值舍入到最接近的整数值,所述第二像素值的所述舍入识别第二描绘像素;以及描绘相对于所述子代的第一边缘像素对准到所述第一描绘像素并且相对于所述子代的第二边缘像素对准到所述第二描绘像素的所述元素。
[0065]
示例9:根据任一项前述示例所述的方法,其中,通过将所述元素对准到所述显示屏的所述物理像素来描绘要像素对准的所述元素包括相对于以下中的至少一个来描绘所述元素:相对于所述显示屏的水平方向或相对于所述显示屏的垂直方向。
[0066]
示例10:根据示例1或示例2所述的方法,其中,识别所述布局的所述边缘处的像素对准值还包括针对所述显示屏的定义区域相对于由完整的像素值所识别的像素偏移来计算像素对准值。
[0067]
示例11:根据示例1或示例2所述的方法,其中,识别所述布局的所述边缘处的像素对准值还包括相对于所述显示屏的定义区域的像素偏移来计算像素对准值,所述像素偏移通过将与所述显示屏的所述定义区域、所述图形用户界面、所述布局或所述元素中的至少一个相关联的像素值舍入到最接近的完整的值来计算。
[0068]
示例12:一种用户设备包括处理器以及具有存储在其上的指令的计算机可读存储介质,所述指令响应于由所述处理器执行,使得所述处理器执行根据示例1至11中任一项所述的方法。
[0069]
示例13:一种移动计算设备,包括被配置为执行根据示例1至11中任一项所述的方法的布局和描绘管理器。
[0070]
示例14:一种系统,实现根据示例1至11中任一项所述的方法。
[0071]
示例15:一种包括指令的计算机可读存储介质,所述指令在由至少一个处理器执行时,使得所述至少一个处理器执行根据示例1至11中任一项所述的方法。
[0072]
示例16:一种系统,包括用于执行示例1至11中任一项的方法的手段。

技术特征:


1.一种方法(600),包括:由计算设备(802)以浮点定义(602)用于图形用户界面(810)的布局(100),所述布局(100)定义用于在显示屏(808)上描绘元素的区域;由所述计算设备(802)识别(604)未被像素对准到所述显示屏(808)的物理像素的所述布局的边缘;由所述计算设备(802)识别(606)所述布局(100)的所述边缘处的像素对准值,所述像素对准值识别所述显示屏(808)的物理像素;以及由所述计算设备(802)通过将所述元素对准到所述显示屏的所述物理像素来描绘(608)所述元素,所述描绘是基于所述像素对准值。2.根据权利要求1所述的方法,其中,以浮点定义用于图形用户界面的布局还包括:以浮点定义所述布局的子代。3.根据任一项前述权利要求所述的方法,其中,识别布局的所述边缘处的所述像素对准值还包括:计算与所述显示屏的所述物理像素是整数对准的值。4.根据任一项前述权利要求所述的方法,其中,通过将所述元素对准到所述显示屏的所述物理像素来描绘要被像素对准的所述元素还包括:相对于所述显示屏的像素偏移来描绘所述元素。5.根据权利要求1至3中任一项所述的方法,其中,通过将所述元素对准到所述显示屏的所述物理像素来描绘要被像素对准的所述元素还包括:相对于由完整的像素值或整数像素值中的至少一个所识别的像素偏移来描绘所述元素。6.根据权利要求1至3中任一项所述的方法,其中,通过将所述元素对准到所述显示屏的所述物理像素来描绘要被像素对准的所述元素还包括:相对于所述显示屏的定义区域的像素偏移来描绘所述元素,通过将与所述显示屏的所述定义区域、所述图形用户界面、所述布局或所述元素中的至少一个相关联的像素值舍入到最接近的完整的值来计算所述像素偏移。7.根据权利要求1至3中任一项所述的方法,其中,通过将所述元素对准到所述显示屏的所述物理像素来描绘要被像素对准的所述元素还包括:将与所述布局的第一边缘相关联的第一像素值舍入到最接近的整数值,所述第一像素值的所述舍入识别第一描绘像素;将与所述布局的第二边缘相关联的第二像素值舍入到最接近的整数值,所述第二像素值的所述舍入识别第二描绘像素;以及描绘针对所述布局的第一边缘被像素对准到所述第一描绘像素并且针对所述布局的第二边缘被像素对准到所述第二描绘像素的所述元素。8.根据权利要求1、3、4、5或6中任一项所述的方法,其中,以浮点定义用于图形用户界面的布局还包括:以浮点定义所述布局的子代,以及其中,通过将所述元素对准到所述显示屏的所述物理像素来描绘要被像素对准的所述元素还包括:
描绘被像素对准到所述子代所识别的显示屏的所述物理像素的所述元素,包括:将与所述子代的第一边缘相关联的第一像素值舍入到最接近的整数值,所述第一像素值的所述舍入识别第一描绘像素;将与所述子代的第二边缘相关联的第二像素值舍入到最接近的整数值,所述第二像素值的所述舍入识别第二描绘像素;以及描绘针对所述子代的第一边缘被像素对准到所述第一描绘像素并且针对所述子代的第二边缘被像素对准到所述第二描绘像素的所述元素。9.根据任一项前述权利要求所述的方法,其中,通过将所述元素对准到所述显示屏的所述物理像素来描绘要被像素对准的所述元素包括,相对于以下中的至少一个来描绘所述元素:相对于所述显示屏的水平方向,或相对于所述显示屏的垂直方向。10.根据权利要求1或权利要求2所述的方法,其中,识别所述布局的所述边缘处的像素对准值还包括:针对所述显示屏的定义区域,相对于由完整的像素值所识别的像素偏移来计算像素对准值。11.根据权利要求1或权利要求2所述的方法,其中,识别所述布局的所述边缘处的像素对准值还包括:相对于所述显示屏的定义区域的像素偏移来计算像素对准值,通过将与所述显示屏的所述定义区域、所述图形用户界面、所述布局或所述元素中的至少一个相关联的像素值舍入到最接近的完整的值来计算所述像素偏移。12.一种用户设备(802),包括:处理器(804);以及具有存储在其上的指令的计算机可读存储介质(806),所述指令响应于由所述处理器(804)执行,使得所述处理器(804)执行根据权利要求1至11中任一项所述的方法。13.一种包括布局和描绘管理器(816)的移动计算设备(802),所述布局和描绘管理器被配置为执行根据权利要求1至11中任一项所述的方法。14.一种系统(800),用于实现根据权利要求1至11中任一项所述的方法。15.一种包括指令(816)的计算机可读存储介质(806),所述指令在由至少一个处理器(804)执行时,使得所述至少一个处理器执行根据权利要求1至11中任一项所述的方法。

技术总结


本公开描述了涉及定义布局(100)并且描绘元素以用于由图形用户界面(810)在计算设备(802)的显示屏(808)上显示的技术和装置。布局描绘区域的过程以浮点发生,但描绘与显示屏的像素界限对准而发生。描绘还可以针对显示屏和布局相对于像素偏移发生。该布局过程以浮点发生以避免累积错误。然而,描绘像素对准——可选地相对于像素偏移——而发生,以改善包括套叠布局的居中和鲜明元素边缘的视觉结果。叠布局的居中和鲜明元素边缘的视觉结果。叠布局的居中和鲜明元素边缘的视觉结果。


技术研发人员:

乔治

受保护的技术使用者:

谷歌有限责任公司

技术研发日:

2020.05.05

技术公布日:

2022/12/15

本文发布于:2024-09-20 15:20:12,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/1/40502.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:像素   所述   布局   子代
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议