窗口分辨率自适应处理方法与装置

发明名称

窗口分辨率自适应处理方法与装置

摘要

本发明公开了一种窗口分辨率自适应处理方法与装置,包括:获取屏幕的长度和高度;获取软件所规定的标准显示器的长度和高度;根据获取的屏幕的长度和高度,以及软件所规定的标准显示器的长度和高度,计算显示器比例;根据计算的显示器比例,对所述软件的窗口分辨率进行自适应处理。此外,还公开了一种窗口分辨率自适应处理装置,包括屏幕参数获取模块、软件标准参数获取模块、显示器比例计算模块和自适应处理模块。本发明的方法与装置对窗口及像素大小或者窗口内元素的大小及位置进行处理,从而完成对所述软件的窗口分辨率的自适应过程,使得界面上的窗口和窗口内元素保持一致的长高比例,达到不变形的效果。

权利要求(10)

1. 一种窗口分辨率自适应处理方法,其特征在于,包括以下步骤: 获取屏幕的长度和高度; 获取软件所规定的标准显示器的长度和高度; 根据获取的屏幕的长度和高度,以及软件所规定的标准显示器的长度和高度,计算显示器比例; 根据计算的显示器比例,对所述软件的窗口分辨率进行自适应处理。
2.如权利要求I所述的窗口分辨率自适应处理方法,其特征在于,在所述根据获取的屏幕的长度和高度,以及软件所规定的标准显示器的长度和高度,计算显示器比例的步骤中,包括以下步骤: 计算屏幕的长高比例; 计算软件所规定的标准显示器的长高比例; 将软件所规定的标准显示器的长高比例与屏幕的长高比例相除,计算显示器比例。
3.如权利要求I所述的窗口分辨率自适应处理方法,其特征在于,在所述根据计算的显示器比例,对所述软件的窗口分辨率进行自适应处理的步骤中,包括以下步骤: 判断所述软件的窗口为非全屏窗口还是全屏窗口; 如果所述软件的窗口为非全屏窗口,则对窗口大小和像素大小进行自适应处理; 如果所述软件的窗口为全屏窗口,则对窗口内元素的大小和位置进行自适应处理。
4.如权利要求3所述的窗口分辨率自适应处理方法,其特征在于,在所述对窗口大小和像素大小进行自适应处理的步骤中,包括以下步骤: 获取软件中的标准窗口长度和标准窗口高度; 根据获取的屏幕长度和高度、软件所规定的标准显示器的长度和高度、所述显示器比例以及获取的标准窗口长度和标准窗口高度,按照如下公式对窗口大小进行自适应处理:   

窗口分辨率自适应处理方法与装置_第1张图片

其中,We为自适应处理后的窗口物理长度,He为自适应处理后的窗口物理高度,We^为所述标准窗口长度,Hto为所述标准窗口高度,W为所述屏幕的长度,H为所述屏幕的高度,W0为软件所规定的标准显示器的长度,H0为软件所规定的标准显示器的高度,3为所述显示器比例。
5.如权利要求3所述的窗口分辨率自适应处理方法,其特征在于,在所述对窗口大小和像素大小进行自适应处理的步骤中,包括以下步骤: 获取屏幕的物理分辨率; 获取软件所规定的标准分辨率; 获取软件中的标准像素长度和标准像素高度; 根据获取的屏幕物理分辨率、软件所规定的标准分辨率、所述显示器比例以及获取的标准像素长度和标准像素高度,按照如下公式对像素大小进行自适应处理: 


 H裔.—* H裔.n;囱 P1 Hpi0 囱 piO’ 其中,Wtfpi为自适应处理后的像素物理长度,Htfpi为自适应处理后的像素物理高度,Wpi为所述屏幕的物理分辨率长度,Hpi为所述屏幕的物理分辨率高度,Wpitl为软件所规定的标准分辨率长度,Hpi0为软件所规定的标准分辨率高度,Wtpi0为所述软件中的标准像素长度,H窗_为所述软件中的标准像素高度,9为所述显示器比例。
6. 一种窗口分辨率自适应处理装置,其特征在于,包括屏幕參数获取模块、软件标准參数获取模块、显示器比例计算模块和自适应处理模块; 所述屏幕參数获取模块用于获取屏幕的长度和高度; 所述软件标准參数获取模块用于获取软件所规定的标准显示器的长度和高度; 所述显示器比例计算模块用于根据获取的屏幕的长度和高度,以及软件所规定的标准显示器的长度和高度,计算显示器比例; 所述自适应处理模块用于根据计算的显示器比例,对所述软件的窗口分辨率进行自适应处理。
7.如权利要求6所述的窗口分辨率自适应处理装置,其特征在于,所述显示器比例计算模块包括: 用于根据获取的屏幕的长度和高度,计算屏幕的长高比例的模块; 用于根据获取的软件所规定的标准显示器的长度和高度,计算软件所规定的标准显示器的长高比例的模块; 以及,用于将软件所规定的标准显示器的长高比例与屏幕的长高比例相除,计算显示器比例的模块。
8.如权利要求6所述的窗口分辨率自适应处理装置,其特征在干,所述自适应处理模块进一歩包括非全屏窗口自适应处理模块和全屏窗口自适应处理模块;所述自适应处理模块进一步用于判断所述软件的窗口为非全屏窗口还是全屏窗口; 如果所述软件的窗口为非全屏窗口,则非全屏窗口自适应处理模块用于对窗口大小和像素大小进行自适应处理; 如果所述软件的窗口为全屏窗口,则全屏窗口自适应处理模块用于对窗口内元素的大小和位置进行自适应处理。
9.如权利要求8所述的窗口分辨率自适应处理装置,其特征在于,如果所述软件的窗口为非全屏窗口,所述软件标准參数获取模块进一歩用于获取软件中的标准窗口长度和标准窗口高度; 所述非全屏窗口自适应处理模块用于根据获取的屏幕长度和高度、软件所规定的标准显示器的长度和高度、所述显示器比例以及获取的标准窗口长度和标准窗口高度,按照如下公式对窗口大小进行自适应处理:


 其中,W e为自适应处理后的窗口物理长度,H e为自适应处理后的窗口物理高度,W e C1为所述标准窗口长度,Hto为所述标准窗口高度,W为所述屏幕的长度,H为所述屏幕的高度,W0为软件所规定的标准显示器的长度,H0为软件所规定的标准显示器的高度,3为所述显示器比例。

10.如权利要求8所述的窗口分辨率自适应处理装置,其特征在于,如果所述软件的窗口为非全屏窗口,所述屏幕參数获取模块进一步用于获取屏幕的物理分辨率; 所述软件标准參数获取模块进一步用于获取软件所规定的标准分辨率; 所述软件标准參数获取模块进一步用于获取软件中的标准像素长度和标准像素高度; 所述非全屏窗口自适应处理模块用于根据获取的屏幕物理分辨率、软件所规定的标准分辨率、所述显示器比例以及获取的标准像素长度和标准像素高度,按照如下公式对像素大小进行自适应处理: 


 其中,Wtfpi为自适应处理后的像素物理长度,Htfpi为自适应处理后的像素物理高度,Wpi为所述屏幕的物理分辨率长度,Hpi为所述屏幕的物理分辨率高度,Wpitl为软件所规定的标准分辨率长度,Hpi0为软件所规定的标准分辨率高度,Wtpi0为所述软件中的标准像素长度,H窗_为所述软件中的标准像素高度,9为所述显示器比例。


技术领域

[0001] 本发明涉及软件界面显示技术领域,尤其涉及一种窗口分辨率自适应处理方法和一种窗口分辨率自适应处理装置。


背景技术

[0002]自从软件技术产生后,几乎所有的软件在开发时都无法避免分辨率自适应处理的问题。为了自适应分辨率,部分软件方案选择撰写多套程序,从而根据不同的分辨率选择不同的程序;另外有部分软件方案不规定程序中各个元素的绝对大小和位置,而改用百分比 表示;还有部分软件方案在每次展示时都先对各元素的大小和位置进行繁琐计算后再进行显不O


[0003] 随着微软Windows Presentation Foundation (WPF)技术的推出,分辨率自适应变得更加简单,只需要使用其控件Viewbox便可基本完成分辨率自适应的处理。然而这些处理结果只有应用在相同长高比例的显示器中才有效,其原因在于WPF窗口和所有窗口内的元素都是使用“独立设备单位”进行测量的,一个独立设备单位被定义为一英寸的九十六分之一。WPF技术中创建了一个96X96单位大小的按钮,如果使用标准的Windows DPI设置(96dpi),则每一个独立设备单位对应一个实际的物理像素。然而在实际应用中,显示设备的物理分辨率越来越高,WPF技术所假定的独立设备单位并不能很好地与实际物理像素相对应,因此显示效果极大地受限制于所采用的显示设备。


发明内容

[0004] 本发明公开了一种窗口分辨率自适应处理方法。


[0005] 一种窗口分辨率自适应处理方法,包括以下步骤:


[0006] 获取屏幕的长度和高度;


[0007] 获取软件所规定的标准显示器的长度和高度;


[0008] 根据获取的屏幕的长度和高度,以及软件所规定的标准显示器的长度和高度,计算显示器比例;


[0009] 根据计算的显示器比例,对所述软件的窗口分辨率进行自适应处理。


[0010] 与现有技术相比,本发明所提供的窗口分辨率自适应处理方法,通过屏幕的长度和高度以及软件所规定的标准显示器的长度和高度,计算出显示器比例,以对所述软件的窗口及像素大小或者窗口内元素的大小及位置进行处理,从而完成对窗口分辨率的自适应过程,使得界面上的窗口和窗口内元素保持一致的长高比例,达到不变形的效果。


[0011] 此外,本发明还公开了一种窗口分辨率自适应处理装置。


[0012] 一种窗口分辨率自适应处理装置,包括屏幕参数获取模块、软件标准参数获取模块、显示器比例计算模块和自适应处理模块;


[0013] 所述屏幕参数获取模块用于获取屏幕的长度和高度;


[0014] 所述软件标准参数获取模块用于获取软件所规定的标准显示器的长度和高度;[0015] 所述显示器比例计算模块用于根据获取的屏幕的长度和高度,以及软件所规定的标准显示器的长度和高度,计算显示器比例;


[0016] 所述自适应处理模块用于根据计算的显示器比例,对所述软件的窗口分辨率进行自适应处理。


[0017] 与现有技术相比,本发明所提供的窗口分辨率自适应处理装置,对所述软件的窗口及像素大小或者窗口内元素的大小及位置进行处理,从而完成对窗口分辨率的自适应过程,使得界面上的窗口和窗口内元素保持一致的长高比例,达到不变形的效果。


附图说明


[0018] 图I是本发明窗口分辨率自适应处理方法的示意流程图;


[0019] 图2是本发明窗口分辨率自适应处理装置的结构示意图。


具体实施方式


[0020] 为更进一步阐述本发明所采取的技术手段及取得的效果,下面结合附图及较佳实施例,对本发明所提出的窗口分辨率自适应处理方法与装置的技术方案,进行清楚和完整的描述。


[0021 ] 请参阅图I,本发明窗口分辨率自适应处理方法的示意流程图。本发明窗口分辨率自适应处理方法包括以下步骤:


[0022] SlOl获取屏幕的长度和高度;


[0023] 在对所述软件的窗口或者窗口内元素进行自适应处理之前,先要获取屏幕的长度W和高度H。作为一种实施方式,可通过人工编写配置文件的方式来获取屏幕长度和高度。


[0024] S102获取软件所规定的标准显示器的长度和高度;


[0025] 获取软件所规定的标准显示器的长度Wtl和高度H。。


[0026] S103根据获取的屏幕的长度和高度,以及软件所规定的标准显示器的长度和高度,计算显示器比例;


[0027] 根据获取的屏幕的长度和高度,计算屏幕的长高比例W/H ;


[0028] 根据获取软件所规定的标准显示器的长度和高度,计算软件所规定的标准显示器的长高比例W0/H0 ;


[0029] 将软件所规定的标准显示器的长高比例与屏幕的长高比例相除,计算显示器比例,定义显示器比例3 。该比例是以高为基准,所以对窗口内各元素只需要控制其长度及水平距离即可。


[0030] S104根据计算的显示器比例,对所述软件的窗口分辨率进行自适应处理。


[0031] 作为一种优选实施例,在对所述软件的窗口分辨率进行自适应处理之前,先判断所述软件的窗口为非全屏窗口还是全屏窗口。


[0032] 如果所述软件的窗口为非全屏窗口,则对窗口大小和像素大小进行自适应处理。


[0033] 要对窗口大小进行处理,首先要获取软件中的标准窗口长度和标准窗口高度,其中,标准窗口长度和标准窗口宽度是指当软件所规定的标准显示器处于标准分辨率时窗口的长度和高度。根据获取的屏幕长度和高度、软件所规定的标准显示器的长度和高度、计算的显示器比例以及获取的标准窗口长度和标准窗口高度,可对窗口大小进行处理。


[0034] 对于非全屏的窗口,获取其在软件规定的标准显示器且处于标准分辨率下的物理长度和物理高度,也即标准窗口长度Wstl和标准窗口高度Hs^,窗口高度根据两个显示器高的比例进行调整,则有下面公式


[0035]
窗口分辨率自适应处理方法与装置_第2张图片
[0036] 窗口物理宽度与窗口物理高度保持一定的比例,则有以下关系


[0037]

[0038] 上述两式中,Ws为当前窗口的物理长度,Hs为当前窗口的物理高度。由公式(I)和公式(2)及
窗口分辨率自适应处理方法与装置_第3张图片
可得在当前显示器下的物理长度W窗:


[0039]

[0040] 物理高度H窗,则为:


[0041]

[0042] 经此处理,则在各种显示器下窗口的物理高度与显示器的高度比例保持不变,窗口的物理长度与物理高度的比例也保持一致,而窗口内所有元素的长和高比也保持一定的比值,从而保证了视觉效果的一致。


[0043] 由于系统展示在我们面前时,无法指定其物理长度,只有指定其像素大小,所以还应该对其像素大小进行处理。


[0044] 获取屏幕的物理分辨率长度Wpi和高度Hpi ;


[0045] 获取软件所规定的标准分辨率长度Wpitl和高度Hpitl ;


[0046] 获取软件中的标准像素长度Wspitl和标准像素高度Hspitl,其中,标准像素长度和标准像素高度是指在标准像素环境下像素的长度和高度。


[0047] 根据获取的屏幕物理分辨率、软件所规定的标准分辨率、计算的显示器比例以及获取的标准像素长度和标准像素宽度,可对像素大小进行处理。


[0048] 获取标准像素环境下窗口的像素长度为Wspitl,高度为Hspitl,则在标准显示器和标


准分辨率下,有以下关系:


[0049]
窗口分辨率自适应处理方法与装置_第4张图片
[0050]当系统像素为W1^Hpi时,在当前分辨率下的像素长度Wspi和物理长度W窗满足如下关系:


[0051]
窗口分辨率自适应处理方法与装置_第5张图片
[0052] 经转换可得下式:


[0053]
窗口分辨率自适应处理方法与装置_第6张图片
[0054] 同理可得像素高度Hspi满足下式:


[0055]
窗口分辨率自适应处理方法与装置_第7张图片
[0056] 代入公式(3)、公式(4)、公式(5)和公式(6),可得:


[0057]
窗口分辨率自适应处理方法与装置_第8张图片
[0058] 作为一种优选的实施例,本发明所提供的窗口分辨率自适应处理方法可以是基于WPF技术的窗口分辨率自适应处理方法,即在对所述软件的窗口分辨率进行自适应处理时也对窗口分辨率进行WPF技术处理。


[0059] 经过以上处理,加之WPF技术对窗口内部元素的自适应,展示的窗口及其内部的元素,可以在任何显示环境下不会变形,实现分辨率的自适应。


[0060] 如果所述软件的窗口为全屏窗口,则对窗口内元素的大小和位置进行自适应处理。


[0061] 对于全屏窗口,由于窗口的长度和高度正好与显不器的宽度和高度一致,因此不需要对窗口进行处理,但需要对窗口内各元素的大小及位置进行调整,各元素的高度与窗口高度保持一定的比例,各元素的长度与高度比例保持不变。此处理方法与非全屏窗口情况下的处理相似,因此可将全屏情况下的元素视为非全屏窗口情况下的窗口,而将全屏情况下的窗口视为非全屏情况下的显示器,这样在非全屏情况下公式(9)与公式(10)可等价应用于全屏情况下对元素的处理。


[0062] 作为一种优选的实施例,本发明窗口分辨率自适应处理方法可为基于WPF技术的,而在WPF技术中,已经对各元素执行了公式(10),即对元素高度的处理在WPF技术中
窗口分辨率自适应处理方法与装置_第9张图片

已经完成。而在WPF技术中对元素长度的处理为

因此’根据公式


(9),只需要对窗口内各元素的长度及水平距离乘以显示器比例大小9便可实现程序界面上各元素不变形的效果。


[0063] 本发明所提供的窗口分辨率自适应处理方法确保各软件的窗口及窗口内各元素的形状比例使其不变形,有效地提高软件的美观效果。[0064] 请参阅图2,本发明窗口分辨率自适应处理装置的结构示意图。本发明窗口分辨率自适应处理装置包括屏幕参数获取模块201、软件标准参数获取模块202、显示器比例计算模块203和自适应处理模块204。


[0065] 所述屏幕参数获取模块201用于获取屏幕的长度和高度;


[0066] 在对所述软件的窗口或者窗口内元素进行自适应处理之前,所述屏幕参数获取模块201先要获取屏幕的长度W和高度H。作为一种实施方式,所述屏幕参数获取模块201可通过人工编写的配置文件来获取屏幕长度和高度。


[0067] 所述软件标准参数获取模块202用于获取软件所规定的标准显示器的长度和高度;


[0068] 所述软件标准参数获取模块202获取软件所规定的标准显示器的长度Wtl和高度Ho。


[0069] 所述显示器比例计算模块203用于根据获取的屏幕的长度和高度,以及软件所规定的标准显示器的长度和高度,计算显示器比例;


[0070] 所述显示器比例计算模块203根据获取的屏幕的长度和高度,计算屏幕的长高比例 W/H ;


[0071] 所述显示器比例计算模块203根据获取软件所规定的标准显示器的长度和高度,计算软件所规定的标准显示器的长高比例WcZHtl ;


[0072] 所述显示器比例计算模块203将软件所规定的标准显示器的长高比例与屏幕的长高比例相除,计算显示器比例,定义显示器比例3 。该比例是以高为基准,所以对窗口内各元素只需要控制其长度及水平距离即可。


[0073] 所述自适应处理模块204用于根据计算的显示器比例,对所述软件的窗口分辨率进行自适应处理。


[0074] 作为一种优选实施例,所述自适应处理模块204进一步包括非全屏窗口自适应处理模块和全屏窗口自适应处理模块。


[0075] 在对所述软件的窗口分辨率进行自适应处理之前,所述自适应处理模块204进一步用于判断所述软件的窗口为非全屏窗口还是全屏窗口。


[0076] 如果所述软件的窗口为非全屏窗口,则非全屏窗口自适应处理模块用于对窗口大小和像素大小进行自适应处理。


[0077] 要对窗口大小进行处理,首先所述软件标准参数获取模块202获取软件中的标准窗口长度和标准窗口高度,其中,标准窗口长度和标准窗口宽度是指当软件所规定的标准显示器处于标准分辨率时窗口的长度和高度。所述非全屏窗口自适应处理模块根据获取的屏幕长度和高度、软件所规定的标准显示器的长度和高度、计算的显示器比例以及获取的标准窗口长度和标准窗口高度,对非全屏窗口的窗口大小进行自适应处理。


[0078] 所述非全屏窗口自适应处理模块按照下式对窗口大小进行自适应处理:


[0079] = a * — * W;H^. = * H;


W0 Λ H0


[0080] 上式也即公式(3)和(4),其中,Ws为自适应处理后的窗口物理长度,HsS自适应处理后的窗口物理高度,Weo为所述标准窗口长度,Hto为所述标准窗口高度,W为所述屏幕的长度,H为所述屏幕的高度,W0为软件所规定的标准显示器的长度,H0为软件所规定的标准显示器的高度d为所述显示器比例。


[0081] 经此处理,则在各种显示器下窗口的物理高度与显示器的高度比例保持不变,窗口的物理长度与物理高度的比例也保持一致,而窗口内所有元素的长和高比也保持一定的比值,从而保证了视觉效果的一致。


[0082] 由于系统展示在我们面前时,无法指定其物理长度,只有指定其像素大小,所以所述非全屏窗口自适应处理模块还应该对其像素大小进行处理。


[0083] 所述屏幕参数获取模块 201获取屏幕的物理分辨率长度Wpi和高度Hpi ;


[0084] 所述软件标准参数获取模块202获取软件所规定的标准分辨率长度Wpitl和高度Hpio ;


[0085] 所述软件标准参数获取模块202获取软件中的标准像素长度Wspitl和标准像素高度Hspitl,其中,标准像素长度和标准像素高度是指在标准像素环境下像素的长度和高度。


[0086] 所述非全屏窗口自适应处理模块根据获取的屏幕物理分辨率、软件所规定的标准分辨率、计算的显示器比例以及获取的标准像素长度和标准像素高度,对非全屏窗口的像素大小进行自适应处理。


[0087] 所述非全屏窗口自适应处理模块按照下式对像素大小进行自适应处理:


[0088] W裔.=d * ~— * Wii, * Hii, .n;


囱 pi Wpi0 囱 ριΟ’ 囱 pi Hpi0 囱 ριΟ,


[0089] 上述公式也即公式(9)和(10),其中,Wspi为自适应处理后的像素物理长度,Hepi为自适应处理后的像素物理高度,Wpi为所述屏幕的物理分辨率长度,Hpi为所述屏幕的物理分辨率高度,Wpitl为软件所规定的标准分辨率长度,Hpitl为软件所规定的标准分辨率高度,Wtpi0为所述软件中的标准像素长度,Htpi0为所述软件中的标准像素高度,9为所述显示器比例。


[0090] 作为一种优选的实施例,本发明所提供的窗口分辨率自适应处理装置可以是基于WPF技术的窗口分辨率自适应处理装置,即在对所述软件的窗口分辨率进行自适应处理时也对窗口分辨率进行WPF技术处理。


[0091] 经过以上处理,加之WPF技术对窗口内部元素的自适应,展示的窗口及其内部的元素,可以在任何显示环境下不会变形,实现分辨率的自适应。


[0092] 如果所述软件的窗口为全屏窗口,则全屏窗口自适应处理模块用于对窗口内元素的大小和位置进行自适应处理。


[0093] 对于全屏窗口,由于窗口的长度和高度正好与显不器的宽度和高度一致,因此不需要对窗口进行处理,但需要对全屏窗口内元素的大小和位置进行自适应处理。各元素的高度与窗口高度保持一定的比例,各元素的长度与高度比例保持不变。此处理方法与非全屏窗口情况下的处理相似,因此可将全屏情况下的元素视为非全屏窗口情况下的窗口,而将全屏情况下的窗口视为非全屏情况下的显示器,这样在非全屏情况下公式(9)与公式


(10)可等价应用于全屏情况下对元素的处理。


[0094] 作为一种优选的实施例,本发明窗口分辨率自适应处理装置可为基于WPF技术的,而在WPF技术中,已经对各元素执行了公式(10),即对元素高度的处理在WPF中已经完成。而WPF技术中对元素长度的处理为Wtpi VVtpifr因此,根据公式(9),只需


要对窗口内各元素的长度及水平距离乘以显示器比例大小9便可实现程序界面上各元素不变形的效果。


[0095] 以上所述的本发明实施方式,并不构成对本发明保护范围的限定。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明的权利要求保护范围之内。


说明书书附图

窗口分辨率自适应处理方法与装置_第10张图片

你可能感兴趣的:(窗口分辨率自适应处理方法与装置)