一种显示分辨率的显示方法及装置与流程

文档序号:11154258阅读:231来源:国知局
一种显示分辨率的显示方法及装置与制造工艺

本发明涉及智能终端技术领域,特别涉及一种显示分辨率的显示方法及装置。



背景技术:

显示分辨率,指显示器在显示图像时的分辨率,分辨率是用点来衡量的,显示器上这个“点”就是指像素(pixel)。显示分辨率的数值是指整个显示器所有可视面积上水平像素和垂直像素的数量。例如:800×600的分辨率,是指在整个屏幕上水平显示800个像素,垂直显示600个像素。

随着智能终端的普及,各种显示分辨率的设备越来越多,除了一些常用的如720P、1080P等外,还有一些其他比例的分辨率,宽高比例和这些常用分辨率是不一致的,那么如何在各种不同分辨率的设备中都能够进行较好显示,便成为当下研发工作所面临的一大难题。

现有技术中,在不同分辨率的设备上进行显示时,通常采用以下两种方式解决:

方式一:按照基准分辨率等比例放大或者缩小,在目标分辨率下最大匹配,在不超出目标分辨率的情况下,将多余部分截取,然后进行居中显示,该方式虽然可以保持所有元素都等比例缩放,但是由于不能全屏显示,留有多余的显示区域,显示效果并不理想。

方式二:将屏幕按比例划分grid(格子),所有显示元素按照grid比例匹配,即按照基准分辨率,在目标分辨率下显示,但是该种方式在屏幕上展示的各种元素,与基准分辨率宽高比不同的分辨率下,会产生失真,并且比例偏差越大,失真情况越明显。

综上可知,现有技术中常用的显示方式要么不能全屏显示,要么会产生失真,都无法满足实际需求。



技术实现要素:

本发明实施例提供一种显示分辨率的显示方法及装置,能够。

一方面,本发明实施例提供一种显示分辨率的显示方法,包括:

获取基准分辨率;

获取显示屏幕的实际分辨率;

根据所述基准分辨率和所述实际分辨率,计算缩放比;

确定需要在所述显示屏幕的实际分辨率下进行显示的显示元素,并获取所述显示元素在所述基准分辨率下的尺寸;

根据所述显示元素在所述基准分辨率下的尺寸和所述缩放比,计算所述显示元素在所述显示屏幕的实际分辨率下的显示尺寸;

确定所述显示元素在所述显示屏幕的实际分辨率下的显示位置;

根据所述显示尺寸和所述显示位置,在所述显示屏幕的实际分辨率下显示所述显示元素。

可选的,所述基准分辨率至少包括基准分辨率的宽度和基准分辨率的高度,所述实际分辨率至少包括所述实际分辨率的宽度和所述实际分辨率的高度,所述根据所述基准分辨率和所述实际分辨率,计算缩放比,包括:

分别计算所述实际分辨率的宽度与所述基准分辨率的宽度之间的宽度比值,以及所述实际分辨率的高度与所述基准分辨率的高度之间的高度比值;

根据所述宽度比值和所述高度比值,计算所述缩放比。

可选的,所述根据所述宽度比值和所述高度比值,计算缩放比,包括:

计算所述宽度比值和所述高度比值的平均值,将所述平均值作为所述缩放比;或者,

比较所述宽度比值和所述高度比值的大小,将所述宽度比值和所述高度比值中较小的比值,作为所述缩放比。

可选的,所述确定所述显示元素在所述显示屏幕的实际分辨率下的显示位置,包括:

根据预先设计的显示效果图,确定所述显示元素的锚点,所述显示效果图与所述基准分辨率相适应;

确定所述显示屏幕的参考点,并记录所述参考点在所述基准分辨率下的坐标值;

获取所述显示元素的锚点在所述基准分辨率下与所述参考点之间的坐标差;

根据所述参考点在所述基准分辨率下的坐标值以及所述显示元素的锚点在所述基准分辨率下与所述参考点之间的坐标差,计算所述显示元素在所述显示屏幕的实际分辨率下的锚点坐标;

根据所述锚点坐标,确定所述显示元素在所述显示屏幕的实际分辨率下的显示位置。

可选的,所述根据所述参考点在所述基准分辨率下的坐标值以及所述显示元素的锚点在所述基准分辨率下与所述参考点之间的坐标差,计算所述显示元素在所述显示屏幕的实际分辨率下的锚点坐标,包括:

x=XReference+XDistanceBase*Scale;

y=YReference+YDistanceBase*Scale;

其中,x指所述显示元素在所述实际分辨率下的锚点的横坐标,y指所述显示元素在所述实际分辨率下的锚点的纵坐标;Scale表示缩放比;XReference指所述参考点在所述基准分辨率下的横坐标,YReference指所述参考点在所述基准分辨率下的纵坐标;XDistanceBase指所述显示元素的锚点在所述基准分辨率下与所述参考点之间的横坐标差,YDistanceBase指所述显示元素的锚点在所述基准分辨率下与所述参考点之间的纵坐标差。

另一方面,本发明实施例提供一种显示分辨率的显示装置,包括:

第一获取单元,用于获取基准分辨率;

第二获取单元,用于获取显示屏幕的实际分辨率;

第一计算单元,用于根据所述基准分辨率和所述实际分辨率,计算缩放比;

第一确定单元,用于确定需要在所述显示屏幕的实际分辨率下进行显示的显示元素;

第三获取单元,用于获取所述显示元素在所述基准分辨率下的尺寸;

第二计算单元,用于根据所述显示元素在所述基准分辨率下的尺寸和所述缩放比,计算所述显示元素在所述显示屏幕的实际分辨率下的显示尺寸;

第二确定单元,用于确定所述显示元素在所述显示屏幕的实际分辨率下的显示位置;

显示单元,用于根据所述显示尺寸和所述显示位置,在所述显示屏幕的实际分辨率下显示所述显示元素。

可选的,所述基准分辨率至少包括基准分辨率的宽度和基准分辨率的高度,所述实际分辨率至少包括所述实际分辨率的宽度和所述实际分辨率的高度,所述第一计算单元,包括:

第一计算模块,用于分别计算所述实际分辨率的宽度与所述基准分辨率的宽度之间的宽度比值,以及所述实际分辨率的高度与所述基准分辨率的高度之间的高度比值;

第二计算模块,用于根据所述宽度比值和所述高度比值,计算所述缩放比。

可选的,所述第二计算模块,用于计算所述宽度比值和所述高度比值的平均值,将所述平均值作为所述缩放比;或者,

所述第二计算模块,用于比较所述宽度比值和所述高度比值的大小,将所述宽度比值和所述高度比值中较小的比值,作为所述缩放比。

可选的,所述第二确定单元,包括:

第一确定模块,用于根据预先设计的显示效果图,确定所述显示元素的锚点,所述显示效果图与所述基准分辨率相适应;

第二确定模块,用于确定所述显示屏幕的参考点;

记录模块,用于记录所述参考点在所述基准分辨率下的坐标值;

获取模块,用于获取所述显示元素的锚点在所述基准分辨率下与所述参考点之间的坐标差;

计算模块,用于根据所述参考点在所述基准分辨率下的坐标值以及所述显示元素的锚点在所述基准分辨率下与所述参考点之间的坐标差,计算所述显示元素在所述显示屏幕的实际分辨率下的锚点坐标;

第三确定模块,用于根据所述锚点坐标,确定所述显示元素在所述显示屏幕的实际分辨率下的显示位置。

可选的,所述根据所述参考点在所述基准分辨率下的坐标值以及所述显示元素的锚点在所述基准分辨率下与所述参考点之间的坐标差,计算所述显示元素在所述显示屏幕的实际分辨率下的锚点坐标,包括:

x=XReference+XDistanceBase*Scale;

y=YReference+YDistanceBase*Scale;

其中,x指所述显示元素在所述实际分辨率下的锚点的横坐标,y指所述显示元素在所述实际分辨率下的锚点的纵坐标;Scale表示缩放比;XReference指所述参考点在所述基准分辨率下的横坐标,YReference指所述参考点在所述基准分辨率下的纵坐标;XDistanceBase指所述显示元素的锚点在所述基准分辨率下与所述参考点之间的横坐标差,YDistanceBase指所述显示元素的锚点在所述基准分辨率下与所述参考点之间的纵坐标差。

本发明实施例提供的显示分辨率的显示方法及装置,通过获取基准分辨率和显示屏幕的实际分辨率;根据基准分辨率和实际分辨率,计算缩放比;确定需要在显示屏幕的实际分辨率下进行显示的显示元素,并获取显示元素在基准分辨率下的尺寸;根据显示元素在基准分辨率下的尺寸和缩放比,计算显示元素在显示屏幕的实际分辨率下的显示尺寸;确定显示元素在显示屏幕的实际分辨率下的显示位置;根据显示尺寸和显示位置,在显示屏幕的实际分辨率下显示显示元素。该方法及装置,能够根据显示屏幕的实际分辨率,自适应显示,显示效果好,不会发生失真。

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

下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。

附图说明

附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实施例一起用于解释本发明,并不构成对本发明的限制。在附图中:

图1为本发明实施例提供的一种显示分辨率的显示方法的流程图;

图2为本发明实施例提供的一种显示分辨率的显示装置的框图;

图3为本发明实施例提供的一种显示屏幕上的多个参考点的示意图;

图4为本发明实施例提供的一种显示元素的锚点和一个参考点的位置坐标的示意图;

图5为本发明实施例提供的一种锚点在显示元素中的相对位置的示意图;

图6为本发明实施例提供的一种自适应显示后的显示效果示意图。

具体实施方式

以下结合附图对本发明的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本发明,并不用于限定本发明。

本发明实施例提供一种显示分辨率的显示方法,如图1所示,包括以下步骤S101-S107:

步骤S101:获取基准分辨率;

步骤S102:获取显示屏幕的实际分辨率;

步骤S103:根据基准分辨率和实际分辨率,计算缩放比;

步骤S104:确定需要在显示屏幕的实际分辨率下进行显示的显示元素,并获取显示元素在基准分辨率下的尺寸;

步骤S105:根据显示元素在基准分辨率下的尺寸和缩放比,计算显示元素在显示屏幕的实际分辨率下的显示尺寸;

步骤S106:确定显示元素在所述显示屏幕的实际分辨率下的显示位置;

步骤S107:根据显示尺寸和显示位置,在显示屏幕的实际分辨率下显示显示元素。

在另外一个实施例中,上述基准分辨率至少包括基准分辨率的宽度和基准分辨率的高度,实际分辨率至少包括所述实际分辨率的宽度和实际分辨率的高度,根据基准分辨率和实际分辨率,计算缩放比,包括:

分别计算实际分辨率的宽度与基准分辨率的宽度之间的宽度比值,以及实际分辨率的高度与基准分辨率的高度之间的高度比值;

根据宽度比值和高度比值,计算缩放比。

在另外一个实施例中,根据宽度比值和高度比值,计算缩放比,包括:

计算宽度比值和高度比值的平均值,将平均值作为缩放比;或者,

比较宽度比值和高度比值的大小,将宽度比值和高度比值中较小的比值,作为缩放比。

在另外一个实施例中,确定显示元素在显示屏幕的实际分辨率下的显示位置,包括:

根据预先设计的显示效果图,确定显示元素的锚点,显示效果图与基准分辨率相适应;

确定显示屏幕的参考点,并记录参考点在所述基准分辨率下的坐标值;

获取显示元素的锚点在基准分辨率下与参考点之间的坐标差;

根据参考点在基准分辨率下的坐标值以及显示元素的锚点在基准分辨率下与参考点之间的坐标差,计算显示元素在显示屏幕的实际分辨率下的锚点坐标;

根据锚点坐标,确定显示元素在显示屏幕的实际分辨率下的显示位置。

在另外一个实施例中,根据参考点在基准分辨率下的坐标值以及显示元素的锚点在基准分辨率下与参考点之间的坐标差,计算显示元素在显示屏幕的实际分辨率下的锚点坐标,包括:

x=XReference+XDistanceBase*Scale;

y=YReference+YDistanceBase*Scale;

其中,x指显示元素在实际分辨率下的锚点的横坐标,y指显示元素在实际分辨率下的锚点的纵坐标;Scale表示缩放比;XReference指参考点在基准分辨率下的横坐标,YReference指参考点在基准分辨率下的纵坐标;XDistanceBase指显示元素的锚点在基准分辨率下与参考点之间的横坐标差,YDistanceBase指显示元素的锚点在基准分辨率下与参考点之间的纵坐标差。

在本发明实施例中,可以预先设定一个基准分辨率,其中,基准分辨率可以为当前市面主流的分辨率如720P等,并且记录基准分辨率的宽度和高度,例如在分辨率为720P情况下,宽度为1280,高度为720。

在应用程序启动后,获取需要应用的智能终端的显示屏幕的实际分辨率,并且记录其宽度和高度,从而可以方便地计算实际分辨率与基准分辨率的宽度比值和高度比值,并根据宽度比值和高度比值计算出缩放比(Scale)。

除了背景拉伸缩放外,对各显示界面场景的所有显示元素,都做如下处理:

获取在基准分辨率下的显示元素的尺寸,乘以上述计算得到的Scale,得到显示元素在显示屏幕的实际分辨率下的显示尺寸;

获取预先设计的显示效果图,根据显示效果图,确定显示元素的锚点(对齐位置),其中,显示效果图是美术设计人员在基准分辨率下预先设计的与基准分辨率相适应的显示图片;

在屏幕上确定一个或多个参考点,其中,参考点例如可以选取由上、中、下,以及左、中、右相交,形成的九个点,在本实施例中可以将位于中间位置的中心点作为参考点;

根据美术效果图,确定所述显示元素在所述显示屏幕的实际分辨率下的锚点(对齐点),在实际分辨率上参考点的相对位置,其中,相对位置中横纵间距为:基准分辨率间距乘以Scale;

将应用的每个界面和场景,按照上述完成适配,并且在分辨率发生变化时,重新执行,完成整个应用的分辨率自适应。应用开发一次,在所有的设备上都可以完美适配,显示效果好,不失真。

以下参照图3-图6对本发明实施例设计的具体内容进行详细说明:

本实施例中的显示分辨率自适应机制,步骤主要包括:应用自适应和场景自适应,其中,应用自适应中包括所有场景的场景自适应。

其中,应用自适应的主要步骤如下:

步骤S301:设定基准分辨率,一般设定当前市面主流的分辨率(如720P),记录其宽为WBase、高为HBase;

步骤S302:美术设计人员,以基准分辨率,设计显示效果图等资源,如jpg、png等,如图4所示;

步骤S303:应用启动后,获取当前设备的实际分辨率,记录其宽为WReal,高为HReal,并且分别计算与基准分辨率的宽度比值和高度比值;WScale=WReal/WBase;HScale=HReal/HBase;然后使用这两个宽度比值和高度比值中的最小值作为缩放比Scale,Scale=Min(WScale,HScale);

步骤S304:选定当前场景;

步骤S305:对当前场景进行自适应处理;

步骤S306:遍历应用的每个场景,判断所有场景是否处理完毕,如果是则转至S308,结束应用分辨率自适应处理,否则至S307;

步骤S307:至下一场景,将下一场景选定为当前分辨率自适应处理场景;

步骤S308:应用分辨率自适应处理结束。

其中,场景分辨率自适应,除了背景拉伸缩放外,各显示界面场景的所有显示元素,做如下处理:

步骤S401:场景分辨率自适应处理开始;

步骤S402:选定当前显示元素;

步骤S403:显示元素尺寸乘以上述S303中计算得到的Scale;

步骤S404:设置当前显示元素的锚点,参考美术提供显示效果图,设定显示元素的对齐位置(锚点),也就是选择此元素的什么位置做对齐点,如其中心点或左上顶点等,元素内部锚点的位置比例,横向左边的相对比例xs和纵向下边的相对比例ys,取值在0~1之间,其中,锚点的示意图如图5所示;

步骤S405:选择参考点,一般可以选取由上、中、下,以及左、中、右相交,形成的九个点,如下图3所示;

步骤S406:选定与屏幕最为接近的参考点,其横坐标和纵坐标为XReference、YReference,并且设定显示元素锚点的位置,即x和y坐标;假定在基准分辨率即效果图中,其与参考点的距离为横坐标XDistanceBase,纵坐标YDistanceBase;则计算和设置x和y坐标如下:

x=XReference+XDistanceBase*Scale

y=YReference+YDistanceBase*Scale

其中,本发明实施例提供的显示分辨率的自适应适配后的效果示意图如图6所示。

步骤S407:判断当前显示场景中,所有元素是否处理完毕,如果是,则跳转至步骤S409;否则,跳转至步骤S408;

步骤S408:至下一元素,将下一元素设定为当前分辨率自适应处理元素;

步骤S409:当前场景分辨率自使用处理完毕;

本发明实施例提供的显示分辨率的自适应方法,通过获取基准分辨率和显示屏幕的实际分辨率;根据基准分辨率和实际分辨率,计算缩放比;确定需要在显示屏幕的实际分辨率下进行显示的显示元素,并获取显示元素在基准分辨率下的尺寸;根据显示元素在基准分辨率下的尺寸和缩放比,计算显示元素在显示屏幕的实际分辨率下的显示尺寸;确定显示元素在显示屏幕的实际分辨率下的显示位置;根据显示尺寸和显示位置,在显示屏幕的实际分辨率下显示显示元素。该方法能够根据显示屏幕的实际分辨率,自适应显示,显示效果好,不会发生失真。

本发明实施例另外提供一种显示分辨率的显示装置,如图2所示,包括:

第一获取单元201,用于获取基准分辨率;

第二获取单元202,用于获取显示屏幕的实际分辨率;

第一计算单元203,用于根据基准分辨率和实际分辨率,计算缩放比;

第一确定单元204,用于确定需要在显示屏幕的实际分辨率下进行显示的显示元素;

第三获取单元205,用于获取显示元素在基准分辨率下的尺寸;

第二计算单元206,用于根据显示元素在基准分辨率下的尺寸和缩放比,计算显示元素在显示屏幕的实际分辨率下的显示尺寸;

第二确定单元207,用于确定显示元素在显示屏幕的实际分辨率下的显示位置;

显示单元208,用于根据显示尺寸和显示位置,在显示屏幕的实际分辨率下显示显示元素。

在另外一个实施例中,上述基准分辨率至少包括基准分辨率的宽度和基准分辨率的高度,实际分辨率至少包括实际分辨率的宽度和实际分辨率的高度,上述第一计算单元,包括:

第一计算模块,用于分别计算实际分辨率的宽度与基准分辨率的宽度之间的宽度比值,以及实际分辨率的高度与基准分辨率的高度之间的高度比值;

第二计算模块,用于根据宽度比值和高度比值,计算缩放比。

其中,上述第二计算模块,用于计算宽度比值和高度比值的平均值,将所述平均值作为缩放比;或者,

上述第二计算模块,用于比较宽度比值和高度比值的大小,将宽度比值和高度比值中较小的比值,作为缩放比。

在另外一个实施例中,上述第二确定单元,包括:

第一确定模块,用于根据预先设计的显示效果图,确定显示元素的锚点,显示效果图与基准分辨率相适应;

第二确定模块,用于确定显示屏幕的参考点;

记录模块,用于记录参考点在基准分辨率下的坐标值;

获取模块,用于获取显示元素的锚点在基准分辨率下与参考点之间的坐标差;

计算模块,用于根据参考点在基准分辨率下的坐标值以及显示元素的锚点在基准分辨率下与参考点之间的坐标差,计算显示元素在显示屏幕的实际分辨率下的锚点坐标;

第三确定模块,用于根据锚点坐标,确定显示元素在显示屏幕的实际分辨率下的显示位置。

在另外一个实施例中,上述根据参考点在基准分辨率下的坐标值以及显示元素的锚点在基准分辨率下与参考点之间的坐标差,计算显示元素在显示屏幕的实际分辨率下的锚点坐标,包括:

x=XReference+XDistanceBase*Scale;

y=YReference+YDistanceBase*Scale;

其中,x指显示元素在实际分辨率下的锚点的横坐标,y指显示元素在实际分辨率下的锚点的纵坐标;Scale表示缩放比;XReference指参考点在基准分辨率下的横坐标,YReference指参考点在基准分辨率下的纵坐标;XDistanceBase指显示元素的锚点在基准分辨率下与参考点之间的横坐标差,YDistanceBase指显示元素的锚点在基准分辨率下与参考点之间的纵坐标差。

本发明实施例提供的显示分辨率的自适应装置,通过获取基准分辨率和显示屏幕的实际分辨率;根据基准分辨率和实际分辨率,计算缩放比;确定需要在显示屏幕的实际分辨率下进行显示的显示元素,并获取显示元素在基准分辨率下的尺寸;根据显示元素在基准分辨率下的尺寸和缩放比,计算显示元素在显示屏幕的实际分辨率下的显示尺寸;确定显示元素在显示屏幕的实际分辨率下的显示位置;根据显示尺寸和显示位置,在显示屏幕的实际分辨率下显示显示元素。该装置,能够根据显示屏幕的实际分辨率,自适应显示,显示效果好,不会发生失真。

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

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

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

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

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

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1