CN108121541B - 一种向画布添加二维界面组件时的建议位置生成方法 - Google Patents

一种向画布添加二维界面组件时的建议位置生成方法 Download PDF

Info

Publication number
CN108121541B
CN108121541B CN201711395284.9A CN201711395284A CN108121541B CN 108121541 B CN108121541 B CN 108121541B CN 201711395284 A CN201711395284 A CN 201711395284A CN 108121541 B CN108121541 B CN 108121541B
Authority
CN
China
Prior art keywords
canvas
area
coordinate point
interface component
difference value
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201711395284.9A
Other languages
English (en)
Other versions
CN108121541A (zh
Inventor
林土荣
杨荣得
刘志坚
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shenzhen Futu Network Technology Co Ltd
Original Assignee
Shenzhen Futu Network Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shenzhen Futu Network Technology Co Ltd filed Critical Shenzhen Futu Network Technology Co Ltd
Priority to CN201711395284.9A priority Critical patent/CN108121541B/zh
Publication of CN108121541A publication Critical patent/CN108121541A/zh
Application granted granted Critical
Publication of CN108121541B publication Critical patent/CN108121541B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/38Creation or generation of source code for implementing user interfaces

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Processing Or Creating Images (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

本发明公开了一种向画布添加二维界面组件时的建议位置生成方法,其包括:计算画布内容区域;计算画布可见区域与画布内容区域的差值,获取右侧的差值区域与下侧的差值区域;判断界面组件的默认尺寸是否能被右侧的差值区域容纳,若是,则返回建议位置的坐标点为右侧的差值区域的坐标点,若否,则判断界面组件的默认尺寸是否能被下侧的差值区域容纳,若是,则返回建议位置的坐标点为下侧的差值区域的坐标点,若否,则初始化当前坐标点;偏移当前坐标点:为当前界面组件坐标点增加偏移量;使用当前坐标点和界面组件的默认尺寸,作为界面组件的建议位置。本发明能有效简化用户添加界面组件时的操作步骤,有助于用户快速排版界面组件。

Description

一种向画布添加二维界面组件时的建议位置生成方法
技术领域
本发明涉及图形组件添加位置自动生成方法,尤其涉及一种向画布添加二维界面组件时的建议位置生成方法。
背景技术
现有技术中向画布添加界面组件时,界面组件的建议位置算法请参照图1,包括以下4个步骤:1、初始化当前坐标点为current_point(0,0);2、偏移当前坐标点:当前界面组件坐标点current_point增加偏移量offset_point(20,20),如果current_point的x或y超出操作系统的屏幕的最大宽或高,重置x或y为20;3、使用当前坐标点point,及新添加界面组件的默认宽高size,作为建议位置rect;4、再次添加界面组件时,重复2~3步获取建议位置。现有技术中的另一种相近的方案是:在画布的空白区域划分出五个区域,上/下/左/右/全部,用户需要选择一个区域来摆放新添加的界面组件。
而上述两种方式均不能快速的将用户添加的界面组件摆放到相对合适的位置,每次用户添加完界面组件后,基本上都要手动调整界面的位置,不便于操作,且效率低下。
发明内容
本发明要解决的技术问题在于,针对现有技术的不足,提供一种向画布添加二维界面组件时的建议位置生成方法,该方法能有效简化用户添加界面组件时的操作步骤,有助于用户快速排版界面组件。
为解决上述技术问题,本发明采用如下技术方案。
一种向画布添加二维界面组件时的建议位置生成方法,其包括有如下步骤:步骤S1,计算画布内容区域;步骤S2,计算画布可见区域与画布内容区域的差值,获取右侧的差值区域与下侧的差值区域;步骤S3,判断界面组件的默认尺寸是否能被右侧的差值区域容纳,若是,则返回建议位置的坐标点为右侧的差值区域的坐标点,大小为界面组件的默认尺寸,若否,则执行步骤S4;步骤S4,判断界面组件的默认尺寸是否能被下侧的差值区域容纳,若是,则返回建议位置的坐标点为下侧的差值区域的坐标点,大小为界面组件的默认尺寸,若否,则执行步骤S5;步骤S5,初始化当前坐标点;步骤S6,偏移当前坐标点:为当前界面组件坐标点增加偏移量;步骤S7,使用当前坐标点和界面组件的默认尺寸,作为界面组件的建议位置。
优选地,所述画布包括用于摆放多个界面组件的二维坐标区域,画布的左上角为二维坐标的原点,x轴向右为正数,y轴向下为正数。
优选地,所述画布可见区域为画布中用户当前可见的区域。
优选地,所述画布内容区域为画布中已有的多个界面组件的合集。
优选地,所述步骤S6中,为当前界面组件坐标点增加偏移量(20,20)。
优选地,为当前界面组件坐标点增加偏移量时,若当前界面组件坐标点的x或y值超出操作系统屏幕的最大宽或高,则重置x或y为20。
本发明公开的向画布添加二维界面组件时的建议位置生成方法中,在对多个界面组件进行排版时,能够为新添加的界面组件生成建议位置的算法,其中向画布中添加新的界面组件时,计算画布可见区域与画布内容区域的差值,用界面组件的默认尺寸按从左到右,从上到下的顺序来尝试放入差值区域中,只要差值区域能容纳指定尺寸的界面组件,则生成新增界面组件的建议位置。基于上述特性,使得本发明能有效简化用户添加界面组件时的操作步骤,有助于用户快速排版界面组件。
附图说明
图1为现有技术中界面组件的建议位置算法的流程图。
图2为本发明界面组件建议位置生成方法的流程图。
具体实施方式
下面结合附图和实施例对本发明作更加详细的描述。
本发明公开了一种向画布添加二维界面组件时的建议位置生成方法,请参照图2,其包括有如下步骤:
步骤S1,计算画布内容区域;
步骤S2,计算画布可见区域与画布内容区域的差值,获取右侧的差值区域与下侧的差值区域;
步骤S3,判断界面组件的默认尺寸是否能被右侧的差值区域容纳,若是,则返回建议位置的坐标点为右侧的差值区域的坐标点,大小为界面组件的默认尺寸,若否,则执行步骤S4;
步骤S4,判断界面组件的默认尺寸是否能被下侧的差值区域容纳,若是,则返回建议位置的坐标点为下侧的差值区域的坐标点,大小为界面组件的默认尺寸,若否,则执行步骤S5;
步骤S5,初始化当前坐标点;
步骤S6,偏移当前坐标点:为当前界面组件坐标点增加偏移量;
步骤S7,使用当前坐标点和界面组件的默认尺寸,作为界面组件的建议位置。
上述方法中,在对多个界面组件进行排版时,能够为新添加的界面组件生成建议位置的算法,其中向画布中添加新的界面组件时,计算画布可见区域与画布内容区域的差值,用界面组件的默认尺寸按从左到右,从上到下的顺序来尝试放入差值区域中,只要差值区域能容纳指定尺寸的界面组件,则生成新增界面组件的建议位置。基于上述特性,使得本发明能有效简化用户添加界面组件时的操作步骤,有助于用户快速排版界面组件。
本实施例中,所述画布包括用于摆放多个界面组件的二维坐标区域,画布的左上角为二维坐标的原点,x轴向右为正数,y轴向下为正数。所述画布可见区域为画布中用户当前可见的区域。所述画布内容区域为画布中已有的多个界面组件的合集。
作为一种优选方式,所述步骤S6中,为当前界面组件坐标点增加偏移量(20,20)。进一步地,为当前界面组件坐标点增加偏移量时,若当前界面组件坐标点的x或y值超出操作系统屏幕的最大宽或高,则重置x或y为20。
本发明方法在实际应用过程中,可参考如下实施例:
步骤1、计算画布内容区域(workspace_content_rect);
步骤2、计算画布可见区域与画布内容区域的差值,取右侧的差值区域(top_right_delta_rect)与下侧的差值区域(bottom_delta_rect);
步骤3、如果界面组件的默认size能被右侧的差值区域(top_right_delta_rect)容纳,返回建议位置的坐标点为右侧的差值区域(top_right_delta_rect)的坐标点point(top_right_delta_rect.x,top_right_delta_rect.y),大小为界面组件的默认size(w,h),建议位置的矩形区域记为rect(top_right_delta_rect.x,top_right_delta_rect.y,size.w,size.h),否则执行步骤4;
步骤4、如果界面组件的默认size能被下侧的差值区域(bottom_delta_rect)容纳,则返回建议位置的坐标点为下侧的差值区域(bottom_delta_rect)的坐标点point(bottom_delta_rect.x,bottom_delta_rect.y),大小为界面组件的默认size(w,h),建议位置的矩形区域记为rect(bottom_delta_rect.x,bottom_delta_rect.y,size.w,size.h),否则执行步骤5;
步骤5、初始化当前坐标点为current_point(0,0);
步骤6、偏移当前坐标点:当前界面组件坐标点current_point增加偏移量offset_point(20,20),如果current_point的x或y超出操作系统的屏幕的最大宽或高,重置x或y为20;
步骤7、使用当前坐标点point,及新添加界面组件的默认宽高size,作为建议位置rect;
步骤8、再次添加界面组件时,重复步骤6~7获取建议位置。
本发明相比现有技术而言的有益效果在于,通过优化多个界面组件的默认宽高值,可以提高建议位置算法输出结果的可接受度。在满足界面组件内容能正常展示的情况下,按以下规则来设置界面组件的默认值:所有类型的两两界面组件之间,默认宽高值尽可能是整数倍的关系;内容相关度较大的界面组件,宽高值优先考虑用偶数倍的关系来约束。基于上述过程,使得本发明能简化用户添加界面组件操作步骤,辅助用户快速排版界面组件,获得较好的用户预期的界面组件排版效果。
以上所述只是本发明较佳的实施例,并不用于限制本发明,凡在本发明的技术范围内所做的修改、等同替换或者改进等,均应包含在本发明所保护的范围内。

Claims (2)

1.一种向画布添加二维界面组件时的建议位置生成方法,其特征在于,包括有如下步骤:步骤S1,计算画布内容区域;步骤S2,计算画布可见区域与画布内容区域的差值,获取右侧的差值区域与下侧的差值区域;步骤S3,判断界面组件的默认尺寸是否能被右侧的差值区域容纳,若是,则返回建议位置的坐标点为右侧的差值区域的坐标点,大小为界面组件的默认尺寸,若否,则执行步骤S4;步骤S4,判断界面组件的默认尺寸是否能被下侧的差值区域容纳,若是,则返回建议位置的坐标点为下侧的差值区域的坐标点,大小为界面组件的默认尺寸,若否,则执行步骤S5;步骤S5,初始化当前坐标点为(0,0);步骤S6,偏移当前坐标点:为当前界面组件坐标点增加偏移量(20,20);步骤S7,使用当前坐标点和界面组件的默认尺寸,作为界面组件的建议位置,所述画布可见区域为画布中用户当前可见的区域,所述画布内容区域为画布中已有的多个界面组件的合集;所有类型的两两界面组件之间,其宽高值均为整数倍的关系;内容相关度大于预设值的界面组件,其宽高值通过偶数倍的关系来约束。
2.如权利要求1所述的向画布添加二维界面组件时的建议位置生成方法,其特征在于,所述画布包括用于摆放多个界面组件的二维坐标区域,画布的左上角为二维坐标的原点,x轴向右为正数,y轴向下为正数。
CN201711395284.9A 2017-12-21 2017-12-21 一种向画布添加二维界面组件时的建议位置生成方法 Active CN108121541B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201711395284.9A CN108121541B (zh) 2017-12-21 2017-12-21 一种向画布添加二维界面组件时的建议位置生成方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201711395284.9A CN108121541B (zh) 2017-12-21 2017-12-21 一种向画布添加二维界面组件时的建议位置生成方法

Publications (2)

Publication Number Publication Date
CN108121541A CN108121541A (zh) 2018-06-05
CN108121541B true CN108121541B (zh) 2021-03-19

Family

ID=62230937

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201711395284.9A Active CN108121541B (zh) 2017-12-21 2017-12-21 一种向画布添加二维界面组件时的建议位置生成方法

Country Status (1)

Country Link
CN (1) CN108121541B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109918014B (zh) * 2019-03-15 2022-10-04 努比亚技术有限公司 页面显示方法、可穿戴设备及计算机可读存储介质
CN111651161B (zh) * 2020-07-16 2023-04-18 深圳市易鸿达软件开发有限公司 图形化界面构建方法、装置、计算机设备及存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103049493A (zh) * 2012-12-07 2013-04-17 北京百度网讯科技有限公司 用于确定目标页面元素的呈现位置的方法、装置与设备
CN103942314A (zh) * 2014-04-22 2014-07-23 重庆市科学技术研究院 一种html文件图文混排显示方法
CN106547560A (zh) * 2016-11-01 2017-03-29 福建星网锐捷通讯股份有限公司 基于安卓系统的文本与其它组件混排方法及装置

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7278098B1 (en) * 1997-04-09 2007-10-02 Adobe Systems Incorporated Method and apparatus for implementing web pages having smart tables

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103049493A (zh) * 2012-12-07 2013-04-17 北京百度网讯科技有限公司 用于确定目标页面元素的呈现位置的方法、装置与设备
CN103942314A (zh) * 2014-04-22 2014-07-23 重庆市科学技术研究院 一种html文件图文混排显示方法
CN106547560A (zh) * 2016-11-01 2017-03-29 福建星网锐捷通讯股份有限公司 基于安卓系统的文本与其它组件混排方法及装置

Also Published As

Publication number Publication date
CN108121541A (zh) 2018-06-05

Similar Documents

Publication Publication Date Title
US9076219B2 (en) Space segmentation method for 3D point clouds
KR20180013982A (ko) 이미지 프로세싱 방법 및 장치
CN108121541B (zh) 一种向画布添加二维界面组件时的建议位置生成方法
CN107330438A (zh) 一种图像轮廓线描述符的获取方法、装置
CN110675471B (zh) 节点连线的生成方法、装置、设备及存储介质
JP2020531931A (ja) 画像処理方法および装置、記憶媒体、コンピュータ装置
CN109767479B (zh) 一种基于动态边界组序列的图元填充方法和系统
CN106846390A (zh) 一种图像处理的方法及装置
CN110598333B (zh) 光源位置的确定方法、装置及电子设备
CN116384356B (zh) Ofd文件的表格行创建方法、装置、设备及介质
CN104318538A (zh) 一种二维序列帧图片拼接成大图片的方法及其所用的装置
CN107122104B (zh) 数据显示方法及装置
CN110126458A (zh) 一种pcb丝印自动调整方法、装置及存储介质
CN105955947B (zh) 基于排版模板的照片自动排版方法
CN105068984B (zh) 一种自动拼图排版方法
JP6377743B2 (ja) 中間文字ライブラリを構築する方法及び装置
JP6874987B2 (ja) 地物形状抽出装置、地物形状抽出方法、及びプログラム
CN102339469B (zh) 图像处理方法和装置
CN110368693B (zh) 一种基于多四叉树的mmo游戏元素裁减方法及其装置
CN106558019B (zh) 图片排列方法及装置
CN110675384B (zh) 图像处理方法及装置
CN114972702A (zh) 一种工业图像目标检测图像训练集的采样方法和存储介质
CN110009082B (zh) 三维码的优化方法、介质、计算机设备及装置
CN114741188A (zh) 图形元素处理方法、装置、电子设备及存储介质
CN104376530B (zh) 一种图像二次多级缩略切割处理方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant