一种画布自动布局方法、系统、设备及存储介质与流程

文档序号:29470889发布日期:2022-04-02 04:50阅读:102来源:国知局
一种画布自动布局方法、系统、设备及存储介质与流程

1.本发明涉及界面布局优化技术领域,特别是涉及一种画布自动布局方法、系统、设备及存储介质。


背景技术:

2.控件是指对数据和方法进行封装,从而用于对应用程序进行开发的可视化元件。但是,由于现有通过控件进行程序开发的画布界面存在布局管理缺陷,导致转化后的界面存在诸如控件堆叠和控件位号名称显示不全等问题。且针对上述问题,现有技术无法自动调整,需要通过人工对画布界面的布局进行进一步优化,导致对组态调试及实施的效率低下。


技术实现要素:

3.本发明实施例的目的在于提供一种画布自动布局方法、系统、设备及存储介质,以实现对画布界面布局的自动调整,提高组态调试及实施效率的发明目的。具体技术方案如下:
4.一种画布自动布局方法,所述方法包括:
5.获取第一数量个数的控件的位置信息,并根据所述位置信息,确定每个所述控件的控件区域。
6.遍历每个所述控件的控件区域,逐一判断未遍历控件与最小有效区域是否重叠,若是,则按照预设偏移方式,对与所述最小有效区域重叠的所述未遍历控件,逐一执行偏移操作,以使每个所述未遍历控件均不与所述最小有效区域重叠,其中,所述最小有效区域是遍历中的所述控件和遍历过的各所述控件共同占据的最小矩形区域。
7.对所述第一数量个数的控件遍历结束后,获取最终有效区域中的每个控件与相邻控件的初始间距值,其中,所述最终有效区域是所述第一数量个数的控件共同占据的所述最小有效区域。
8.计算将所述最终有效区域,缩放到画布显示区域的缩放比。
9.根据初始控件的位置信息和所述缩放比,确定所述初始控件在所述画布显示区域中的初始区域,其中,所述初始控件是遍历的首个所述控件。
10.根据所述初始区域、所述初始间距值、所述缩放比和所述遍历过的其他控件的位置信息,确定所述其他控件在所述画布显示区域中的位置,其中,所述其他控件是遍历过的所述第一数量个数的控件中,除所述初始控件以外的控件。
11.可选的,所述对所述第一数量个数的控件遍历结束后,获取最终有效区域中的每个控件与相邻控件的初始间距值,包括:
12.从所述最终有效区域中每个所述控件的位置信息中,提取每个所述控件的定位点坐标。
13.根据所述遍历的过程中的遍历顺序,确定每个控件的所述相邻控件。
14.将每个所述控件的所述定位点坐标,与对应的每个所述相邻控件的所述定位点坐标进行求差运算,获得每个所述控件与该控件对应的所述相邻控件的所述初始间距值。
15.可选的,所述根据初始控件的位置信息和所述缩放比,确定所述初始控件在所述画布显示区域中的初始区域,包括:
16.从所述初始控件的所述位置信息中,获取所述定位点坐标和尺寸信息。
17.将所述初始控件的所述定位点坐标,替换为所述画布显示区域的坐标系原点坐标。
18.将所述初始控件的所述尺寸信息与所述缩放比做除法运算,获得所述初始控件在所述画布显示区域的尺寸信息。
19.根据经过所述初始控件的所述定位点坐标,与所述初始控件在所述画布显示区域的尺寸信息,确定所述初始控件在所述画布显示区域中的所述初始区域。
20.可选的,所述根据所述初始区域、所述初始间距值、所述缩放比和所述遍历过的其他控件的位置信息,确定所述其他控件在所述画布显示区域中的位置,包括:
21.将所述初始间距值与所述缩放比做除法运算,获得所述画布显示区域中的最终间距值。
22.根据所述初始区域的定位点坐标、所述最终间距值和所述遍历顺序,依次获得每个所述其他控件的最终定位点坐标。
23.根据所述其他控件的位置信息,获取每个所述其他控件的尺寸信息,将每个所述其他控件的尺寸信息与所述缩放比做除法运算,获得每个所述其他控件在所述画布显示区域的最终尺寸信息。
24.根据所述最终定位点坐标和所述最终尺寸信息,确定所述其他控件在所述画布显示区域中的位置。
25.可选的,所述逐一判断未遍历控件与最小有效区域是否重叠,包括:
26.利用预设判断重叠算法,逐一判断所述未遍历控件的位置信息,与所述最小有效区域是否满足预设重叠条件,如果是,则确定所述未遍历控件与所述最小有效区域重叠。否则,确定所述未遍历控件与所述最小有效区域不重叠,其中,所述预设重叠条件为:预测重叠区域的第一定位点的横坐标,不大于所述预测重叠区域的第二定位点的横坐标,且所述第一定位点的纵坐标,不大于所述第二定位点的纵坐标,所述第一定位点的横坐标为所述最小有效区域定位点的横坐标,和所述未遍历控件的定位点的横坐标二者中的最大值,所述第一定位点的纵坐标为所述最小有效区域定位点的纵坐标,和所述未遍历控件的定位点的纵坐标二者中的最大值,所述第二定位点的横坐标,为所述最小有效区域尺寸点的横坐标,和所述未遍历控件的尺寸点的横坐标二者中的最小值,所述第二定位点的纵坐标,为所述最小有效区域尺寸点的横坐标,和所述未遍历控件的尺寸点的横坐标二者中的最小值。
27.可选的,所述计算将所述最终有效区域,缩放到画布显示区域的缩放比,包括:
28.获取所述画布显示区域的第一尺寸信息,其中,所述第一尺寸信息包括:所述画布显示区域的横向尺寸信息和所述画布显示区域的纵向尺寸信息。
29.获取所述最终有效区域的第二尺寸信息,其中,所述第二尺寸信息包括:所述最终有效区域的横向尺寸信息和所述最终有效区域的纵向尺寸信息。
30.将所述最终有效区域的横向尺寸信息,与所述画布显示区域的横向尺寸信息做除
法运算,获得横向缩放比。
31.将所述最终有效区域的纵向尺寸信息,与所述画布显示区域的纵向尺寸信息做除法运算,获得纵向缩放比。
32.一种画布自动布局系统,所述系统包括:
33.信息获取模块,用于获取第一数量个数的控件的位置信息,并根据所述位置信息,确定每个所述控件的控件区域;
34.位置调整模块,用于遍历每个所述控件的控件区域,逐一判断未遍历控件与最小有效区域是否重叠,若是,则按照预设偏移方式,对与所述最小有效区域重叠的所述未遍历控件,逐一执行偏移操作,以使每个所述未遍历控件均不与所述最小有效区域重叠,其中,所述最小有效区域是遍历中的所述控件和遍历过的各所述控件共同占据的最小矩形区域;
35.间距获取模块,用于对所述第一数量个数的控件遍历结束后,获取最终有效区域中的每个控件与相邻控件的初始间距值,其中,所述最终有效区域是所述第一数量个数的控件共同占据的所述最小有效区域;
36.缩放比获取模块,用于计算将所述最终有效区域,缩放到画布显示区域的缩放比;
37.基准定位模块,用于根据初始控件的位置信息和所述缩放比,确定所述初始控件在所述画布显示区域中的初始区域,其中,所述初始控件是遍历的首个所述控件;
38.位置确定模块,用于根据所述初始区域、所述初始间距值、所述缩放比和所述遍历过的其他控件的位置信息,确定所述其他控件在所述画布显示区域中的位置,其中,所述其他控件是遍历过的所述第一数量个数的控件中,除所述初始控件以外的控件。
39.可选的,所述间距获取模块被配置为:
40.从所述最终有效区域中每个所述控件的位置信息中,提取每个所述控件的定位点坐标。
41.根据所述遍历的过程中的遍历顺序,确定每个控件的所述相邻控件。
42.将每个所述控件的所述定位点坐标,与对应的每个所述相邻控件的所述定位点坐标进行求差运算,获得每个所述控件与该控件对应的所述相邻控件的所述初始间距值。
43.可选的,所述基准定位模块被配置为:
44.从所述初始控件的所述位置信息中,获取所述定位点坐标和尺寸信息。
45.将所述初始控件的所述定位点坐标,替换为所述画布显示区域的坐标系原点坐标。
46.将所述初始控件的所述尺寸信息与所述缩放比做除法运算,获得所述初始控件在所述画布显示区域的尺寸信息。
47.根据经过所述初始控件的所述定位点坐标,与所述初始控件在所述画布显示区域的尺寸信息,确定所述初始控件在所述画布显示区域中的所述初始区域。
48.可选的,所述位置确定模块被配置为:
49.将所述初始间距值与所述缩放比做除法运算,获得所述画布显示区域中的最终间距值。
50.根据所述初始区域的定位点坐标、所述最终间距值和所述遍历顺序,依次获得每个所述其他控件的最终定位点坐标。
51.根据所述其他控件的位置信息,获取每个所述其他控件的尺寸信息,将每个所述
其他控件的尺寸信息与所述缩放比做除法运算,获得每个所述其他控件在所述画布显示区域的最终尺寸信息。
52.根据所述最终定位点坐标和所述最终尺寸信息,确定所述其他控件在所述画布显示区域中的位置。
53.可选的,所述位置调整模块被配置为:
54.利用预设判断重叠算法,逐一判断所述未遍历控件的位置信息,与所述最小有效区域是否满足预设重叠条件,如果是,则确定所述未遍历控件与所述最小有效区域重叠。否则,确定所述未遍历控件与所述最小有效区域不重叠,其中,所述预设重叠条件为:预测重叠区域的第一定位点的横坐标,不大于所述预测重叠区域的第二定位点的横坐标,且所述第一定位点的纵坐标,不大于所述第二定位点的纵坐标,所述第一定位点的横坐标为所述最小有效区域定位点的横坐标,和所述未遍历控件的定位点的横坐标二者中的最大值,所述第一定位点的纵坐标为所述最小有效区域定位点的纵坐标,和所述未遍历控件的定位点的纵坐标二者中的最大值,所述第二定位点的横坐标,为所述最小有效区域尺寸点的横坐标,和所述未遍历控件的尺寸点的横坐标二者中的最小值,所述第二定位点的纵坐标,为所述最小有效区域尺寸点的横坐标,和所述未遍历控件的尺寸点的横坐标二者中的最小值。
55.可选的,所述缩放比获取模块被配置为:
56.获取所述画布显示区域的第一尺寸信息,其中,所述第一尺寸信息包括:所述画布显示区域的横向尺寸信息和所述画布显示区域的纵向尺寸信息。
57.获取所述最终有效区域的第二尺寸信息,其中,所述第二尺寸信息包括:所述最终有效区域的横向尺寸信息和所述最终有效区域的纵向尺寸信息。
58.将所述最终有效区域的横向尺寸信息,与所述画布显示区域的横向尺寸信息做除法运算,获得横向缩放比。
59.将所述最终有效区域的纵向尺寸信息,与所述画布显示区域的纵向尺寸信息做除法运算,获得纵向缩放比。
60.一种画布自动布局装置,所述装置包括:
61.处理器;
62.用于存储所述处理器可执行指令的存储器。
63.其中所述处理器被配置为执行所述指令,以实现如上述任一项所述的画布自动布局方法。
64.一种计算机存储介质,当所述计算机可读存储介质中的指令由电子设备的处理器执行时,使得所述设备能够执行如上述任一项所述的画布自动布局方法。
65.本发明实施例提供的一种画布自动布局方法、系统、设备及存储介质,通过预设判断控件与最小有效区域是否重叠,并利用预设偏移方式对重叠的控件进行偏移操作,使得本发明相较于现有技术需要人工调整重叠控件的方式,实现了对控件位置的自动调节。并通过记录遍历控件的顺序,可以确定每个控件的相邻控件,并可以为后续对控件位置的调整提供参照,使得本发明提高了后续调整控件位置的准确性。同时,本发明通过计算缩放比,可以实现将最终有效区域中的控件进行等比例缩放,并根据初始间距值和缩放比实现,对缩放至画布显示区域中的控件位置进行准确调整。最后,根据初始区域、初始间距值、缩放比和遍历过的其他控件的位置信息,实现在画布显示区域中对控件位置的自动调整。可
见,本发明相较于现有技术需要有人工对控件位置进行手动调整的方式,实现对画布界面布局的自动调整,从而提高组态调试及实施效率的发明目的。
66.当然,实施本发明的任一产品或方法必不一定需要同时达到以上所述的所有优点。
附图说明
67.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
68.图1为本发明实施例提供的一种画布自动布局方法的流程图;
69.图2为本发明的一个可选实施例提供的一种位置信息示意图;
70.图3为本发明的一个具体实施例提供的一种对重叠控件执行偏移操作的示意图;
71.图4为本发明的另一个具体实施例提供的一种画布自动布局的示意图;
72.图5为本发明的一个可选实施例提供的一种画布自动布局系统的框图;
73.图6为本发明实施例提供的一种画布自动布局设备的框图。
具体实施方式
74.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
75.本发明实施例提供了一种画布自动布局方法,如图1所示,方法包括:
76.s101、获取第一数量个数的控件的位置信息,并根据位置信息,确定每个控件的控件区域。
77.需要说明的是,本发明实施例提供的画布自动布局方法,可以应用于诸如网页设计和工业控制系统设计等领域,对于具体应用场景,并不做过多限制,以实现本发明的发明目的及技术效果为准。为了方便对本发明技术方案的解释说明,以下实施例均以功能区块图(function blockdiagram,fbd)作为应用场景。
78.可选的,在本发明的一个可选实施例中,上述控件可以是在上述fbd程序中,封装有程序或数据的功能块(function block)或引用标签。
79.可选的,在如图2所示的本发明另一可选实施例中,上述位置信息可以包括每个控件的定位点201的坐标和尺寸点202的坐标。通过定位点201和尺寸点202,可以在画布中唯一确定一个控件的位置和控件区域。上述位置信息可以是通过读取导入文件中的控件参数获取的。其中,导入文件的类型可以是逗号分隔值文件(comma-separated values,csv)或可扩展标记语言文件(extensible markup language,xml)。
80.s102、遍历每个控件的控件区域,逐一判断未遍历控件与最小有效区域是否重叠,若是,则按照预设偏移方式,对与最小有效区域重叠的未遍历控件,逐一执行偏移操作,以使每个未遍历控件均不与最小有效区域重叠,其中,最小有效区域是遍历中的控件和遍历
过的各控件共同占据的最小矩形区域。
81.可选的,在本发明的一个可选实施例中,上述预设偏移方式可以是在判断一个未遍历控件与最小有效区域重叠时,控制该未遍历控件做横向或纵向位移的算法。其中,上述横向或纵向位移的距离可以根据控件的尺寸信息或画布的尺寸信息进行设定,并不做过多限制。上述控件的尺寸信息包括但不限于功能块名称文本宽度、功能块位号名文本宽度、控件文本硬编码宽度的最大值等。本发明通过判断控件与最小有效区域是否重叠,并利用预设偏移方式对重叠的控件进行偏移操作,实现了对控件位置的自动调节。
82.可选的,在本发明的另一个可选实施例中,上述遍历的过程可以记录遍历控件的顺序。通过记录遍历控件的顺序,可以确定每个控件的相邻控件,并可以为后续对控件位置的调整提供参照,使得本发明提高了后续调整控件位置的准确性。
83.s103、对第一数量个数的控件遍历结束后,获取最终有效区域中的每个控件与相邻控件的初始间距值,其中,最终有效区域是第一数量个数的控件共同占据的最小有效区域。
84.可选的,在本发明的一个可选实施例中,上述获取初始间距值的方式可以是:按照上述遍历的顺序,由遍历到的第一个控件开始,将每个控件和与之相邻控件的定位点的横坐标与纵坐标对应相减,获得每个控件与相邻控件在横向和纵向的初始间距值。
85.s104、计算将最终有效区域,缩放到画布显示区域的缩放比。
86.可选的,在本发明的一个可选实施例中,由于上述最终有效区域中所处的画布大小与画布显示区域的画布大小不一致,导致现有技术在将最终有效区域转换值画布显示区域后,会存在控件分布混乱和重叠的现象。因此,本发明通过计算缩放比,可以实现将最终有效区域中的控件进行等比例缩放,并根据初始间距值和缩放比实现,对缩放至画布显示区域中的控件位置进行准确调整。
87.s105、根据初始控件的位置信息和缩放比,确定初始控件在画布显示区域中的初始区域,其中,初始控件是遍历的首个控件。
88.可选的,在本发明的一个可选实施例中,以初始控件在画布显示区域中的初始区域作为基准,并根据上述初始间距值、缩放比和遍历的顺序,确定出每个控件在画布显示区域中的定位点坐标。
89.s106、根据初始区域、初始间距值、缩放比和遍历过的其他控件的位置信息,确定其他控件在画布显示区域中的位置,其中,其他控件是遍历过的第一数量个数的控件中,除初始控件以外的控件。
90.本发明通过预设判断控件与最小有效区域是否重叠,并利用预设偏移方式对重叠的控件进行偏移操作,使得本发明相较于现有技术需要人工调整重叠控件的方式,实现了对控件位置的自动调节。并通过记录遍历控件的顺序,可以确定每个控件的相邻控件,并可以为后续对控件位置的调整提供参照,使得本发明提高了后续调整控件位置的准确性。同时,本发明通过计算缩放比,可以实现将最终有效区域中的控件进行等比例缩放,并根据初始间距值和缩放比实现,对缩放至画布显示区域中的控件位置进行准确调整。最后,根据初始区域、初始间距值、缩放比和遍历过的其他控件的位置信息,实现在画布显示区域中对控件位置的自动调整。可见,本发明相较于现有技术需要有人工对控件位置进行手动调整的方式,实现对画布界面布局的自动调整,从而提高组态调试及实施效率的发明目的。
91.可选的,对第一数量个数的控件遍历结束后,获取最终有效区域中的每个控件与相邻控件的初始间距值,包括:
92.从最终有效区域中每个控件的位置信息中,提取每个控件的定位点坐标。
93.根据遍历的过程中的遍历顺序,确定每个控件的相邻控件。
94.将每个控件的定位点坐标,与对应的每个相邻控件的定位点坐标进行求差运算,获得每个控件与该控件对应的相邻控件的初始间距值。
95.可选的,根据初始控件的位置信息和缩放比,确定初始控件在画布显示区域中的初始区域,包括:
96.从初始控件的位置信息中,获取定位点坐标和尺寸信息。
97.将初始控件的定位点坐标,替换为画布显示区域的坐标系原点坐标。
98.将初始控件的尺寸信息与缩放比做除法运算,获得初始控件在画布显示区域的尺寸信息。
99.根据经过初始控件的定位点坐标,与初始控件在画布显示区域的尺寸信息,确定初始控件在画布显示区域中的初始区域。
100.可选的,根据初始区域、初始间距值、缩放比和遍历过的其他控件的位置信息,确定其他控件在画布显示区域中的位置,包括:
101.将初始间距值与缩放比做除法运算,获得画布显示区域中的最终间距值。
102.根据初始区域的定位点坐标、最终间距值和遍历顺序,依次获得每个其他控件的最终定位点坐标。
103.根据其他控件的位置信息,获取每个其他控件的尺寸信息,将每个其他控件的尺寸信息与缩放比做除法运算,获得每个其他控件在画布显示区域的最终尺寸信息。
104.根据最终定位点坐标和最终尺寸信息,确定其他控件在画布显示区域中的位置。
105.可选的,逐一判断未遍历控件与最小有效区域是否重叠,包括:
106.利用预设判断重叠算法,逐一判断未遍历控件的位置信息,与最小有效区域是否满足预设重叠条件,如果是,则确定未遍历控件与最小有效区域重叠。否则,确定未遍历控件与最小有效区域不重叠,其中,预设重叠条件为:预测重叠区域的第一定位点的横坐标,不大于预测重叠区域的第二定位点的横坐标,且第一定位点的纵坐标,不大于第二定位点的纵坐标,第一定位点的横坐标为最小有效区域定位点的横坐标,和未遍历控件的定位点的横坐标二者中的最大值,第一定位点的纵坐标为最小有效区域定位点的纵坐标,和未遍历控件的定位点的纵坐标二者中的最大值,第二定位点的横坐标,为最小有效区域尺寸点的横坐标,和未遍历控件的尺寸点的横坐标二者中的最小值,第二定位点的纵坐标,为最小有效区域尺寸点的横坐标,和未遍历控件的尺寸点的横坐标二者中的最小值。
107.可选的,请结合如图3的a、b和c所示的本发明的一具体实施例,对如图1所示的步骤s102进行理解:
108.当前存在三个正方形控件,位置如图3的a所示。其中控件a的定位点坐标为mina(0,0),尺寸点坐标为maxa(2,-2),控件区域为recta(mina,maxa),该recta为最小有效区域。控件b的定位点坐标为minb(1,-1),尺寸点坐标为maxb(3,-3),控件区域为rectb(minb,maxb)。控件c的定位点坐标为minc(4,-3),尺寸点坐标为maxc(6,-5),控件区域为rectc(minc,maxc)。
109.现按照由控件a到控件b,再由控件b到控件c的顺序遍历每个控件的区域。
110.假设重叠区域为d,则重叠区域d的区域为rectd(mind,maxd)。由图3的a可知,mind.x=1,mind.y=0,maxd.x=2,maxd.y=2。其中,mind.x为重叠区域d定位点坐标的横坐标。mind.y为重叠区域d定位点坐标的纵坐标。maxd.x为重叠区域d尺寸点坐标的纵坐标。maxd.y为重叠区域d尺寸点坐标的纵坐标。当前mind.x不大于maxd.x,且mind.y不大于maxd.y时,由上述预设重叠算法可知,控件a和控件b重叠。
111.现已知控件a和控件b重叠,按照预设偏移方式,对控件b执行偏移操作:将控件b向右水平移动2个单位,向下垂直移动1个单位。并根据控件a与执行偏移操作后的控件b,确定新的最小有效区域b1。此时,上述三个控件的位置如图3的b所示。
112.由图3的b可知,控件a和控件b不重叠,控件a和控件c不重叠,控件b和控件c重叠。由于控件a和控件b已被遍历过,现对控件c执行上述偏移操作,获得如图3的c所示的控件位置,并根据如图3的c所示的控件位置,确定最终有效区域b2。
113.可选的,请结合如图3的b、图4的a和图4的b所示的本发明的另一个具体实施例,对如图1所示步骤s106进行理解:
114.由于篇幅限制,在本实施例中设定缩放比为0.5。则对图3的b中的控件a进行缩放后,确定的初始控件在画布显示区域中的初始区域如图4的a所示。此时控件a的定位点坐标(0,0),尺寸点坐标为(4,-4)。由图3的b可知,控件a与控件b的横向初始间距值为3,纵向初始间距值为2。控件b与控件c的横向初始间距值为3,纵向初始间距值为2。
115.则将横向初始间距值处于缩放比,获得横向最终间距值为6,纵向最终间距值为4。则计算出的控件b在画布显示区域中的最终定位点坐标为(6,-4),控件c在画布显示区域中的最终定位点坐标为(12,-8)。再根据控件b的尺寸信息、控件c的尺寸信息和缩放比,获得控件b和控件c在画布显示区域的最终尺寸信息。经过缩放后,控件b和控件c均为边长为4的正方形控件。
116.根据上述最终定位点坐标和最终尺寸信息,获得如图4的b所示的画布布局。
117.可选的,计算将最终有效区域,缩放到画布显示区域的缩放比,包括:
118.获取画布显示区域的第一尺寸信息,其中,第一尺寸信息包括:画布显示区域的横向尺寸信息和画布显示区域的纵向尺寸信息。
119.获取最终有效区域的第二尺寸信息,其中,第二尺寸信息包括:最终有效区域的横向尺寸信息和最终有效区域的纵向尺寸信息。
120.将最终有效区域的横向尺寸信息,与画布显示区域的横向尺寸信息做除法运算,获得横向缩放比。
121.将最终有效区域的纵向尺寸信息,与画布显示区域的纵向尺寸信息做除法运算,获得纵向缩放比。
122.与上述画布自动布局方法实施例相对应的,本发明还提供了一种画布自动布局系统,如图5所示,系统包括:
123.信息获取模块501,用于获取第一数量个数的控件的位置信息,并根据位置信息,确定每个控件的控件区域。
124.位置调整模块502,用于遍历每个控件的控件区域,逐一判断未遍历控件与最小有效区域是否重叠,若是,则按照预设偏移方式,对与最小有效区域重叠的未遍历控件,逐一
执行偏移操作,以使每个未遍历控件均不与最小有效区域重叠,其中,最小有效区域是遍历中的控件和遍历过的各控件共同占据的最小矩形区域。
125.间距获取模块503,用于对第一数量个数的控件遍历结束后,获取最终有效区域中的每个控件与相邻控件的初始间距值,其中,最终有效区域是第一数量个数的控件共同占据的最小有效区域。
126.缩放比获取模块504,用于计算将最终有效区域,缩放到画布显示区域的缩放比。
127.基准定位模块505,用于根据初始控件的位置信息和缩放比,确定初始控件在画布显示区域中的初始区域,其中,初始控件是遍历的首个控件。
128.位置确定模块506,用于根据初始区域、初始间距值、缩放比和遍历过的其他控件的位置信息,确定其他控件在画布显示区域中的位置,其中,其他控件是遍历过的第一数量个数的控件中,除初始控件以外的控件。
129.可选的,间距获取模块503被配置为:
130.从最终有效区域中每个控件的位置信息中,提取每个控件的定位点坐标;
131.根据遍历的过程中的遍历顺序,确定每个控件的相邻控件。
132.将每个控件的定位点坐标,与对应的每个相邻控件的定位点坐标进行求差运算,获得每个控件与该控件对应的相邻控件的初始间距值。
133.可选的,基准定位模块505被配置为:
134.从初始控件的位置信息中,获取定位点坐标和尺寸信息。
135.将初始控件的定位点坐标,替换为画布显示区域的坐标系原点坐标。
136.将初始控件的尺寸信息与缩放比做除法运算,获得初始控件在画布显示区域的尺寸信息。
137.根据经过初始控件的定位点坐标,与初始控件在画布显示区域的尺寸信息,确定初始控件在画布显示区域中的初始区域。
138.可选的,位置确定模块506被配置为:
139.将初始间距值与缩放比做除法运算,获得画布显示区域中的最终间距值。
140.根据初始区域的定位点坐标、最终间距值和遍历顺序,依次获得每个其他控件的最终定位点坐标。
141.根据其他控件的位置信息,获取每个其他控件的尺寸信息,将每个其他控件的尺寸信息与缩放比做除法运算,获得每个其他控件在画布显示区域的最终尺寸信息。
142.根据最终定位点坐标和最终尺寸信息,确定其他控件在画布显示区域中的位置。
143.可选的,位置调整模块502被配置为:
144.利用预设判断重叠算法,逐一判断未遍历控件的位置信息,与最小有效区域是否满足预设重叠条件,如果是,则确定未遍历控件与最小有效区域重叠;否则,确定未遍历控件与最小有效区域不重叠,其中,预设重叠条件为:预测重叠区域的第一定位点的横坐标,不大于预测重叠区域的第二定位点的横坐标,且第一定位点的纵坐标,不大于第二定位点的纵坐标,第一定位点的横坐标为最小有效区域定位点的横坐标,和未遍历控件的定位点的横坐标二者中的最大值,第一定位点的纵坐标为最小有效区域定位点的纵坐标,和未遍历控件的定位点的纵坐标二者中的最大值,第二定位点的横坐标,为最小有效区域尺寸点的横坐标,和未遍历控件的尺寸点的横坐标二者中的最小值,第二定位点的纵坐标,为最小
有效区域尺寸点的横坐标,和未遍历控件的尺寸点的横坐标二者中的最小值。
145.可选的,缩放比获取模块504被配置为:
146.获取画布显示区域的第一尺寸信息,其中,第一尺寸信息包括:画布显示区域的横向尺寸信息和画布显示区域的纵向尺寸信息。
147.获取最终有效区域的第二尺寸信息,其中,第二尺寸信息包括:最终有效区域的横向尺寸信息和最终有效区域的纵向尺寸信息。
148.将最终有效区域的横向尺寸信息,与画布显示区域的横向尺寸信息做除法运算,获得横向缩放比。
149.将最终有效区域的纵向尺寸信息,与画布显示区域的纵向尺寸信息做除法运算,获得纵向缩放比。
150.本发明实施例提供了一种画布自动布局装置,如图6所示,装置包括:
151.处理器601;
152.用于存储处理器601可执行指令的存储器602。
153.其中处理器601被配置为执行指令,以实现如上述任一项画布自动布局方法。
154.本发明实施例提供了一种计算机存储介质,当计算机可读存储介质中的指令由电子设备的处理器执行时,使得设备能够执行如上述任一项画布自动布局方法。
155.存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flash ram),存储器包括至少一个存储芯片。存储器是计算机可读介质的示例。
156.计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd-rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
157.本领域技术人员应明白,本技术的实施例可提供为方法、系统或计算机程序产品。因此,本技术可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本技术可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
158.需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括要素的过程、方法、商品或者设备中还存在另外的相同要素。
159.本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
160.以上仅为本技术的实施例而已,并不用于限制本技术。对于本领域技术人员来说,本技术可以有各种更改和变化。凡在本技术的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本技术的权利要求范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1