窗口显示方法及装置与流程

文档序号:12304957阅读:184来源:国知局
窗口显示方法及装置与流程

本发明实施例涉及图像显示技术领域,尤其涉及一种窗口显示方法及装置。



背景技术:

在终端设备(例如,手机、电脑、电视等)中可以安装多个应用程序,并可以通过终端设备的显示屏幕对应用程序在运行过程中需要显示的窗口进行显示。

目前,在应用程序运行过程中,由应用程序进行窗口绘制,并由终端设备的底层驱动对应用程序绘制的窗口进行显示,为了使得可以在终端设备中正常显示应用程序绘制的窗口,需要保证应用程序绘制的窗口的分辨率与终端设备的显示屏幕的分辨率一致。在现有技术中,在应用程序进行窗口绘制时,应用程序需要获取终端设备的分辨率,并根据获取得到的终端设备的分辨率绘制需要显示的窗口。

然而,当终端设备的类型不同时,应用程序获取终端设备的分辨率的方式也不相同,导致对应用程序的移植性差。



技术实现要素:

本发明实施例提供一种窗口显示方法及装置。提高了应用程序的移植性。

第一方面,本发明实施例提供一种窗口显示方法,包括:

获取应用程序在逻辑图形层中绘制的第一窗口;

根据所述逻辑图形层的分辨率和终端设备的显示屏幕的分辨率,对所述第一窗口进行缩放处理,得到第二窗口;

根据所述第一窗口在所述逻辑图形层中的位置、所述逻辑图形层的分辨率、及终端设备的显示屏幕的分辨率,确定所述第二窗口在所述显示屏幕中的位置;

根据所述第二窗口在所述显示屏幕中的位置,显示所述第二窗口。

在一种可能的实施方式中,根据所述逻辑图形层的分辨率和终端设备的显示屏幕的分辨率,对所述第一窗口进行放大或缩小处理,得到第二窗口,包括:

根据所述逻辑图形层在横向包括的像素个数、和所述显示屏幕在横向包括的像素个数,确定横向缩放比例;

根据所述逻辑图形层在纵向包括的像素个数、和所述显示屏幕在纵向包括的像素个数,确定纵向缩放比例;

根据所述横向缩放比例和所述纵向缩放比例,对所述第一窗口进行缩放处理,得到所述第二窗口。

在另一种可能的实施方式中,根据所述第一窗口在所述逻辑图形层中的位置、所述逻辑图形层的分辨率、及终端设备的显示屏幕的分辨率,确定所述第二窗口在所述显示屏幕中的位置,包括:

获取所述第一窗口的预设标记点在所述逻辑图形层中的第一坐标;

根据所述横向缩放比例、所述纵向缩放比例、及所述第一坐标,确定所述第二窗口中的预设标记点在所述显示屏幕中的第二坐标;

根据所述第二坐标,确定所述第二窗口在所述显示屏幕中的位置。

在另一种可能的实施方式中,所述预设标记点为窗口的四个角中的任意一个角;或者,

所述预设标记点为窗口的中心点。

在另一种可能的实施方式中,获取应用程序在逻辑图形层中绘制的第一窗口,包括:

接收应用程序对flip接口的调用请求,所述调用请求中包括所述第一窗口的标识;

根据所述调用请求和所述第一窗口的标识,在缓存中获取所述第一窗口。

第二方面,本发明实施例提供一种窗口显示装置,包括获取模块、缩放处理模块、及显示模块,其中,

所述获取模块用于,获取应用程序在逻辑图形层中绘制的第一窗口;

所述缩放处理模块用于,根据所述逻辑图形层的分辨率和终端设备的显示屏幕的分辨率,对所述第一窗口进行缩放处理,得到第二窗口;

所述缩放处理模块还用于,根据所述第一窗口在所述逻辑图形层中的位置、所述逻辑图形层的分辨率、及终端设备的显示屏幕的分辨率,确定所述第二窗口在所述显示屏幕中的位置;

所述显示模块用于,根据所述第二窗口在所述显示屏幕中的位置,显示所述第二窗口。

在一种可能的实施方式中,所述缩放处理模块具体用于:

根据所述逻辑图形层在横向包括的像素个数、和所述显示屏幕在横向包括的像素个数,确定横向缩放比例;

根据所述逻辑图形层在纵向包括的像素个数、和所述显示屏幕在纵向包括的像素个数,确定纵向缩放比例;

根据所述横向缩放比例和所述纵向缩放比例,对所述第一窗口进行缩放处理,得到所述第二窗口。

在另一种可能的实施方式中,所述缩放处理模块具体用于:

获取所述第一窗口的预设标记点在所述逻辑图形层中的第一坐标;

根据所述横向缩放比例、所述纵向缩放比例、及所述第一坐标,确定所述第二窗口中的预设标记点在所述显示屏幕中的第二坐标;

根据所述第二坐标,确定所述第二窗口在所述显示屏幕中的位置。

在另一种可能的实施方式中,所述预设标记点为窗口的四个角中的任意一个角;或者,

所述预设标记点为窗口的中心点。

在另一种可能的实施方式中,所述获取模块具体用于:

接收应用程序对flip接口的调用请求,所述调用请求中包括所述第一窗口的标识;

根据所述调用请求和所述第一窗口的标识,在缓存中获取所述第一窗口。

本发明实施例提供的窗口显示方法及装置,当需要显示应用程序绘制的第一窗口时,先获取应用程序在逻辑图形层中绘制的第一窗口,根据逻辑图形层的分辨率和终端设备的显示屏幕的分辨率,对第一窗口进行缩放处理,得到第二窗口,根据第一窗口在逻辑图形层中的位置、逻辑图形层的分辨率、及终端设备的显示屏幕的分辨率,确定第二窗口在显示屏幕中的位置,并根据第二窗口在显示屏幕中的位置,显示第二窗口。在上述过程中,在窗口显示装置对应用程序绘制的第一窗口进行显示之前,窗口显示装置可以对应用程序绘制的第一窗口进行缩放处理,以使处理后的第二窗口可以和终端设备的显示屏幕的分辨率一致,因此,应用程序在绘制第一窗口时,无需获取终端设备的分辨率,进而提高应用程序的移植性。

附图说明

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

图1为本发明实施例提供的窗口显示方法的应用场景示意图;

图2为本发明实施例提供的窗口显示方法的流程示意图;

图3a为本发明实施例提供的窗口显示界面示意图一;

图3b为本发明实施例提供的窗口显示界面示意图二;

图4为本发明实施例提供的窗口显示装置的结构示意图。

具体实施方式

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

图1为本发明实施例提供的窗口显示方法的应用场景示意图。请参见图1,终端设备中安装有应用程序,该应用程序可以为用户下载并安装在终端设备的、也可以为终端设备的系统自带的。在应用程序运行过程中,应用程序根据需要显示的内容,以逻辑图形层作为最终显示设备的参照物,在底层图形系统中创建窗口,并将应用程序的内容绘制到该窗口中,窗口显示模块将创建的窗口按照逻辑图形层的大小与实际显示设备的大小的比例关系以及窗口的位置和大小,并对应用程序的窗口进行一系列处理(例如缩放处理,显示位置变更处理等)并在终端设备的显示屏幕中显示处理后的窗口。

在本申请中,在窗口显示模块对应用程序绘制的窗口进行显示之前,窗口显示模块可以对应用程序绘制的窗口进行处理,以使处理后的窗口大小和位置可以和终端设备的实际显示屏大小相适配,以实现在终端设备显示屏的正确位置显示正确大小的窗口,因此,应用程序在绘制窗口时,无需获取终端设备的分辨率,进而提高应用程序的移植性。

下面,通过具体实施例,对本申请所示的技术方案进行详细说明。需要说明的是,下面几个具体实施例可以相互结合,对于相同或相似的内容,在不同的实施例中不再进行赘述。

图2为本发明实施例提供的窗口显示方法的流程示意图。请参见图2,该方法可以包括:

s201、获取应用程序在逻辑图形层中绘制的第一窗口。

本发明实施例的执行主体为窗口显示装置,该窗口显示装置可以设置在终端设备中。

在本发明实施例中,在应用程序的研发过程中,可以在应用程序中设置逻辑图形层,该逻辑图形层可以为抽象为一画板,以使应用程序可以在该逻辑图形层中绘制窗口。

可选的,为了便于对第一窗口进行缩放处理,可以将逻辑图形层的长宽比例设置为目前多数终端设备的长宽比例,其中,长宽比例可以为横向的像素个数与纵向的像素个数的比值。例如,目前多数终端设备的长宽比例为16:9,因此,逻辑图形层的长宽比例可以为16:9。当然,在实际应用过程中,可以根据实际需要设置逻辑图形层的长宽比例,本发明实施例对此不作具体限定。

可选的,当应用程序需要在终端设备的显示屏幕中进行窗口显示时,应用程序在终端设备的缓存中在逻辑图形层中绘制第一窗口。在应用程序在逻辑图形层中绘制完成第一窗口之后,应用程序可以调用预设接口(例如flip接口),以使终端设备的显示驱动模块(例如渲染引擎)读取应用程序在缓存中绘制的第一窗口。

s202、根据逻辑图形层的分辨率和终端设备的显示屏幕的分辨率,对第一窗口进行缩放处理,得到第二窗口。

可选的,可以根据如下可行的实现方式对第一窗口进行缩放处理:根据逻辑图形层在横向包括的像素个数、和显示屏幕在横向包括的像素个数,确定横向缩放比例,根据逻辑图形层在纵向包括的像素个数、和显示屏幕在纵向包括的像素个数,确定纵向缩放比例,根据横向缩放比例和纵向缩放比例,对第一窗口进行缩放处理,得到第二窗口。

可选的,可以将显示屏幕在横向包括的像素个数、与逻辑图形层在横向包括的像素个数的比值确定为横向缩放比例。可选的,可以将显示屏幕在纵向包括的像素个数、与逻辑图形层在纵向包括的像素个数的比值确定为纵向缩放比例。

若横向缩放比例大于1,则需要对第一窗口进行横向放大,若横向缩放比例小于1,则需要对第一窗口进行横向缩小。若纵向缩放比例大于1,则需要对第一窗口进行纵向放大,若纵向缩放比例小于1,则需要对第一窗口进行纵向缩小。

当需要对第一窗口进行横向放大时,可选的,可以先根据第一窗口横向包括的像素个数和横向缩放比例,确定需要在第一窗口横向增加的像素个数m,然后可以对第一窗口进行平滑处理,并通过插值算法在第一窗口中插入m个像素,以实现放大第一黄口。当需要对第一窗口进行横向缩小时,可选的,可以先根据第一窗口横向包括的像素个数和横向缩放比例,确定需要在第一窗口横向删除的像素个数m,然后可以通过间隔性删除第一窗口中的像素实现缩小第一窗口。需要说明的是,对第一窗口进行纵向放大或缩小的方法可以参见对第一窗口进行横向放大或缩小的方法,此处不再进行赘述。

当然,还可以根据其它可行的实现方式对第一窗口进行缩放处理,本发明实施例对此不作具体限定。

s203、根据第一窗口在逻辑图形层中的位置、逻辑图形层的分辨率、及终端设备的显示屏幕的分辨率,确定第二窗口在显示屏幕中的位置。

可选的,可以通过如下可行的实现方式确定第二窗口在显示屏幕中的位置:获取第一窗口的预设标记点在逻辑图形层中的第一坐标,根据横向缩放比例、纵向缩放比例、及第一坐标,确定第二窗口中的预设标记点在显示屏幕中的第二坐标,根据第二坐标,确定第二窗口在显示屏幕中的位置。

可选的,预设标记点可以为窗口的四个角中的任意一个角,或者,预设标记点还可以为窗口的中心点。当然,在实际应用过程中,可以根据实际需要设置该预设标记点,本发明实施例对此不作具体限定。

需要说明的是,确定横向缩放比例和纵向缩放比例的过程可以参见s202,此处不再进行赘述。

可选的,第一坐标可以为预设标记点相对于逻辑图形层中的预设点的坐标,其中,逻辑图形层中的预设点可以为逻辑图形层的左上角、左下角等,可以根据实际需要设置逻辑图形层中的预设点。

可选的,可以将第一坐标的横坐标乘以横向缩放比例,得到第二坐标的横坐标,将第一坐标的纵坐标乘以纵向缩放比例,得到第二坐标的纵坐标。

s204、根据第二窗口在显示屏幕中的位置,显示第二窗口。

在确定得到第二窗口以及第二窗口在显示屏幕中的位置之后,在对应的位置上显示第二窗口。

本发明实施例提供的终端设备窗口显示方法,当需要显示应用程序绘制的第一窗口时,先获取应用程序在逻辑图形层中绘制的第一窗口,根据逻辑图形层的分辨率和终端设备的显示屏幕的分辨率,对第一窗口进行缩放处理,得到第二窗口,根据第一窗口在逻辑图形层中的位置、逻辑图形层的分辨率、及终端设备的显示屏幕的分辨率,确定第二窗口在显示屏幕中的位置,并根据第二窗口在显示屏幕中的位置,显示第二窗口。在上述过程中,在窗口显示模块对应用程序绘制的第一窗口进行显示之前,窗口显示模块可以对应用程序绘制的第一窗口进行缩放处理,以使处理后的第二窗口可以和终端设备的显示屏幕的分辨率一致,因此,应用程序在绘制第一窗口时,无需获取终端设备的分辨率,进而提高应用程序的移植性。

下面,结合图3a-图3b,通过具体示例,对上述方法实施例所示的技术方案进行详细说明。

图3a为本发明实施例提供的窗口显示界面示意图一。请参见图3a,包括界面301-界面304。

假设终端设备中安装有应用程序1,在应用程序1的运行过程中,当应用程序1需要显示窗口时,应用程序1在终端设备的缓存中,在应用程序1自带的逻辑图形层中绘制窗口1。

请参见界面301,假设逻辑图形层为尺寸为1280*720(像素),应用程序1根据实际需求在缓存中、在逻辑图形层中绘制窗口1,假设绘制得到的窗口1的尺寸为768*504(像素),且窗口1的左上角在逻辑图形层中的坐标a为(80,45)。

在应用程序1绘制完成窗口1之后,应用程序1调用flip接口,以请求渲染引擎对绘制的窗口1进行显示。渲染引擎根据应用程序1的调用请求,在缓存中获取应用程序1在逻辑图形层中绘制的窗口1。

请参见界面302,渲染引擎在逻辑图形层中获取得到的窗口1如界面302所示。在渲染引擎获取得到窗口1之后,渲染引擎获取逻辑图形层的尺寸1280*720、终端设备的显示屏幕的尺寸1920*1080,渲染引擎获取得到横向缩放比例为:1920/1280=1.5,纵向缩放比例为:1080/720=1.5。

请参见界面303,渲染引擎根据横向缩放比例1.5和窗口1横向包括的像素750,确定需要在窗口1的横向增加的像素个数为375,则渲染引擎通过插值法在窗口1的每一行中增加375个像素。渲染引擎根据纵向缩放比例1.5和窗口1纵向包括的像素504,确定需要在窗口1的纵向增加的像素个数为252,则渲染引擎通过插值法在窗口1的每一列中增加252个像素,得到界面303所示的窗口2,窗口2的尺寸为1152*756。

渲染引擎根据窗口1的左上角在逻辑图形层中的坐标a(80,45)、及横向缩放比例1.5和纵向缩放比例,确定窗口2的左上角在终端设备的显示屏幕中的坐标b为(80*1.5,45*1.5),即,坐标b为(120,68)。

请参见界面304,将窗口2的左上角与坐标b重合,并在终端设备的显示屏幕中显示窗口2。

图3b为本发明实施例提供的窗口显示界面示意图二。请参见图3b,包括界面301和界面304。其中,图3b中的界面301与图3a中的界面301相同,图3b中的界面304与图3a中的界面304相同。

请参见图3b,根据逻辑图形层和显示屏幕的尺寸比例,对逻辑图形层中的窗口1进行等比例放大处理,得到显示屏幕中的窗口2;窗口1在逻辑图形层中的位置、与窗口2在终端设备的显示屏幕中的位置对应相同。

图4为本发明实施例提供的窗口显示装置的结构示意图。请参见图4,该装置可以包括获取模块11、缩放处理模块12、及显示模块13,其中,

所述获取模块11用于,获取应用程序在逻辑图形层中绘制的第一窗口;

所述缩放处理模块12用于,根据所述逻辑图形层的分辨率和终端设备的显示屏幕的分辨率,对所述第一窗口进行缩放处理,得到第二窗口;

所述缩放处理模块12还用于,根据所述第一窗口在所述逻辑图形层中的位置、所述逻辑图形层的分辨率、及终端设备的显示屏幕的分辨率,确定所述第二窗口在所述显示屏幕中的位置;

所述显示模块13用于,根据所述第二窗口在所述显示屏幕中的位置,显示所述第二窗口。

本发明实施例提供的终端设备窗口显示装置可以执行上述方法实施例所示的技术方案,其实现原理以及有益效果类似,此处不再进行赘述。

在一种可能的实施方式中,所述缩放处理模块12具体用于:

根据所述逻辑图形层在横向包括的像素个数、和所述显示屏幕在横向包括的像素个数,确定横向缩放比例;

根据所述逻辑图形层在纵向包括的像素个数、和所述显示屏幕在纵向包括的像素个数,确定纵向缩放比例;

根据所述横向缩放比例和所述纵向缩放比例,对所述第一窗口进行缩放处理,得到所述第二窗口。

在另一种可能的实施方式中,所述缩放处理模块12具体用于:

获取所述第一窗口的预设标记点在所述逻辑图形层中的第一坐标;

根据所述横向缩放比例、所述纵向缩放比例、及所述第一坐标,确定所述第二窗口中的预设标记点在所述显示屏幕中的第二坐标;

根据所述第二坐标,确定所述第二窗口在所述显示屏幕中的位置。

在另一种可能的实施方式中,所述预设标记点为窗口的四个角中的任意一个角;或者,

所述预设标记点为窗口的中心点。

在另一种可能的实施方式中,所述获取模块11具体用于:

接收应用程序对flip接口的调用请求,所述调用请求中包括所述第一窗口的标识;

根据所述调用请求和所述第一窗口的标识,在缓存中获取所述第一窗口。

本发明实施例提供的终端设备窗口显示装置可以执行上述方法实施例所示的技术方案,其实现原理类似,此处不再进行赘述。

发明实施例提供的窗口显示装置,在应用程序进行第一窗口绘制时,应用程序在逻辑图形层上绘制第一窗口,当需要进行窗口显示时,根据逻辑图形层的分辨率和终端设备的显示屏幕的分辨率,对第一窗口进行缩放处理,得到第二窗口,根据第一窗口在逻辑图形层中的位置、逻辑图形层的分辨率、及终端设备的显示屏幕的分辨率,确定第二窗口在显示屏幕中的位置,并根据第二窗口在显示屏幕中的位置,显示第二窗口。由于窗口显示装置对应用程序绘制的第一窗口进行显示之前,窗口显示装置可以对应用程序绘制的第一窗口进行缩放处理,以使处理后的第二窗口可以和终端设备的显示屏幕的分辨率一致,因此,应用程序在绘制第一窗口时,无需获取终端设备的分辨率,提高了应用程序的移植性。

本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:rom、ram、磁碟或者光盘等各种可以存储程序代码的介质。

最后应说明的是:以上各实施例仅用以说明本发明实施例的技术方案,而非对其限制;尽管参照前述各实施例对本发明实施例进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明实施例方案的范围。

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