CN110134933B - 数据处理方法、装置、终端及存储介质 - Google Patents

数据处理方法、装置、终端及存储介质 Download PDF

Info

Publication number
CN110134933B
CN110134933B CN201910418027.5A CN201910418027A CN110134933B CN 110134933 B CN110134933 B CN 110134933B CN 201910418027 A CN201910418027 A CN 201910418027A CN 110134933 B CN110134933 B CN 110134933B
Authority
CN
China
Prior art keywords
space
typesetting
tag data
available
residual
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
CN201910418027.5A
Other languages
English (en)
Other versions
CN110134933A (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.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen 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 Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN201910418027.5A priority Critical patent/CN110134933B/zh
Publication of CN110134933A publication Critical patent/CN110134933A/zh
Application granted granted Critical
Publication of CN110134933B publication Critical patent/CN110134933B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/189Automatic justification

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Document Processing Apparatus (AREA)

Abstract

本发明实施例公开了一种数据处理方法、装置、终端及存储介质,其中方法包括:从排版空间中获取可用排版空间,排版空间包括占用空间及可用排版空间,占用空间包括预占位区域,可用排版空间包括至少一个剩余空间;从可用排版空间中获取第一剩余空间,并从待排版的标签数据集合中获取第一标签数据,第一剩余空间为可用排版空间包括的至少一个剩余空间中的任意一个;将第一标签数据摆放在第一剩余空间中;根据第一标签数据在可用排版空间中的占用位置,对可用排版空间进行去交集处理;对去交集处理后的可用排版空间进行合并处理。采用本发明实施例可以提高标签排版效率。

Description

数据处理方法、装置、终端及存储介质
技术领域
本发明实施例涉及互联网技术领域,具体涉及标签排版领域,尤其涉及一种数据处理方法、装置、终端及存储介质。
背景技术
标签排版是指将有限的数目、类型不确定的标签数据以一种合适的方式摆放在一个预设的排版空间内且各个标签数据之间互不重叠。标签排版方式可包括填满式排版和非填满式排版,所述非填满式排版是指将待排版标签排版在排版空间内之后,排版空间还存在较多未被摆放标签数据的空白空间;所述填满式排版是指将待排版标签排版在排版空间内之后,排版空间内无空白空间或者空白空间较少。为了达到美观的排版效果,填满式排版成为标签排版领域中主流的标签排版方式。
在进行填满式排版时,常用的标签排版方法可以是:在排版空间内随机生成一个坐标;若标签数据按照该坐标所指示的位置进行摆放后与排版空间内已摆放的其他标签数据无交集,则摆放;若有交集,则继续生成其他坐标或对标签数据进行缩小处理,重复上述过程直至排版空间被填满。可见,这种排版方法在排版过程中是不断的盲目随机查找能够摆放标签数据的位置,这样,随着标签数据的放入,随机找到的位置与已摆放的其他标签数据产生交集的概率不断提高,计算量增大,降低了排版效率。
发明内容
本发明实施例提供了一种数据处理方法、装置、终端及存储介质,在可用排版空间内选择第一剩余空间以摆放标签数据,避免与其他已摆放标签数据产生交集,并可以在每执行一次标签数据摆放之后更好的对可用排版空间进行更新,以使其更方便下一次的标签摆放,提高标签排版效率。
一方面,本发明实施例提供了一种数据处理方法,所述数据处理方法包括:
从排版空间中获取可用排版空间,所述排版空间包括占用空间及所述可用排版空间,所述占用空间包括预占位区域,所述可用排版空间包括至少一个剩余空间;
从所述可用排版空间中获取第一剩余空间,并从待排版的标签数据集合中获取第一标签数据,所述第一剩余空间为所述可用排版空间包括的所述至少一个剩余空间中的任意一个;
将所述第一标签数据摆放在所述第一剩余空间中;
根据所述第一标签数据在所述可用排版空间中的占用位置,对所述可用排版空间进行去交集处理;
对去交集处理后的可用排版空间进行合并处理。
另一方面,本发明实施例提供了一种数据处理装置,所述数据处理装置包括:
获取单元,用于从排版空间中获取可用排版空间,所述排版空间包括占用空间及所述可用排版空间,所述占用空间包括预占位区域,所述可用排版空间包括至少一个剩余空间;
获取单元,还用于从所述可用排版空间中获取第一剩余空间,并从待排版的标签数据集合中获取第一标签数据,所述第一剩余空间为所述可用排版空间包括的所述至少一个剩余空间中的任意一个;
处理单元,用于将所述第一标签数据摆放在所述第一剩余空间中;
所述处理单元,还用于根据所述第一标签数据在所述可用排版空间中的占用位置,对所述可用排版空间进行去交集处理;
所述处理单元,还用于对去交集处理后的可用排版空间进行合并处理。
再一方面,本发明实施例提供了一种终端,所述终端包括输入设备和输出设备,所述终端还包括:
处理器,适于实现一条或多条指令;以及,
计算机存储介质,所述计算机存储介质存储有一条或多条指令,所述一条或多条指令适于由所述处理器加载并执行如下步骤:
从排版空间中获取可用排版空间,所述排版空间包括占用空间及所述可用排版空间,所述占用空间包括预占位区域,所述可用排版空间包括至少一个剩余空间;
从所述可用排版空间中获取第一剩余空间,并从待排版的标签数据集合中获取第一标签数据,所述第一剩余空间为所述可用排版空间包括的所述至少一个剩余空间中的任意一个;
将所述第一标签数据摆放在所述第一剩余空间中;
根据所述第一标签数据在所述可用排版空间中的占用位置,对所述可用排版空间进行去交集处理;
对去交集处理后的可用排版空间进行合并处理。
再一方面,本发明实施例提供了一种计算机存储介质,所述计算机存储介质存储有一条或多条指令,所述一条或多条指令适于由处理器加载并执行如下步骤:
从排版空间中获取可用排版空间,所述排版空间包括占用空间及所述可用排版空间,所述占用空间包括预占位区域,所述可用排版空间包括至少一个剩余空间;
从所述可用排版空间中获取第一剩余空间,并从待排版的标签数据集合中获取第一标签数据,所述第一剩余空间为所述可用排版空间包括的所述至少一个剩余空间中的任意一个;
将所述第一标签数据摆放在所述第一剩余空间中;
根据所述第一标签数据在所述可用排版空间中的占用位置,对所述可用排版空间进行去交集处理;
对去交集处理后的可用排版空间进行合并处理。
本发明实施例在对标签数据集合中的标签数据进行排版时,首先从排版空间中获取可用排版空间,再从所述可用排版空间中获取第一剩余空间以及从待排版的标签数据集合中获取第一标签数据;将第一标签数据摆放在所述第一剩余空间中,所述可用排版空间是指排版空间中去除占用空间的空间,所述占用空间是指排版空间中被占用掉的空间,在所述可用排版空间中摆放第一标签数据时无需考虑占用空间对第一标签数据摆放的影响,减少排版过程中的计算量,从而可节省功耗开销;另外,本发明实施例在可用排版空间中摆放第一标签数据之后,根据所述第一标签数据在所述可用排版空间中的占用位置,对所述排版空间进行去交集处理,再对去交集处理后的排版空间进行合并处理,以实现从可用排版空间中删除已被占用的位置,对可用排版空间进行更新,消除了第一标签数据排版对下次标签数据排版的影响,使得对各个标签数据进行排版的操作是相互独立的,提高排版效率。
附图说明
为了更清楚地说明本发明实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1a是本发明实施例提供的一种确定动作空间的示意图;
图1b是本发明实施例提供的另一种确定动作空间的示意图;
图1c是本发明实施例提供的一种占角离心排版的示意图;
图1d是本发明实施例提供的一种占角离心排版的效果图;
图2a是本发明实施例提供的一种确定可用排版空间的示意图;
图2b是本发明实施例提供的另一种确定可用排版空间的示意图;
图2c是本发明实施例提供的又一种确定可用排版空间的示意图;
图2d是本发明实施例提供的又一种确定可用排版空间的示意图;
图2e是本发明实施例提供的又一种确定可用排版空间的示意图;
图2f是本发明实施例提供的又一种确定可用排版空间的示意图;
图3是本发明实施例提供的一种去交集处理的示意图;
图4a是本发明实施例提供的一种合并处理的示意图;
图4b是本发明实施例提供的另一种合并处理的示意图;
图4c是本发明实施例提供的又一种合并处理的示意图;
图4d是本发明实施例提供的又一种合并处理的示意图;
图5是本发明实施例提供的一种数据处理方法的流程示意图;
图6是本发明实施例提供的一种去交集和合并处理的示意图;
图7是本发明提供的另一种数据处理方法流程示意图;
图8a是本发明提供的一种异常排版处理的示意图;
图8b是本发明提供的另一种异常排版处理的示意图;
图8c是本发明提供的又一种异常排版处理的示意图;
图9是本发明实施例提供的一种可预占位的标签排版的示意图;
图10a是本发明实施例提供的一种用户界面的示意图;
图10b是本发明实施例提供的另一种用户界面的示意图;
图10c是本发明实施例提供的一种坦白说分享图片的示意图;
图11是本发明实施例提供的一种数据处理装置的结构示意图;
图12是本发明实施例提供的一种终端的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。
在对标签排版的研究中发现,为了解决在排版空间内随机查找摆放位置引起的排版效率低的问题,可以引入可用排版空间的理论。所述可用排版空间是指在排版空间去除占用空间后的空间,在可用排版空间内对标签数据进行排版时,无需考虑占用空间的影响,可减少排版过程中产生的计算量,从而可提高排版效率。
在一个实施例中,可以将可用排版空间理论应用在占角离心排版算法中,并结合动作空间理论,提出一种新的标签排版方案:随着排版空间中标签数据的放入,已摆放的标签数据的某些角点会暴露在排版空间的空白区域中;将预设数量个角点组成一个新的区域,如果该新的区域与排版空间中已摆放标签数据的区域无交集,则将该新的区域确定为一个动作空间;在对每个标签数据在排版空间中进行排版之后,按照上述方法找到所有动作空间,这些动作空间组成了可用排版空间。
例如,参考图1a为本发明实施例提供的一种占角离心排版的示意图,在图1a中,假设矩形ABCD为排版空间,a-h表示已摆放的标签数据,每个已摆放的标签数据可以看作是一个矩形,矩形的四顶点为标签数据的角点。例如,已摆放的标签数据e,包括的四个顶点1,2,3,4即为标签数据e的四个角点。由图1a可知,在标签数据e的四个角点中角点1与排版空间的顶点A重合,因此该角点没有暴露在排版空间的空白区域;角点2与排版空间的AB边相交,角点3与排版空间的AD边相交,因此,角点2和角点3均未暴露在空白区域;角点4与排版空间的边和顶点均无交集,所以角点4为暴露在排版空间的空白区域中的角点。按照上述方法,可以分别确定出除e以外其他标签数据的在空白区域中的角点。比如,标签数据h的角点5为暴露在空白区域的角点,标签数据g的角点6和角点7为暴露在空白区域中的角点。确定了各个已摆放的标签数据暴露在空白区域中的角点后,通过预设数量的角点确定一个动作空间,所述预设数量可以为3,4或其他任意数,例如,角点4、角点5、角点6和角点7组成了动作空间1。同理的,可以得到如图1b所示的动作空间2,按照上述方法可以确定出所有动作空间。
在确定出所有动作空间之后,所有动作空间组成了可用排版空间,在对下一个标签数据i进行排版时,可以从所有动作空间中随机选择一个动作空间来摆放标签数据i,并且根据占角离心算法的原理按照贴边摆放以产生更少角点为原则在选择出的动作空间中摆放标签数据i,假设在图1c中选择动作空间2摆放标签数据i。重复上述过程,直至排版空间全部排满,最后标签排版的排版结果可图1d所示。
经实践发现,占角离心算法虽然可以解决在排版空间内随机查找摆放位置引起的排版效率低的问题,但是随着标签的放入,产生的角点不断增多,查找动作空间的耗时也会逐渐增加,也会导致排版效率低。另外,为了填满排版空间,该种方法很容易使得某些标签数据过小,影响美观,如图1d中所示中101所示。
再一个实施例中,可以将可用排版空间理论和去交集理论、合并理论相结合,提出一种数据处理方法以应用于标签排版领域中,具体地:从排版空间中获取可用排版空间,所述排版空间包括占用空间及所述可用排版空间,所述占用空间包括预占位区域,所述可用排版空间包括至少一个剩余空间;从所述可用排版空间中获取第一剩余空间,并从待排版的标签数据集合中获取第一标签数据,所述第一剩余空间为所述至少一个剩余空间中的任意一个;将所述第一标签数据摆放在所述第一剩余空间中;根据所述第一标签数据在所述可用排版空间中的占用位置,对所述可用排版空间进行去交集处理;对去交集处理后的可用排版空间进行合并处理,以实现从可用排版空间中删除已被使用的位置,对可用排版空间进行更新,消除了第一标签数据排版对下次标签数据排版的影响,使得各个标签数据的排版是相互独立的,从而可提高排版效率。
在以下测试环境中将上述数据处理方法应用在标签排版场景中,以测试排版耗时:排版空间为宽和高均为500像素的二维矩形,标签数据集合中包括10个长度短不一的文字标签,其中,所述文字标签包括的字数多少表示文字标签的长度,文字标签包括的字数越多,该文字标签的长度越长;文字标签包括的字数越少,该文字标签的长度越短。经测试,采用上述数据处理方法进行标签排版耗时大约为1-2毫秒;对比来说,在相同的测试环境下采用占角离心算法进行标签排版需要5-6毫秒。可见,与占角离心算法相比,采用上述数据处理方法进行标签排版耗时较少,排版效率较高,因此,本发明实施例下面将重点具体介绍本发明实施例提供的数据处理方法。
由前述可知,本发明实施例所述的数据处理方法是基于可用排版空间理论、去交集理论和合并理论提出的,下面分别介绍三种理论:
①可用排版空间,可用排版空间是指排版空间中去除占用空间后的空间,所述占用空间是指排版空间中已经被占用掉的区域,所述占用空间中可包括预占位区域。可选的,可用排版空间至少一个剩余空间。假设排版空间为一个二维矩形空间B,排版空间中占用空间为A,占用空间A在排版空间B中所处的位置不同,可用排版空间也不同,可用排版空间包括的剩余空间的数量也不相同,下面具体介绍占用空间A在排版空间B中处于不同位置时,如何确定可用排版空间及其包括的剩余空间。需要说明的是,在下面的描述中为了方便标签数据的摆放,按照剩余空间的空间面积尽可能大的确定原则确定可用排版空间包括的剩余空间:
(1)A与B完全重合,也即占用空间等于排版空间,此时B内无可用排版空间;如图2a所示,A与B大小相同,将A放置在B中,B内无可用排版空间;
(2)A与B有三条边重合,存在可用排版空间,且按照前述的确定原则可确定所述可用排版空间包括一个剩余空间;例如,图2b中假设A的边CJ、CF和FG分别与B的边CD、CF以及FE有重合,从B除去A可得到可用排版空间JDEG,按照前述原则确定可用排版空间包括一个剩余空间JDEG。可以理解的,对于A与B有三条边重合的其他可能情况,采用相同的方法可确定出可用排版空间及其包括的剩余空间;
(3)A与B有两条边重合,存在可用排版空间,按照前述的确定原则可确定所述可用排版空间包括两个剩余空间。其中,A与B有两条边重合可以包括两种情况,第一种是:A的两条相邻边与B的两条相邻边重合如图2c所示,A的两条相邻边CJ和CI分别与B的两条相邻边CD和CF重合,从B除去A得到的可用排版空间为IFEDJL,所述可用排版空间可包括两个剩余空间JDEG和IHEF;第二种是:A的两条相对边与B的两条相对边重合如图2d所示,A的两条相对边IJ和HW分别与B的两条相对边CF和DE重合,从B中除去A得到的可用排版空间为矩形CDHI+LWEF,所述可用排版空间可包括两个剩余空间CDHI和LWEF。可以理解的,对于A与B有两条边重合的其他可能情况,采用上述两种相同的方法确定剩余空间;
(4)A与B有一条重合,存在可用排版空间,根据前述的确定原则可确定所述可用排版空间包括三个剩余空间;例如,图2e中假设A的边KJ与B的边CD重合,从B中除去A得到的可用排版空间为QKCFEDJW,所述可用排版空间可包括剩余空间CKMF、JDEG和IHEF;
(5)A与B没有边重合,存在可用排版空间,按照前述的规则所述可用排版空间可包括四个剩余空间;例如,图2f中假设A与B没有边重合,从B中除去A得到可用排版空间中包括的剩余空间为CDHI、KDEM、NOEF和CJGF。
②去交集:由前述可知,所述可用排版空间中可包括至少一个剩余空间,由于是按照剩余空间的面积尽可能大的确定原则确定得到可用排版空间中包括的各个剩余空间的,因此各个剩余空间之间并非独立的,是有重叠部分的。这样,当在某个剩余空间中摆放了标签数据之后,标签数据在该剩余空间中的占用位置可能与其他剩余空间之间有交集,此时需要对各个剩余空间进行去交集处理。所述去交集处理是指:获取标签数据在可用排版空间中的占用位置与可用排版空间中包括的各个剩余空间之间的重叠部分,在各个剩余空间中删除相应的重叠部分。
例如,参考图3为本发明实施例提供的一种去交集处理的示意图,在图3中假设矩形NBCH表示排版空间,a表示占用空间,a与NBCH有两条邻边重合,根据①中提到的可用排版空间及其包括的剩余空间的确定方法,可确定可用排版空间可包括两个剩余空间ABCD和EMHC;假设b表示待排版的标签数据,假设将标签数据b按照图3中方式摆放在剩余空间EMCH中,标签数据b在EMCH中的占用位置表示为矩形NFGH;由图3可知,矩形NFGH与剩余空间ABCD和EMCH都存在交集,与EMCH的交集为矩形NFGH,与ABCD的交集为IFGD。在图3中去交集处理可以为:在剩余空间ABCD中删除IFGD,在剩余空间EMCH删除矩形NFGH,去交集后的可用排版空间如图3中所示的多边形ABCGFNEL。
③合并:在去交集处理后,将去交集后的各个剩余空间按照上述的确定原则划分成一些子排版空间,为了方便后续的标签数据摆放,对各个剩余空间的子排版空间进行合并处理,以得到新的剩余空间。对各个剩余空间的子排版空间进行合并处理时遵循的原则为:合并后不产生空间增量;可选的,满足所述原则的合并处理的方法可包括以下三种:(1)将各个剩余空间中存在包含关系的子排版空间合并为一个剩余空间,如图4a中所示,假设子排版空间401和子排版空间402分别为两个剩余空间中的子排版空间,401与402之间存在包含关系,401和402可以合并为一个剩余空间;(2)子排版空间为矩形,将边有接触上下对齐的子排版空间合并为一个剩余空间,如图4b中所示,子排版空间401与子排版空间402的边有接触,且401与402上下对齐也即高度相同,401和402可以合并为一个剩余空间;(3)子排版空间为矩形,将边有接触左右对齐的子排版空间合并为一个剩余空间,如图4c所示,子排版空间401与子排版空间402边有接触且401与4020左右对齐,401和402可以合并为一个剩余空间。
例如,基于图3中的去交集处理,对剩余空间ABCD去交集处理后,按照①提到的确定剩余空间的方法将去交集处理后的ABCD中划分出子排版空间ABWI和ZBCG如图4d所示;对剩余空间EMCH去交集处理后,按照①提到的确定剩余空间的方法将去交集处理后的EMCH划分出子排版空间EMWN和KMCG如图4d所示。由图4d可知,子排版空间KMCG与子排版空间ZBCG之间是包含关系,将两个子排版空间进行合并处理,合并后得到一个剩余空间ZBCG。其他子排版之间两两之间无合并,所以其他各个子排版空间单独作为一个剩余空间,将合并处理后得到的剩余空间ZBCG、EMWN和ABWI作为可用排版空间。
基于上述可用排版空间理论、去交集和合并理论,本发明实施例提出的数据处理方法可以用于标签排版领域中,以保证各个标签数据进行排版的操作相互独立的,提高排版效率。具体地,所述数据处理方法可以由终端执行,具体地可有终端的处理器执行,所述终端可包括但不限于:智能终端、平板电脑、膝上计算机、台式电脑,等等。参见图5,该数据处理方法可包括以下步骤S501-S505:
S501、从排版空间中获取可用排版空间。
S502、从可用排版空间中获取第一剩余空间,并从待排版的标签数据集合中获取第一标签数据。
其中,在S501中所述排版空间是用于对待排版标签数据和预占位标签进行排版的空间,所述排版空间可包括占用空间及所述可用排版空间,所述占用空间是指排版空间中已经被占用掉的空间。在一个实施例中,所述从排版空间中获取可用排版空间的实施方式可以为:将排版空间中去除所述占用空间后的空间确定为可用排版空间。例如,在图2c中假设A表示占用空间,B表示排版空间,可用排版空间为从B中去除A后的区域,表示为多边形JDEFI;再如,在图2e中可用排版空间为从B中去除A后的区域,表示为WJDEFCKO。
在一个实施例中,所述可用排版空间中可包括至少一个剩余空间,所述第一剩余空间为所述至少一个剩余空间中的任意一个,例如,在图2c中可用排版空间包括的剩余空间可为:矩形JDEG和矩形IHEF,第一剩余空间可以为JDEG,或者也可以为IHEF;再如,在图2e中可用排版空间包括的剩余空间为:矩形CKMF、矩形JDEG和矩形IHEF,第一剩余空间为矩形CKMF、矩形JDEG和矩形IHEF中的任意一个。
在一个实施例中,所述占用空间中可包括预占位区域;所述预占位区域中包括预占位标签,所述预占位标签可以指终端或者用户指定的、优先摆放在排版空间中的标签,所述预占位标签可以是预设形状的图形,比如矩形、圆形,三角形等。可选的,所述预占位标签在排版空间中的排版方法将在后面详细描述。
在其他实施例中,所述占用空间中还包括已摆放标签数据的区域,其中,所述已摆放标签数据的区域是指排版空间被标签数据占用掉的区域。对于初次标签排版来说,排版空间中不存在被标签数据占用掉的区域,此时已摆放标签数据的区域为0;随着标签排版的进行,逐渐有标签数据被排版到排版空间中,此时在每次对一个标签数据排版之后,可以根据此次排版的标签数据在排版空间中的占用位置更新已摆放标签数据的区域。
在S502中所述待排版的标签数据集合中包括多个待排版的标签数据,可选的,标签数据按照其内容不同可以分为文字标签和图像标签两种标签类型,所述待排版的标签数据集合中可包括文字标签和图像标签中的任意一种或两种。所述文字标签可以指:一句用来描述一件事或一个人的2到16个字(字数可以随意设置,此处只是举例说明)的中文短语,英文单词或者英文短语,比如:“拥有洪荒之力”、“浸在书海中的学霸”、“体育课代表”、“修电脑达人”、“a pretty girl”等;所述图像标签可以指一张用来描述一个人或一件事的图像,比如用户的QQ头像、微信头像以及游戏画面等。
在一个实施例中,采用本发明实施例提供的数据处理方法进行标签排版时需要遵循以下原则:预先设定排版空间且所述排版空间固定不变;排版空间包括占用空间,所述占用空间可包括预占位区域(相当于排版空间可预先排版了预占位标签),并且排版空间需要被填满;文字标签设置有最小字号和最大字号(也即文字标签设置有预设字号范围),且保证排版结束后的排版结果中文字标签有明显的大小字号的区别;每个文字标签可以重复摆放,且各个文字标签被摆放的次数尽量接近;排版具有一定的随机性,以实现采用本数据处理方法重复进行标签排版时得到的排版结果有差异,达到排版结果动态变化的效果。
基于上述的原则,在标签排版之前需要对排版空间和标签数据集合中的各个标签数据进行初始化处理。对于排版空间的初始化处理是指:设定排版空间的尺寸,例如,排版空间为二维矩形,对排版空间的初始化处理可以指设定排版空间的宽度和高度。对于标签集合中的各个标签数据的初始化处理可以指:为文字标签设置预设字号范围、预设摆放姿态以及每种摆放姿态下标签数据的宽高比;其中,所述预设摆放姿态可包括以几行显示、以几列显示。可选的,所述预设摆放姿态与文字标签包括的字数有关,若字数为奇数,所述预设摆放姿态可包括单行、单列;若字数为偶数,所述预设摆放姿态可包括单行、单列、两行、两列;为图像标签设置预设尺寸范围、预设分辨率等等。
S503、将所述第一标签数据摆放在所述第一剩余空间中。
在一个实施例中,所述将第一标签数据摆放在所述第一剩余空间中可行的实施方式可包括:在第一剩余空间中生成摆放坐标;将第一标签数据摆放在摆放坐标所指示的位置处。由于第一剩余空间与排放空间内已摆放标签数据的区域无交集,因此在摆放坐标所指示的位置处摆放第一标签数据,与其他已摆放的标签数据有交集的概率较小,减少了排版过程中的计算量,节省排版时间,从而可提高排版效率。
再一个实施例中,所述将第一标签数据摆放在所述第一剩余空间中可行的实施方式还可包括:按照占角离心的原则,将第一标签数据摆放在第一剩余空间内。应当理解的,按照占角离心的原则在第一剩余空间内摆放第一标签数据,可以保证在摆放第一标签数据之后的可用排版空间为较为完整的空间,有利于后续对可用排版空间进行去交集处理和合并处理,减少去交集处理和合并处理时的计算量,从而提高了排版效率。
S504、根据所述第一标签数据在所述可用排版空间中的占用位置,对所述可用排版空间进行去交集处理。
其中,所述第一标签数据在所述可用排版空间中的占用位置是指将第一标签数据摆放在可用排版空间中所需的摆放空间。由前述可知,可用排版空间中可包括多个剩余空间,根据所述第一标签数据在所述可用排版空间中的占用位置,对所述可用排版空间进行去交集处理可以指:将所述第一标签数据在所述可用排版空间中的占用位置与各个剩余空间做交集,得到各个剩余空间与所述占用位置的重叠区域;从各个剩余空间中删除相应的重叠区域。
具体地,以可用排版空间包括的第一剩余空间和第二剩余空间为例,上述根据所述第一标签数据在所述可用排版空间中的占用位置,对所述可用排版空间进行去交集处理,可包括:获取所述第一标签数据在所述可用排版空间中的占用位置与所述第一剩余空间的第一重叠区域及与第二剩余空间的第二重叠区域;从所述第一剩余空间中删除所述第一重叠区域,以及从所述第二剩余空间中删除所述第二重叠区域。
S505、对去交集处理后的可用排版空间进行合并处理。
由前述可知,去交集处理后的可用排版空间中包括的每个剩余空间均被分割为多个零碎的空间,所述对可用排版空间进行合并处理可以指:根据每个剩余空间中零碎的空间,按照前述的保证空间面积尽可能大的确定原则对每个剩余空间进行划分得到多个子排版空间;然后将各个剩余空间的子排版空间之间进行合并处理。具体地,以可用排版空间中包括的第一剩余空间和第二剩余空间为例,所述对去交集处理后的可用排版空间进行合并处理,可包括:对删除第一重叠区域后的第一剩余空间进行划分得到多个第一子排版空间;对删除第二重叠区域后的第二剩余空间进行划分,得到多个第二子排版空间;从所述多个第一子排版空间中确定目标第一子排版空间,从所述多个第二子排版空间中确定目标第二子排版空间,并将所述目标第一子排版空间和所述目标第二子排版空间合并为一个剩余空间。其中,所述目标第一子排版空间可以为多个第一子排版空间中的任意一个,所述目标第二子排版空间可以为多个第二子排版空间中的任意一个,且所述目标第一子排版空间和所述第二目标子排版空间之间满足合并条件。
在一个实施例中,所述满足合并条件可以指所述目标第一子排版空间与所述目标第二子排版空间之间为包含关系。例如在图4a,假设401表示目标第一子排版空间,402表示目标第二子排版空间,402包括在401内,此种情况下401和402之间满足合并条件。
再一个实施例中,如果目标第一子排版空间和目标第二子排版空间均为矩形,所述满足合并条件可以指组成所述目标第一子排版空间的第一条边与组成所述目标第二子排版空间的第二条边全部重合,且所述第一条边与所述第二条边的长度相同。换句话说,如果目标第一子排版空间与目标第二子排版空间的边之间有接触且左右对齐,则可认为目标第一子排版空间与目标第二子排版空间之间满足合并条件。其中,所述第一条边为组成目标第一子排版空间的多条边中的任意一条,所述第二条边为组成目标第二子排版空间的多条边中的任意一条。例如在图4c中,假设401表示目标第一子排版空间,402表示目标第二子排版空间,组成401的第一条边AB与组成402的第二条边CD全部重合,且AB与CD的长度相同,此种情况下401与402之间满足合并条件。
又一个实施例中,所述满足合并条件还可以指所述第一条边与所述第二条边部分重合,且所述第一条边的相邻边与所述第二条边的相邻边的长度相同。换句话说,如果目标第一子排版空间与目标第二子排版空间的边有接触且上下对齐,则可认为目标第一子排版空间与目标第二子排版空间之间满足合并条件。例如,在图4b中假设401表示目标第一子排版空间,402表示目标第二子排版空间,组成401的第一条边EF与组成402的第二条边GH部分重合,重合部分为FG,且EF的相邻边FL与GH的相邻边GW的长度相同,此种情况下401与402之间满足合并条件。
下面通过图6举例说明S504和S505。参考图6,为本发明实施例提供的一种去交集处理以及合并处理的示意图,在图6中,假设ABCD表示初始化处理后的排版空间,标签数据a表示占用空间。由前述可知,可用排版空间为FEBCDI,其包括剩余空间IGCD和EBCH;从待排版标签集合中获取到第一标签数据,并从可用排版空间中确定出第一剩余空间,假设确定出的第一剩余空间为IGCD。将第一标签数据摆放在第一剩余空间IGCD中;由图6可知,第一标签数据在可用排版空间中的占用位置为MLWD;用MLWD分别与第一剩余空间IGCD和剩余空间EBCH做去交集处理,去交集处理后的第一剩余空间表示为多边形IGCWLM,去交集处理后的第二剩余空间表示为多边形EBCWLFQ;对去交集处理后的第一剩余空间进行划分得到的多个第一子排版空间可包括矩形IGOM和矩形ZGCW;对去交集处理后的第二剩余空间进行划分得到的多个第二子排版空间可包括矩形KBCW和矩形EBOF;采用前述的合并理论,对多个第一子排版空间和多个第二子排版空间进行合并处理可以为:由于第二子排版空间KBCW和第一子排版空间ZGCW存在包含关系,将KBCW和ZGCW合并为一个可用排版空间包括的排版空间表示为KBCW。
在一个实施例中,对去交集处理后的可用排版空间进行合并处理后,可显示用户界面,所述用户界面中可包括合并处理后的可用排版空间和已摆放的第一标签数据。
在一个实施例中,由前述可知,S501的实施方式可以为将排版空间中去除占用空间的空间确定可用排版空间,因此在执行S501之前,需先确定出占用空间。另外,由于在初始标签数据的排版时,占用空间中只包括预占位区域,所述预占位区域中包括预占位标签,预占位标签是优先排版在排版空间中的,因此,为了确定占用空间,需要将预占位标签排版在排版空间中,然后根据预占位标签在排版空间中的占用位置确定预占位区域,进而根据预占位区域确定占用空间。具体地,在执行步骤S501之前,还包括:获取预占位标签;将所述预占位标签摆放在所述排版空间中;根据所述预占位标签在所述排版空间中的占用位置确定预占位区域;根据所述预占位区域确定占用空间,并将所述排版空间去除所述占用空间后的空间确定为可用排版空间。
在一个实施例中,所述预占位标签的数量可以为0个或至少一个。当预占位标签的数量为0个时,预占位区域为0,所以在初始标签数据排版时,占用空间也为0,此种情况下排版空间即为可用排版空间。在下面的描述中,以预占位标签的数量为至少一个为例。
在一个实施例中,假设至少一个预占位标签组成了预占位标签集合,将所述预占位标签摆放在所述排版空间中,可包括:从排版空间中选择第一目标剩余空间,并从所述预占位标签集合中选择第一预占位标签;将所述第一预占位标签摆放在所述第一目标剩余空间中;根据所述第一预占位标签在所述排版空间中的占用位置,对所述排版空间进行去交集处理;对去交集处理后的排版空间进行合并处理,得到更新后的排版空间。其中,第一目标剩余空间是排版空间中包括的能够摆放下第一预占位标签的任意一个剩余空间,第一预占位标签为预占位标签集合中的任意一个。通过上述步骤,完成了对第一预占位标签的摆放,每次摆放一个预占位标签之后,通过去交集和合并处理对排版空间进行更新,以便于在更新后的排版空间中对下一个预占位标签进行排版。
可选的,在更新后的排版空间中对下一个预占位标签进行排版的实施方式可包括:从更新后的排版空间中选择第二目标剩余空间,并从所述预占位标签集合中选择第二预占位标签;如果第二预占位标签获取成功,则将所述第二预占位标签摆放在所述第二目标剩余空间中;根据所述第二预占位标签在所述更新后的排版空间中的占用位置,对更新后的排版空间进行去交集处理;对去交集处理后的更新后的排版空间进行合并处理以再次对更新后的排版空间进行更新。其中,第二目标剩余空间是更新后的排版空间中包括的能够摆放下第二预占位标签的任意一个剩余空间。
在一个实施例中,所述第二预占位标签获取成功表明预占位标签集合中还存在未被摆放的预占位标签,此时需要继续进行预占位标签的摆放;如果所述第二预占位标签获取失败表明预占位标签集合中所有预占位标签均被摆放,也即预占位标签排版完成,此时便可根据各个预占位标签在排版空间中的占用位置确定预占位区域,进而确定占用空间和可用排版空间。
本发明实施例在对标签数据集合中的标签数据进行排版时,首先从排版空间中获取可用排版空间,并从可用排版空间中获取第一剩余空间以及从待排版的标签数据集合中获取第一标签数据;将第一标签数据摆放在所述第一剩余空间中,所述可用排版空间是指排版空间中去除占用空间后的空间,所述占用空间是被占用掉的空间,在所述可用排版空间中摆放第一标签数据无需考虑占用空间对第一标签数据摆放的影响,减少排版过程中的计算量,从而可节省功耗开销;在可用排版空间中摆放第一标签数据之后,根据所述第一标签数据在所述可用排版空间中的占用位置,对所述排版空间进行去交集处理,再对去交集处理后的排版空间进行合并处理,以实现从可用排版空间中删除已被使用的位置,对可用排版空间进行更新,消除了第一标签数据排版对下次标签数据排版的影响,使得对各个标签数据进行排版的操作是相互独立的,提高排版效率。
基于图5所述的数据处理方法,本发明实施例提供了另一种数据处理方法的流程示意图,参考图7所示。该数据处理方法可以由终端执行;此处的终端可包括但不限于:智能终端、平板电脑、膝上计算机、台式电脑,等等。请参见图7,该数据处理方法可包括以下步骤S701-S7011:
步骤S701、从排版空间中获取可用排版空间。
步骤S702、从可用排版空间中获取第一剩余空间,并从待排版的标签数据集合中获取第一标签数据。
在一个实施例中,步骤S701-S702中包括的可行的实施方式可参见图5实施例中相关步骤的描述,在此不再赘述。
步骤S703、判断所述第一标签数据与所述第一剩余空间之间的关系是否满足摆放条件。
其中,所述第一标签数据与所述第一剩余空间之间满足摆放条件可以指为所述第一标签数据设置的预设字号范围内存在与所述第一剩余空间匹配的目标字号,其中,当以所述目标字号在所述第一剩余空间内摆放所述第一标签数据时,所述第一标签数据的摆放姿态属于为所述第一标签数据设置的预设摆放姿态。换句话说,当第一标签数据的字号为所述目标字号时,可以将所述第一标签数据以预设摆放姿态摆放在所述第一剩余空间内。
在一个实施例中,判断所述第一标签数据与所述第一剩余空间之间是否满足摆放条件的实施方式可以为:获取为所述第一标签数据设置的预设字号范围;根据所述预设字号范围内的最大字号对所述第一标签数据的当前字号进行初始化,例如将所述最大字号的90%-100%确定为第一标签数据的当前字号;然后获取为所述第一标签数据设置的预设摆放姿态;尝试按照所述第一标签数据的当前字号,是否以预设摆放姿态可以将所述第一标签数据摆放在所述第一剩余空间内;如果不可以,则减小所述当前字号得到更新后的当前字号,例如可以将当前字号减小90%或者其他比例;重新尝试按照第一标签数据的更新后的当前字号,是否以预设摆放姿态可以将所述第一标签数据摆放在所述第一剩余空间内:如果可以,则确定第一标签数据与所述第一剩余空间之间满足摆放条件,更新后的当前字号可确定为目标字号;如果不可以,则继续执行上述步骤,如果直到当前字号等于预设字号范围内的最小字号,还是不能以预设摆放姿态将第一标签数据摆放在第一剩余空间内,表明第一标签数据与第一剩余空间之间不满足摆放条件。
举例来说,假设为第一标签数据设置的预设字号范围为24-80像素,为所述第一标签数据设置的预设摆放姿态包括单行和单列;按照上述的实施方式,如果第一标签数据能够以字号为60、摆放姿态为单行或者单列摆放在第一剩余空间中,则确定第一标签数据和第一剩余空间之间关系满足摆放条件;如果第一标签数据的字号为24-80之间的任意一个,都不能以单行或单列中的任意一个的摆放形式成功摆放在第一剩余空间中,则确定第一标签数据和第一剩余空间之间的关系不满足摆放条件。
步骤S704、若所述第一标签数据与所述第一剩余空间之间的关系满足所述摆放条件,则将所述第一标签数据摆放在所述第一剩余空间。
如果第一标签数据与第一剩余空间之间的关系满足摆放条件,则将第一标签数据摆放在第一剩余空间中,然后执行步骤S705和步骤S706;如果第一标签数据与第一剩余空间之间的关系不满足摆放条件,则执行步骤S707。
步骤S705、根据所述第一标签数据在所述可用排版空间中的占用位置,对所述可用排版空间进行去交集处理。
步骤S706、对去交集处理后的可用排版空间进行合并处理。
在一个实施例中,步骤S705和步骤S706包括的一些可行的实施方式可参见图5所述的实施例中相关步骤的描述,在此不再赘述。
步骤S707、若所述第一标签数据与所述第一剩余空间之间的关系不满足所述摆放条件,则从所述标签数据集合中获取第二标签数据。
如果第一标签数据与第一剩余空间之间的关系不满足摆放条件,表明该第一标签数据不适合摆放在第一剩余空间中,则可重新从标签数据集合中获取第二标签数据,继续尝试是否第二标签数据能够摆放在第一剩余空间中。
在一个实施例中,终端可以是按照标签数据集合中包括的各个标签数据对应的排版优先级进行获取标签数据。具体地,终端可以依次获取排版优先级最高的标签数据;或者,终端设置排版优先级阈值,当需要获取标签数据时选择排版优先级满足排版优先级阈值的标签数据。由前述可知,为了达到美观的标签排版效果,需要遵循标签数据中各个标签数据被排版在排版空间中次数尽量接近,终端可以根据各个标签数据被摆放的次数、是否可竖排摆放、是否为短标签等条件中的任意一个或多个为各个标签数据设置排版优先级,并随着排版次数的增多,更新各个标签数据对应的排版优先级,其中,所述短标签是针对文字标签而言,如果一个文字标签的字数满足短标签字数阈值范围,则该文字标签为短标签,所述短标签字数阈值范围可以是终端设置的,例如短标签字数阈值范围可以为2-5,2-7或者其他范围。
在一个实施例中,所述终端根据各个标签数据被摆放的次数、是否可竖排摆放、是否为短标签等条件中的任意一个或多个为各个标签数据设置排版优先级的实施方式可以为:设置既支持竖排摆放又支持横排摆放的标签数据的排版优先级高于仅支持横排摆放的标签数据;设置短标签数据的排版优先级高于长标签数据的排版优先级;设置已被摆放次数较少的标签数据的排版优先级高于以已被摆放次数较多的标签数据的排版优先级。其中,长标签数据是针对文字标签而言,所述长标签数据是指包括的字数满足长标签字数阈值范围的文字标签,所述长标签字数阈值范围可以是终端设置的,例如长标签字数阈值可以为10-13,12-16或者其他范围。
步骤S708、若第二标签数据获取成功,且当所述第二标签数据与所述第一剩余空间之间的关系满足摆放条件时,则将所述第二标签数据摆放在所述第一剩余空间。
所述第二标签数据获取成功是指:标签数据集合中还包括未被尝试过在第一子排版空间中进行排版的标签数据。如果第二标签数据获取成功,则进一步判断是否第二标签数据能够摆放在第一剩余空间中,具体地,判断第二标签数据与第一剩余空间之间的关系是否满足摆放条件:如果满足,则第二标签数据能够摆放在第一剩余空间中,将第二标签数据摆放在第一剩余空间中;如果不满足,则表明第二标签数据不能摆放在第一剩余空间中。其中,判断所述第二标签数据与所述第一剩余空间之间的关系是否满足摆放条件的实施方式与判断所述第一标签数据与所述第一剩余空间之间的关系是否满足摆放条件的实施方式相同,具体描述可参见前述,在此不再赘述。
步骤S709、若所述第二标签数据获取失败,则从所述可用排版空间中获取第二剩余空间。
所述第二标签数据获取失败是指:标签数据集合中所有标签数据均被尝试过在第一剩余空间中进行排版且均失败,换句话说,标签数据集合中每个标签数据都不能摆放在第一剩余空间中,此时终端可在可用排版空间中获取第二剩余空间,在第二剩余空间中进行标签排版。
步骤S7010、若所述第二剩余空间获取成功,且当所述第一标签数据与所述第二剩余空间之间的关系满足摆放条件时,则将所述第一标签数据摆放在所述第二剩余空间。
在一个实施例中,所述确定所述第一标签数据与所述第二剩余空间之间的关系是否满足摆放条件的实施方式与前述判断所述的第一标签数据与所述第一剩余空间之间的关系是否满足摆放条件的实施方式相同,具体描述可参见前述。
步骤S7011、若第二剩余空间获取失败,则对所述第一标签数据进行异常排版处理。
所述第二剩余空间获取成功是指:可用排版空间中还存在未被尝试过排版的剩余空间,如果第一标签数据与第二剩余空间之间的关系满足摆放条件,则将第一标签数据摆放在所述第二剩余空间中。
所述第二剩余空间获取失败是指:可用排版空间中包括除所述第一剩余空间的其他空间均被已完成排版,此时第一剩余空间属于可用排版空间中残留的剩余空间无法摆放标签数据,出现这种现象可能是由于标签数据的数量和长度的不确定性,和/或文字标签有最小字体和最大字体的限制造成的。为了使得排版空间全部被填满,在出现此种现象时需要对第一标签数据进行异常排版处理。
在一个实施例中,所述对第一标签数据进行异常排版处理,可包括:分析所述第一标签数据与所述第一剩余空间之间的关系不满足摆放条件的异常原因;采用与所述异常原因对应的异常处理策略对所述第一标签数据进行处理。
在一个实施例中,所述异常原因可能包括第一剩余空间小于所述第一标签数据的最小摆放空间,对于文字标签来说,第一标签数据的最小摆放空间是指将第一标签数据的字体设置为最小字体时第一标签数据所需的摆放空间,对于图像标签来说,第一标签数据的最小摆放空间是指将第一标签数据设置为最小尺寸时第一标签数据所需要的摆放空间。可选的,在该种异常原因下,所述采用与所述异常原因对应的异常处理策略对所述第一标签数据进行异常排版处理,包括:对所述第一标签数据进行缩减处理,所述缩减处理后的第一标签数据的最小摆放空间小于或等于所述第一剩余空间;将缩减处理后的第一标签数据摆放在所述第一剩余空间。其中,所述对第一标签数据进行缩减处理是指:如果第一标签数据为文字标签,则减小为第一标签数据设置的最小字号,例如可以将为第一标签数据设置的最小字号下降1/2;如果第一标签数据为图像标签,则减小为图像标签设置的最小尺寸。
例如,参考图8a为本发明实施例提供的一种异常排版处理的示意图,假设在图8a中第一标签数据为“女神”,第一剩余空间为801,假设为第一标签数据设置的最小字号为24像素,802表示第一标签数据的最小摆放空间,可见,第一标签数据的最小摆放空间大于第一剩余空间,此时异常排版处理可以为:将第一标签数据的最小字号设置为12像素或者其他像素以使得第一标签数据的最小摆放空间小于或等于第一剩余空间,这样便可将第一标签数据摆放在第一剩余空间内。如果将第一标签数据对应的最小字号减小为12像素后,第一标签数据与第一剩余空间之间的关系仍不满足摆放条件,则可继续减小第一标签数据对应的最小字号,直至第一标签数据对应的最小字号小于最小字号阈值。其中,所述最小字号阈值可以是终端或者用户设置的。
再一个实施例中,如果第一标签数据为文字标签,异常原因可以为所述第一标签数据为长标签且所述第一标签数据的字数为奇数,则所述采用与所述异常原因对应的异常处理策略对所述第一标签数据进行异常排版处理,包括:在所述第一剩余空间内摆放至少三个所述第一标签数据。此种异常可以理解为:第一剩余空间中摆放一个长标签数据会有剩余,摆放三个长标签可将被填满;此时恰好,第一标签数据的字数为奇数个,只能单行或单列显示,所以导致第一标签数据和第一剩余空间之间的关系不满足摆放条件。针对这种异常,可以通过在第一剩余空间摆放多个第一标签数据解决。例如,参考图8b,为本发明实施例提供的另一种异常排版处理的示意图,第一标签数据为“快请看吧这是一个十五个字的标签”,可见,第一标签数据为一个长标签且字数为奇数个,第一剩余空间如图8b中804所示,显然的,在804中如果摆放第一标签数据,第一剩余空间还有剩余;此时通过在第一剩余空间中摆放三个第一标签数据便可将第一剩余空间填满,如图8b所示。
又一个实施例中,如果异常原因包括所述第一剩余空间的面积小于空间面积阈值,则所述采用与所述异常原因对应的异常处理策略对所述第一标签数据进行异常排版处理,包括:将所述第一剩余空间与相邻的已摆放标签数据的区域进行合并处理;停止对所述第一标签数据的排版。此种异常可以理解为:在标签数据的排版过程中,由于摆放的随机性,以及标签数据的数量、长度的限制等原因,有概率会出现尺寸较小的残留碎片空间,这次残留碎片空间无法摆放标签数据,针对这种情况,可以将所述第一剩余空间与相邻的已摆放标签数据的区域进行合并处理。
可选的,将第一剩余空间与相邻的已摆放标签数据的区域进行合并处理可指:将相邻的已摆放标签数据的区域与第一剩余空间进行合并,通过调整已摆放标签数据的占用位置以使已摆放标签数据将合并的空间填满。如果已摆放标签数据为文字标签,可以通过调整已摆放标签数据包括的文字之间的间距或者字体的字号来调整占用位置;如果已摆放标签数据为图像标签,可以通过调整已摆放标签数据的尺寸来调整占用位置。例如,参考图8c为本发明实施例提供的又一种异常排版处理的示意图,在图8c中,805为第一剩余空间,假设第一剩余空间的面积小于空间面积阈值,此时异常排版处理可以为:将图8c中与第一剩余空间相邻的已摆放标签数据的区域806与805进行合并,并可通过增大806中已摆放标签数据的字体以使得806与805合并后的排版空间尽可能的被填满。
基于图5和图7所述的方法实施例,本发明实施例还提供了一种可预占位的标签排版方法,参见图9为本发明实施例提供的标签排版方法的流程图,具体的标签排版方法可包括如下步骤:
S11:初始化排版空间、标签数据集合和预占位标签集合;
假设排版空间为二维矩形空间,对排版空间进行初始化可以为:设置二维矩形空间的宽和高比如为500像素*500像素。对于预占位标签集合中各个预占位标签的初始化可以指确定预占位标签的数量、大小、或者分辨率中的任意一个或多个;在本发明实施例中,假设标签数据集合中包括的各个标签数据为文本标签,对于标签数据集合中的标签数据的初始化可以为标签数据设置预先字号范围、预设摆放姿态;需要说明的是,考虑到英文不是方块字换行不容易,可设置英文的标签数据的预设摆放姿态为单行显示。
S12:如果预占位标签集合不为空,则从预占位标签集合中选择预占位标签R,所述预占位标签R为各个预占位标签中的任意一个;从排版空间中选择可以放置R的第一目标剩余空间E;将R放置在E中,可以从预占位标签集合中删除R以避免R被重复摆放;以R对排版空间中的各个剩余空间进行去交集处理,具体地:当排版空间中的某个剩余空间与R产生交集时,从该剩余空间中删除与R的交集部分。通过上述去交集运算步骤,可以得到排版空间中去交集处理后的各个剩余空间,在对各个剩余空间中进行划分得到各个剩余空间对应的子排版空间,最后将各个剩余空间对应的子排版空间之间进行合并处理,实现对排版空间进行更新。
重复执行步骤S12,直到预占位标签集合为空,根据各个预占位标签在排版空间中的占用位置确定预占位区域,从而确定排版空间的占用空间和可用排版空间。
S13:从可用排版空间中获取第一剩余空间,并对可用排版空间中包括的各个剩余空间,按照面积大优先、宽度大优先的原则进行排序;
S14:对标签数据集合中包括的标签数据依次按照被摆放次数少优先、可以竖排优先、短标签优先进行排序;
S15:从步骤S13排序后位于前三个的剩余空间中选择一个剩余空间作为本次剩余空间E1;
S16:顺序从步骤S14排序后的标签数据集合中获取第一标签数据T作为本次排版的标签数据,随机初始化T的字号例如设置T的字号为最大字号的90%-100%;
S17:测试T是否能以多种预设摆放姿放置到E1中。如果成功,则执行S18;如果失败,则将T的字号缩小0.9倍重试,直到达到最小字体。如果达到最小字体也失败则执行步骤S15取下一标签数据(相当于图7中所述步骤S707)。如果所有标签数据均失败,则执行步骤S14顺序取可用排版空间中的其他剩余空间(相当于图7中所述步骤S709)。如果所有可用排版空间中的剩余空间均失败,则执行S19进行异常排版处理(相当于图7中所述步骤S7011)。
S18:将T摆放在E1中,优先摆放在E1外侧方边上,为了美观的排版效果,如果E1的剩余宽度和高度小于T的最小字号,通过放大T的字号或者通过增加T包括的文字之间的间距方式占满宽度或高度,得到T在可用排版空间中的占用位置R1。以R1对可用排版空间中各个剩余空间进行去交集处理:当可用排版空间中的某个剩余空间与R1产生交集,则将该剩余空间中删除与R1的交集部分;通过上述去交集运算步骤,可以得到可用排版空间中去交集处理后的各个剩余空间,进一步的,对各个剩余空间进行划分得到各个剩余空间的子排版空间,最后将各个剩余空间的子排版空间之间进行合并处理,直到各个子排版两两之间不能合并,实现对可用排版空间进行更新。
重复执行步骤S13-S18,直至可用排版空间中不存在剩余空间则结束。
S19:异常排版处理,由于标签数据的数量和长短的不确定性,标签数据的字体有最大最小限制,以及在上述排版过程为随机排版,有概率会出现残留碎片剩余空间无法摆放标签的问题,也即出现异常排版问题,此时需要进行异常排版处理。如果由于可用排版空间中剩余空间的宽度或高度小于标签数据的最小字号无法摆放,则将标签数据的最小字号下降为原最小字号一半,进行重试;如果由于标签数据为长标签且字数为奇数,只能单行显示,导致剩余空间无法利用,则允许三行三列摆放进行重试。如果经过上述两种情况的异常排版优化后,仍残留部分剩余空间不能摆放标签数据,表明该部分剩余空间的面积小于能够摆放标签数据的剩余空间的空间面积阈值,此时通过将该部分剩余空间合并到已摆放标签的区域上的方式消除该部分剩余空间,合并后采用将标签数据的文字间距加大方式达到排版美观效果。
经过上述异常排版处理后,仍有低概率会出现极少数剩余空间无法合并的情况,如果该剩余空间的面积满足空间丢弃条件,则此时将该部分剩余空间丢弃不处理,不影响排版美观;如果该剩余空间的面积不满足空间丢弃条件,则多次尝试上述排版过程,从多次排版结果中取较好的作为本次可预占位标签排版的排版结果。
基于图9所示的可预占位的标签排版方法可以应用在各种可预占位的标签排版的应用场景中,下面以应用在QQ坦白说分享的应用场景中为例,通过图10a-图10c具体介绍上述可预占位标签排版方法。
终端上可运行QQ应用程序,用户通过终端访问QQ应用程序,QQ应用程序中包括坦白说功能,所述坦白说功能可以位于联系人菜单或者位于动态菜单,用户可在联系人菜单中或者动态菜单中输入关于启动坦白说功能的请求操作,所述请求操作可以指用户对坦白说选项进行点击、按压、滑动等操作;响应于用户输入的请求操作,显示坦白说对应的用户界面如图10a所示;用户可以通过图10a所示的用户界面中为好友设置坦白说,也可以查看自己收到的坦白说。如果用户在图10a所示的用户界面中输入了关于查看自己收到的坦白说的查看操作,响应于用户输入的查看操作时,显示用户收到的坦白说界面可如图10b所示,在用户收到坦白说界面中可包括信息显示界面和信息分享界面,在信息显示界面中可显示多条坦白说,坦白说可以以文字标签形式表现,每一个文字标签代表一条坦白说,所述信息显示界面中还可以显示添加各个坦白说的时间以及添加各个坦白说的用户信息等,用户可以通过信息显示界面查看到自己收到的坦白说;在信息分享界面,如果用户想把自己收到的坦白说分享给其他用户,则可以在信息分享界面中输入关于收到的坦白说的分享操作,可选的,信息分享界面中可包括分享我的坦白说选项,用户输入的分享操作可以时:点击所述分享我的坦白说选项。
响应于用户的分享操作,终端会生成分享图片以供用户通过将所述分享图片发送给其他用户的方式实现坦白说分享。终端生成的分享图片中包括坦白说显示区域和其他区域,坦白说显示区域可以为一个二维的矩形区域,该二维矩形中包括的内容应该满足:包括用户对应的QQ头像、用户收到的所有坦白说,并且各个坦白说出现的次数和摆放的位置是随机的、坦白说中文字有最小字号和最大字号的限制、矩形区域需要被填满。由此可知,终端生成坦白说显示区域的过程可以理解为可预占位的标签排版过程,其中,用户的QQ头像为预占位标签,用户收到的坦白说为标签数据,排版空间为尺寸等于所述坦白说显示区域大小的二维矩形空间。
由前述可知,在对坦白说排版之前,首对排版空间和各个坦白说进行初始化处理,具体的初始化处理可参见前述,在此不再赘述。在进行坦白说排版时,终端获取用户对应的QQ头像;从排版空间中选择一个合适的剩余空间来摆放QQ头像,假设QQ头像在排版空间中的占用位置为R,以R对排版空间中的各个剩余空间进行去交集处理:再对去交集处理后的排版空间进行合并处理,以得到更新后的排版空间。所述更新后的排版空间包括占用空间和可用排版空间,所述占用空间包括预占位区域,所述预占位区域是指用于摆放预占位标签的区域。
通过上述步骤完成了用户对应的QQ头像排版,下面对用户收到的坦白说进行排版。将从排版空间中获取可用排版空间,并将可用排版空间中包括的各个剩余空间,按照面积大优先、宽度大优先的原则进行排序;对标签数据集合中包括的标签数据即各个坦白说依次按照被摆放次数少优先、可以竖排优先、短标签优先等进行排序;从排序后位于前三个的剩余空间中选择一个剩余空间作为本次排版的剩余空间E;从排序后的坦白说中顺序选取坦白说T。如果坦白说T可以放置在本次选择的剩余空间E中则将T摆放在E中。为了美观的排版效果,优先摆放在E外侧方边上;如果E的剩余宽度和高度小于T的最小字号,通过放大T的字体或者增加T中包括的文字间距的方式占满宽度或高度,得到T在可用排版空间中的占用位置R。通过占用位置R对可用排版空间中各个剩余空间进行去交集处理,当可用排版空间中的某个剩余空间与R产生交集,则从该剩余空间中删除与R的交集部分;通过上述去交集运算步骤,可以得到可用排版空间中去交集处理后的各个剩余空间,再对去交集处理后的各个剩余空间进行划分,得到各个剩余空间对应的子排版空间,最后将各个剩余空间对应的子排版空间之间进行合并处理,直到各个子排版两两之间不能合并,实现对可用排版空间进行更新,以便于下一次坦白说的排版。
如果坦白说T不能放置在本次选择的剩余空间E中,则依次从排序后的坦白说中选择坦白说进行重试,如果所有的坦白说都不能摆放在剩余空间E中,则从可用排版空间中重新选择剩余空间进行尝试,如果所有剩余空间均不能摆放坦白说,则进行异常排版处理。所述异常排版处理可以包括将为坦白说设置的最小字号下降到原来的一半;或者,允许字数为奇数个的坦白说进行三行三列显示;或者,将较小的剩余空间与其他相邻的已摆放标签数据的区域进行合并等。
重复上述对坦白说的排版过程,直到无剩余空间,得到可预占位的标签排版,然后根据预占位的标签排版生成分享图片,可如图10c所示。
本发明实施例中,从排版空间中获取可用排版空间,并从所述可用排版空间中获取第一剩余空间,以及获取待排版数据中的第一标签数据;在第一标签数据与第一剩余空间之间的关系满足摆放条件的情况下,将第一标签数据摆放在第一剩余空间中。应当理解的,可用排版空间是指与排版空间中去除占用空间的空间,所述占用空间中包括预占位区域和已摆放标签数据的区域,在可用排版空间的第一剩余空间中摆放第一标签数据,可以避免其他已摆放标签数据对本次标签数据排版的影响,减少排版计算量,提高排版效率。另外,将第一标签数据摆放在第一剩余空间中之后,根据第一标签数据在可用排版空间中的占用位置对可用排版空间进行去交集处理,进一步的,对去交集处理后的可用排版空间进行合并处理以对可用排版空间进行更新,在每次标签排版步骤结束之后都对可用排版空间进行更新,以消除本次标签的摆放对下一次标签排版的影响,方便下一次标签排版,提高标签排版的效率。
在对第一标签数据的排版过程中,如果第一标签数据与第一剩余空间之间的关系不满足摆放条件,从标签数据集合中获取第二标签数据进行重新尝试;如果获取第二标签数据成功,且当第二标签数据与第一剩余空间之间的关系满足摆放条件时,将第二标签数据摆放在第一剩余空间中;如果获取第二标签数据失败,则从可用排版空间中获取第二剩余空间,再次进行排版,如果获取第二标签数据成功,且当第一标签数据与第二标签数据之间的关系满足摆放条件时将第一标签数据摆放在第二剩余空间中;如果获取第二标签数据失败,表明第一剩余空间为可用排版标签中剩下的最后的剩余空间,为了满足排版空间被填满的要求,需要对第一标签数据和第一剩余空间进行异常排版处理,通过上述排版过程,可以达到美观的排版效果。
基于上述数据处理方法实施例的描述,本发明实施例还公开了一种数据处理装置,所述数据处理装置可以执行图5和图7所示的方法。请参见图11,所述数据处理装置可运行如下单元:
获取单元1101,用于从排版空间中获取可用排版空间,所述排版空间包括占用空间以及所述可用排版空间,所述占用空间包括预占位区域,所述可用排版空间包括至少一个剩余空间;
所述获取单元1101,还用于从所述可用排版空间中获取第一剩余空间,并从待排版的标签数据集合中获取第一标签数据,所述第一剩余空间为所述可用排版空间包括的至少一个剩余空间中的任意一个;
处理单元1102,用于将所述第一标签数据摆放在所述第一剩余空间中;
所述处理单元1102,还用于根据所述第一标签数据在所述可用排版空间中的占用位置,对所述可用排版空间进行去交集处理;
所述处理单元1102,还用于对去交集处理后的可用排版空间进行合并处理。
在一个实施例中,所述获取单元1101,还用于获取预占位标签;所述处理单元1102,还用于将所述预占位标签摆放在所述排版空间中;所述处理单元1102,还用于根据所述预占位标签在所述排版空间中的占用位置确定预占位区域;所述处理单元1102,还用于根据所述预占位区域确定占用空间,并将所述排版空间中去除所述占用空间后的空间确定为可用排版空间。
在一个实施例中,所述处理单元1102还用于:若所述第一标签数据与所述第一剩余空间之间的关系满足所述摆放条件,则将所述第一标签数据摆放在所述第一剩余空间中。
在一个实施例中,所述标签数据为文字标签,所述方法还包括:所述第一标签数据与所述第一剩余空间之间的关系满足摆放条件是指为所述第一标签数据设置的预设字号范围内存在与所述第一剩余空间匹配的目标字号,其中,当以所述目标字号在所述第一剩余空间内摆放所述第一标签数据时,所述第一标签数据在所述第一剩余空间内的摆放姿态属于为所述第一标签数据设置的预设摆放姿态。
在一个实施例中,所述处理单元1102还用于:若所述第一标签数据与所述第一剩余空间之间的关系不满足所述摆放条件,则从所述标签数据集合中获取第二标签数据;若第二标签数据获取成功,且当所述第二标签数据与所述第一剩余空间之间的关系满足所述摆放条件时,将所述第二标签数据摆放在所述第一剩余空间中。
在一个实施例中,所述处理单元1102还用于:若所述第二标签数据获取失败,则从所述可用排版空间中获取第二剩余空间;若所述第二剩余空间获取成功,且当所述第一标签数据与所述第二剩余空间之间的关系满足所述摆放条件时,将所述第一标签数据摆放在所述第二剩余空间中。
在一个实施例中,所述处理单元1102还用于:若第二剩余空间获取失败,则对所述第一标签数据进行异常排版处理。
在一个实施例中,所述处理单元1102在对所述第一标签数据进行异常排版处理时,执行如下操作:分析所述第一标签数据与所述第一剩余空间之间的关系不满足所述摆放条件的异常原因;采用与所述异常原因对应的异常处理策略对所述第一标签数据进行处理。
在一个实施例中,所述异常原因包括所述第一剩余空间小于所述第一标签数据的最小摆放空间,则所述处理单元1102在采用与所述异常原因对应的异常处理策略对所述第一标签数据进行异常排版处理时,执行如下操作:对所述第一标签数据进行缩减处理,所述缩减处理后的第一标签数据的最小摆放空间小于或等于所述第一剩余空间;将缩减处理后的第一标签数据摆放在所述第一剩余空间。
在一个实施例中,所述处理单元1102在对所述第一标签数据进行缩减处理时,执行如下操作:若所述第一标签数据为文字标签,则减小为所述第一标签数据设置的最小字号;若所述第一标签数据为图像标签,则减小为所述第一标签数据设置的最小尺寸。
在一个实施例中,所述第一标签数据为文字标签,所述异常原因包括所述第一标签数据为长标签且所述第一标签数据的字数为奇数,则所述处理单元1102在采用与所述异常原因对应的异常处理策略对所述第一标签数据进行异常排版处理时,执行如下操作:在所述第一剩余空间内摆放至少三个所述第一标签数据。
在一个实施例中,所述异常原因包括所述第一剩余空间的面积小于空间面积阈值,则所述处理单元1102在采用与所述异常原因对应的异常处理策略对所述第一标签数据进行异常排版处理时,执行如下操作:将所述第一剩余空间与相邻的已摆放标签数据的区域进行合并处理;停止对所述第一标签数据的排版。
在一个实施例中,可用排版空间中包括第一剩余空间和第二剩余空间,所述处理单元1102在根据所述第一标签数据在所述可用排版空间中的占用位置,对所述可用排版空间进行去交集处理时,执行如下操作:获取所述第一标签数据在所述可用排版空间中的占用位置与所述第一剩余空间的第一重叠区域及与所述第二剩余空间的第二重叠区域;从所述第一剩余空间中删除所述第一重叠区域,以及从所述第二剩余空间中删除所述第二重叠区域。
在一个实施例中,所述处理单元1102在对去交集处理后的可用排版空间进行合并处理时,执行如下操作:对删除所述第一重叠区域后的第一剩余空间进行划分得到多个第一子排版空间;对删除所述第二重叠区域后的第二剩余空间进行划分得到多个第二子排版空间;从所述多个第一子排版空间中确定目标第一子排版空间,从所述多个第二子排版空间中确定目标第二子排版空间,并将所述目标第一子排版空间和所述目标第二子排版空间合并为一个剩余空间;其中,所述目标第一子排版空间和所述目标第二子排版空间之间满足合并条件。
在一个实施例中,所述数据处理装置还包括显示单元1103,所述显示单元1103用于显示用户界面,所述用户界面中包括合并处理后可用排版空间和已摆放的第一标签数据。
根据本发明的一个实施例,图5或图7所示的方法所涉及的各个步骤均可以是由图11所示的数据处理装置中的各个单元来执行的。例如,图5所示的步骤S501-S502可由图11中所示的获取单元1101来执行,步骤S503-S505所示的步骤可由图11中所示的处理单元1102来执行;又如,图7中所示的步骤S701和S702可由图11中所示的获取单元1101来执行,步骤S703-S7011可由图11中处理单元1102来执行。
根据本发明的另一个实施例,图11所示的数据处理装置中的各个单元可以分别或全部合并为一个或若干个另外的单元来构成,或者其中的某个(些)单元还可以再拆分为功能上更小的多个单元来构成,这可以实现同样的操作,而不影响本发明的实施例的技术效果的实现。上述单元是基于逻辑功能划分的,在实际应用中,一个单元的功能也可以由多个单元来实现,或者多个单元的功能由一个单元实现。在本发明的其它实施例中,基于数据处理装置也可以包括其它单元,在实际应用中,这些功能也可以由其它单元协助实现,并且可以由多个单元协作实现。
根据本发明的另一个实施例,可以通过在包括中央处理单元(CPU)、随机存取存储介质(RAM)、只读存储介质(ROM)等处理元件和存储元件的例如计算机的通用计算设备上运行能够执行如图5或图7中所示的相应方法所涉及的各步骤的计算机程序(包括程序代码),来构造如图11中所示的数据处理装置设备,以及来实现本发明实施例的数据处理方法。所述计算机程序可以记载于例如计算机可读记录介质上,并通过计算机可读记录介质装载于上述计算设备中,并在其中运行。
本发明实施例在对标签数据集合中的标签数据进行排版时,首先从排版空间中获取可用排版空间,并获取可用排版空间中的第一剩余空间以及从待排版的标签数据集合中获取第一标签数据;将第一标签数据摆放在所述第一剩余空间中,所述可用排版空间是指排版空间中与所述排版空间中已摆放标签数据的区域无交集的区域,在所述可用排版空间中摆放第一标签数据无需考虑其他已摆放的标签数据对第一标签数据摆放的影响,减少排版过程中的计算量,从而可节省功耗开销;在可用排版空间中摆放第一标签数据之后,根据所述第一标签数据在所述可用排版空间中的占用位置,对所述排版空间进行去交集处理,再对去交集处理后的排版空间进行合并处理,以实现从可用排版空间中删除已被使用的位置,对可用排版空间进行更新,消除了第一标签数据排版对下次标签数据排版的影响,使得对各个标签数据进行排版的操作是相互独立的,提高排版效率。
基于上述方法实施例以及装置实施例的描述,本发明实施例还提供一种终端。请参见图12,该终端至少包括处理器1201、输入设备1202、输出设备1203以及计算机存储介质1204。所述输出设备1202可包括显示设备,所述显示设备可用于显示用户界面。
计算机存储介质1204可以存储在终端的存储器中,所述计算机存储介质1204用于存储计算机程序,所述计算机程序包括程序指令,所述处理器1201用于执行所述计算机存储介质1204存储的程序指令。所述处理器12011或称CPU(Central Processing Unit,中央处理器))是终端的计算核心以及控制核心,其适于实现一条或多条指令,具体适于加载并执行一条或多条指令从而实现相应方法流程或相应功能;在一个实施例中,本发明实施例所述的处理器901可以用于执行:从排版空间中获取可用排版空间,所述排版空间包括占用空间及所述可用排版空间,所述占用空间包括预占位区域,所述可用排版空间包括至少一个剩余空间;从所述可用排版空间中获取第一剩余空间,并从待排版的标签数据集合中获取第一标签数据,所述第一剩余空间为所述可用排版空间包括的至少一个剩余空间中的任意一个;将所述第一标签数据摆放在所述第一剩余空间中;根据所述第一标签数据在所述可用排版空间中的占用位置,对所述可用排版空间进行去交集处理;对去交集处理后的可用排版空间进行合并处理。
本发明实施例还提供了一种计算机存储介质,所述计算机存储介质是终端中的记忆设备,用于存放程序和数据。可以理解的是,此处的计算机存储介质既可以包括终端中的内置存储介质,当然也可以包括终端所支持的扩展存储介质。计算机存储介质提供存储空间,该存储空间存储了终端的操作系统。并且,在该存储空间中还存放了适于被处理器1201加载并执行的一条或多条指令,这些指令可以是一个或多个计算机程序(包括程序代码)。需要说明的是,此处的计算机存储介质可以是高速RAM存储器,也可以是非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器;可选的还可以是至少一个位于远离前述处理器的计算机存储介质。
在一个实施例中,可由处理器1201加载并执行计算机存储介质中存放的一条或多条指令,以实现上述有关数据处理方法实施例中的相应步骤;具体实现中,计算机存储介质中的一条或多条指令由处理器1201加载并执行如下步骤:
从排版空间中获取可用排版空间,所述排版空间包括占用空间以及可用排版空间,所述占用空间包括预占位区域,所述可用排版空间包括至少一个剩余空间;从所述可用排版空间中获取第一剩余空间,并从待排版的标签数据集合中获取第一标签数据,所述第一剩余空间为所述可用排版空间包括的至少一个剩余空间中的任意一个;将所述第一标签数据摆放在所述第一剩余空间中;根据所述第一标签数据在所述可用排版空间中的占用位置,对所述可用排版空间进行去交集处理;对去交集处理后的可用排版空间进行合并处理。
在一个实施例中,计算机存储介质中的一条或多条指令由处理器1201加载还执行如下步骤:获取预占位标签;将所述预占位标签摆放在所述排版空间中;根据所述预占位标签在所述排版空间中的占用位置确定预占位区域;根据所述预占位区域确定占用空间,并将所述排版空间中去除所述占用空间后的空间确定为可用排版空间。
在一个实施例中,计算机存储介质中的一条或多条指令由处理器1201加载还执行如下步骤:若所述第一标签数据与所述第一剩余空间之间的关系满足所述摆放条件,则将所述第一标签数据摆放在所述第一剩余空间中。
在一个实施例中,标签数据为文字标签,所述方法还包括:所述第一标签数据与所述第一剩余空间之间的关系满足摆放条件是指为所述第一标签数据设置的预设字号范围内存在与所述第一剩余空间匹配的目标字号,其中,当以所述目标字号在所述第一剩余空间内摆放所述第一标签数据时,所述第一标签数据在所述第一剩余空间内的摆放姿态属于为所述第一标签数据设置的预设摆放姿态。
在一个实施例中,计算机存储介质中的一条或多条指令由处理器1201加载还执行如下步骤:若所述第一标签数据与所述第一剩余空间之间的关系不满足所述摆放条件,则从所述标签数据集合中获取第二标签数据;若第二标签数据获取成功,且当所述第二标签数据与所述第一剩余空间之间的关系满足所述摆放条件时,将所述第二标签数据摆放在所述第一剩余空间中。
在一个实施例中,计算机存储介质中的一条或多条指令由处理器1201加载还执行如下步骤:若所述第二标签数据获取失败,则从所述可用排版空间中获取第二剩余空间;若所述第二剩余空间获取成功,且当所述第一标签数据与所述第二剩余空间之间的关系满足所述摆放条件时,则将所述第一标签数据摆放在所述第二剩余空间中。
在一个实施例中,计算机存储介质中的一条或多条指令由处理器1201加载还执行如下步骤:若第二剩余空间获取失败,则对所述第一标签数据进行异常排版处理。
在一个实施例中,所述处理器1201在对所述第一标签数据进行异常排版处理时,执行如下操作:分析所述第一标签数据与所述第一剩余空间之间的关系不满足所述摆放条件的异常原因;采用与所述异常原因对应的异常处理策略对所述第一标签数据进行处理。
在一个实施例中,所述异常原因包括所述第一剩余空间小于所述第一标签数据的最小摆放空间;则所述处理器1201在采用与所述异常原因对应的异常处理策略对所述第一标签数据进行异常排版处理时,执行如下操作:对所述第一标签数据进行缩减处理,所述缩减处理后的第一标签数据的最小摆放空间小于或等于所述第一剩余空间;将缩减处理后的第一标签数据摆放在所述第一剩余空间。
在一个实施例中,所述处理器1201在对所述第一标签数据进行缩减处理时,执行如下操作:若所述第一标签数据为文字标签,则减小为所述第一标签数据设置的最小字号;若所述第一标签数据为图像标签,则减小为所述第一标签数据设置的最小尺寸。
在一个实施例中,所述第一标签数据为文字标签,所述异常原因包括所述第一标签数据为长标签且所述第一标签数据的字数为奇数,则所述处理器1201在采用与所述异常原因对应的异常处理策略对所述第一标签数据进行异常排版处理时,执行如下操作:在所述第一剩余空间内摆放至少三个所述第一标签数据。
在一个实施例中,所述异常原因包括所述第一剩余空间的面积小于空间面积阈值,则所述处理器1201在采用与所述异常原因对应的异常处理策略对所述第一标签数据进行异常排版处理时,执行如下操作:将所述第一剩余空间与相邻的已摆放标签数据的区域进行合并处理;停止对所述第一标签数据的排版。
在一个实施例中,所述可用排版空间中包括第一剩余空间和第二剩余空间,所述处理器1201在根据所述第一标签数据在所述可用排版空间中的占用位置,对所述可用排版空间进行去交集处理时,执行如下操作:获取所述第一标签数据在所述可用排版空间中的占用位置与所述第一剩余空间的第一重叠区域及与所述第二剩余空间的第二重叠区域;从所述第一剩余空间中删除所述第一重叠区域,以及从所述第二剩余空间中删除所述第二重叠区域。
在一个实施例中,所述处理器1201在对去交集处理后的可用排版空间进行合并处理时,执行如下操作:对删除所述第一重叠区域后的第一剩余空间进行划分得到多个第一子排版空间;对删除所述第二重叠区域后的第二剩余空间进行划分得到多个第二子排版空间;从所述多个第一子排版空间中确定目标第一子排版空间,从所述多个第二子排版空间中确定目标第二子排版空间,并将所述目标第一子排版空间和所述目标第二子排版空间合并为一个剩余空间;其中,所述目标第一子排版空间和所述目标第二子排版空间之间满足合并条件。
在一个实施例中,计算机存储介质中的一条或多条指令由处理器1201加载还执行如下步骤:显示用户界面,所述用户界面中包括合并处理后的可用排版空间和已摆放的第一标签数据。
以上所揭露的仅为本发明较佳实施例而已,当然不能以此来限定本发明之权利范围,因此依本发明权利要求所作的等同变化,仍属本发明所涵盖的范围。

Claims (14)

1.一种数据处理方法,其特征在于,包括:
从排版空间中获取可用排版空间,所述排版空间包括占用空间及所述可用排版空间,所述占用空间包括预占位区域,所述可用排版空间包括至少一个剩余空间;
从所述可用排版空间中获取第一剩余空间,并从待排版的标签数据集合中获取第一标签数据,所述第一剩余空间为所述可用排版空间包括的所述至少一个剩余空间中的任意一个;
若所述第一标签数据与所述第一剩余空间之间的关系不满足摆放条件,则从所述标签数据集合中获取第二标签数据;若所述第二标签数据获取失败,则从所述可用排版空间中获取第二剩余空间;若所述第二剩余空间获取失败,则分析所述第一标签数据与所述第一剩余空间之间的关系不满足所述摆放条件的异常原因;采用与所述异常原因对应的异常处理策略对所述第一标签数据进行处理,包括:若所述第一标签数据为文字标签,所述异常原因为所述第一标签数据为长标签且所述第一标签数据的字数为奇数,则在所述第一剩余空间内摆放至少三个所述第一标签数据;
若所述第一标签数据与所述第一剩余空间之间的关系满足摆放条件,则将所述第一标签数据摆放在所述第一剩余空间中;
根据所述第一标签数据在所述可用排版空间中的占用位置,对所述可用排版空间进行去交集处理;
对去交集处理后的可用排版空间进行合并处理。
2.如权利要求1所述的方法,其特征在于,所述从排版空间中获取可用排版空间之前,所述方法还包括:
获取预占位标签;
将所述预占位标签摆放在所述排版空间中;
根据所述预占位标签在所述排版空间中的占用位置确定预占位区域;
根据所述预占位区域确定占用空间,并将所述排版空间中去除所述占用空间后的空间确定为可用排版空间。
3.如权利要求1所述的方法,其特征在于,所述标签数据为文字标签,所述方法还包括:所述第一标签数据与所述第一剩余空间之间的关系满足摆放条件是指为所述第一标签数据设置的预设字号范围内存在与所述第一剩余空间匹配的目标字号,其中,当以所述目标字号在所述第一剩余空间内摆放所述第一标签数据时,所述第一标签数据在所述第一剩余空间内的摆放姿态属于为所述第一标签数据设置的预设摆放姿态。
4.如权利要求1所述的方法,其特征在于,所述方法还包括:
若所述第二标签数据获取成功,且当所述第二标签数据与所述第一剩余空间之间的关系满足摆放条件时,将所述第二标签数据摆放在所述第一剩余空间中。
5.如权利要求4所述的方法,其特征在于,所述方法还包括:
若所述第二标签数据获取失败且所述第二剩余空间获取成功,且当所述第一标签数据与所述第二剩余空间之间的关系满足摆放条件时,将所述第一标签数据摆放在所述第二剩余空间中。
6.如权利要求1所述的方法,其特征在于,所述异常原因包括所述第一剩余空间小于所述第一标签数据的最小摆放空间;则所述采用与所述异常原因对应的异常处理策略对所述第一标签数据进行处理,包括:
对所述第一标签数据进行缩减处理,所述缩减处理后的第一标签数据的最小摆放空间小于或等于所述第一剩余空间;
将缩减处理后的第一标签数据摆放在所述第一剩余空间。
7.如权利要求6所述的方法,其特征在于,所述对所述第一标签数据进行缩减处理,包括:
若所述第一标签数据为文字标签,则减小为所述第一标签数据设置的最小字号;
若所述第一标签数据为图像标签,则减小为所述第一标签数据设置的最小尺寸。
8.如权利要求1所述的方法,其特征在于,所述异常原因包括所述第一剩余空间的面积小于空间面积阈值,则所述采用与所述异常原因对应的异常处理策略对所述第一标签数据进行处理,包括:
将所述第一剩余空间与相邻的已摆放标签数据的区域进行合并处理。
9.如权利要求1所述的方法,其特征在于,所述可用排版空间中包括第一剩余空间和第二剩余空间,所述根据所述第一标签数据在所述可用排版空间中的占用位置,对所述可用排版空间进行去交集处理,包括:
获取所述第一标签数据在所述可用排版空间中的占用位置与所述第一剩余空间的第一重叠区域及与所述第二剩余空间的第二重叠区域;
从所述第一剩余空间中删除所述第一重叠区域,以及从所述第二剩余空间中删除所述第二重叠区域。
10.如权利要求9所述的方法,其特征在于,所述对去交集处理后的可用排版空间进行合并处理,包括:
对删除所述第一重叠区域后的第一剩余空间进行划分得到多个第一子排版空间;
对删除所述第二重叠区域后的第二剩余空间进行划分得到多个第二子排版空间;
从所述多个第一子排版空间中确定目标第一子排版空间,从所述多个第二子排版空间中确定目标第二子排版空间,并将所述目标第一子排版空间和所述目标第二子排版空间合并为一个剩余空间;其中,所述目标第一子排版空间和所述目标第二子排版空间之间满足合并条件。
11.如权利要求1-10任一项所述的方法,其特征在于,所述对去交集处理后的可用排版空间进行合并处理后,所述方法还包括:
显示用户界面,所述用户界面中包括合并处理后的可用排版空间和已摆放的第一标签数据。
12.一种数据处理装置,其特征在于,所述装置包括:
获取单元,用于从排版空间中获取可用排版空间,所述排版空间包括占用空间及所述可用排版空间,所述占用空间包括预占位区域,所述可用排版空间包括至少一个剩余空间;
获取单元,还用于从所述可用排版空间中获取第一剩余空间,并从待排版的标签数据集合中获取第一标签数据,所述第一剩余空间为所述可用排版空间包括的所述至少一个剩余空间中的任意一个;
处理单元,用于若所述第一标签数据与所述第一剩余空间之间的关系满足摆放条件,则将所述第一标签数据摆放在所述第一剩余空间中;
所述处理单元,还用于若所述第一标签数据与所述第一剩余空间之间的关系不满足摆放条件,则从所述标签数据集合中获取第二标签数据;若所述第二标签数据获取失败,则从所述可用排版空间中获取第二剩余空间;若所述第二剩余空间获取失败,则分析所述第一标签数据与所述第一剩余空间之间的关系不满足所述摆放条件的异常原因;采用与所述异常原因对应的异常处理策略对所述第一标签数据进行处理,包括:若所述第一标签数据为文字标签,所述异常原因为所述第一标签数据为长标签且所述第一标签数据的字数为奇数,则在所述第一剩余空间内摆放至少三个所述第一标签数据。
13.一种终端,其特征在于,所述终端包括输入设备和输出设备,所述终端还包括:
处理器,适于实现一条或多条指令;以及,
计算机存储介质,所述计算机存储介质存储有一条或多条指令,所述一条或多条指令适于由所述处理器加载并执行如权利要求1-11任一项所述的方法。
14.一种计算机存储介质,其特征在于,所述计算机存储介质存储有一条或多条指令,所述一条或多条指令适于由处理器加载并执行如权利要求1-11任一项所述的方法。
CN201910418027.5A 2019-05-16 2019-05-16 数据处理方法、装置、终端及存储介质 Active CN110134933B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910418027.5A CN110134933B (zh) 2019-05-16 2019-05-16 数据处理方法、装置、终端及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910418027.5A CN110134933B (zh) 2019-05-16 2019-05-16 数据处理方法、装置、终端及存储介质

Publications (2)

Publication Number Publication Date
CN110134933A CN110134933A (zh) 2019-08-16
CN110134933B true CN110134933B (zh) 2024-05-24

Family

ID=67571350

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910418027.5A Active CN110134933B (zh) 2019-05-16 2019-05-16 数据处理方法、装置、终端及存储介质

Country Status (1)

Country Link
CN (1) CN110134933B (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101727439A (zh) * 2008-10-14 2010-06-09 北京大学 一种排版方法及其装置
CN103114429A (zh) * 2011-11-16 2013-05-22 东莞市点亮软件有限公司 一种皮料、布料排版方法及排版系统
CN103778213A (zh) * 2014-01-16 2014-05-07 北京航空航天大学 一种基于占用矩阵的词云图可视化方法
CN108694162A (zh) * 2017-04-11 2018-10-23 北大方正集团有限公司 文件的处理方法和装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101727439A (zh) * 2008-10-14 2010-06-09 北京大学 一种排版方法及其装置
CN103114429A (zh) * 2011-11-16 2013-05-22 东莞市点亮软件有限公司 一种皮料、布料排版方法及排版系统
CN103778213A (zh) * 2014-01-16 2014-05-07 北京航空航天大学 一种基于占用矩阵的词云图可视化方法
CN108694162A (zh) * 2017-04-11 2018-10-23 北大方正集团有限公司 文件的处理方法和装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
如何用方正排版软件排报版(二);舒忠;印刷技术(第04期);第57-59页 *

Also Published As

Publication number Publication date
CN110134933A (zh) 2019-08-16

Similar Documents

Publication Publication Date Title
EP0780797A2 (en) Method and system for designating objects
WO2019154197A1 (zh) 电子书手写笔记的显示方法、计算设备及计算机存储介质
CN110032314B (zh) 一种长截屏方法、装置、存储介质和终端设备
BRPI0616400B1 (pt) Sistema e método para processamento de imagem
CN112433657B (zh) 电子书的仿真翻页方法、电子设备及计算机存储介质
US8793572B2 (en) Positioning graphical objects within previously formatted text
US20130232403A1 (en) Method and system for the use of adjustment handles to facilitate dynamic layout editing
CN112433796B (zh) 电子书的仿真翻页方法、电子设备及计算机存储介质
CN111538697B (zh) 电子书的翻页处理方法、电子设备及计算机存储介质
CN112835499A (zh) 一种轮播图展示方法、装置、设备及介质
CN112433795A (zh) 电子书的仿真翻页方法、电子设备及计算机存储介质
CN108989704B (zh) 图像生成方法和装置、终端设备
CN110134933B (zh) 数据处理方法、装置、终端及存储介质
CN112417899A (zh) 文字翻译方法、装置、计算机设备和存储介质
US8704850B2 (en) Two-dimensional object packing
US9229608B2 (en) Character display apparatus, character display method, and computer readable medium
US20120102394A1 (en) Application of path-fill algorithm to text layout around objects
US9697180B2 (en) System and method for text layout using a path-fill algorithm
JP2996933B2 (ja) 図面表示装置
WO2022063191A1 (zh) 电子书手写笔记的显示方法、计算设备及计算机存储介质
CN111596988B (zh) 一种终端页面的图文展示方法及装置
US20180189251A1 (en) Automatic multi-lingual editing method for cartoon content
EP3929871A1 (en) Picture processing method, picture set processing method, computer device, and storage medium
TWI633498B (zh) Image processing device, image processing method, and program product
CN111859213A (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