用于文字编辑的文本控件、蒙层渲染的实现方法及装置与流程

文档序号:14940761发布日期:2018-07-13 20:41阅读:285来源:国知局

本发明涉及计算机应用技术领域,尤其涉及用于文字编辑的文本控件、蒙层渲染的实现方法及装置。



背景技术:

文稿编辑工具如微软公司的演示文稿软件(powerpoint,ppt),是一款人们工作和学习中经常用到的办公软件,用户基于文稿编辑工具可进行文稿编辑,并可将编辑的内容展示给他人,在目前流行的智能教学白板中,也安装有类似的文稿编辑工具,能够供教学者对教学内容进行编辑和展示。

一般地,进行文稿编辑时,文字部分的编辑往往依赖于文稿编辑工具中文本控件,文本控件相当于文稿编辑工具中进行文本编辑操作的功能插件,在实际操作中,用户需要相当于在以文本控件为支撑的文字编辑框中进行文字编辑,且用户通常具有对所编辑文字进行文字蒙层遮挡的需求。但目前形成文本编辑框所采用的文本控件往往以整体形式设计,由此当前的文字蒙层实现都是基于整个文本编辑框中所有文字的,无法做到针对文本编辑框中的部分文字设置蒙层遮挡,如果用户只想遮挡部分文字,其可进行的操作为再添加一个其他元素直接覆盖在文本编辑框的待遮挡文字之上,以模拟针对部分文字的蒙层。

但是当所需遮挡的文字较多且分布较分散时,基于上述方式进行蒙层设置的操作将相当繁琐,影响文稿编辑工具在文字编辑及演示中的用户体验。



技术实现要素:

本发明实施例提供了用于文字编辑的文本控件、蒙层渲染的实现方法及装置,能够简单有效的实现对所编辑任意文字的蒙层渲染。

第一方面,本发明实施例提供了一种用于文字编辑的文本控件,包括:文本输入组件、文本控制组件和文本渲染组件;

所述文本输入组件,用于作为文字编辑的交互接口,接收外部触发生成的输入信息及操作指令;

所述文本处理组件,用于根据所述文本输入组件接收的输入信息编辑形成待呈现文字,还用于分析确定所接收操作指令的待呈现形式;

所述文本渲染组件,用于基于给定的渲染属性渲染所述待呈现文字并实时呈现;还用于响应各所述操作指令并实时以对应的待呈现形式渲染呈现。

第二方面,本发明实施例提供了一种蒙层渲染的实现方法,包括:

在触发进入蒙层绘制界面后,监听光标在当前编辑框中移动选中的目标文字;

确定各所述目标文字相对当前编辑框的区域信息,其中,所述当前编辑框为本发明第一方面实施例提供的文本控件在屏幕上的呈现形式;

基于各所述目标文字的区域信息,在各所述目标文字上进行蒙层渲染。

第三方面,本发明实施例提供了一种蒙层渲染的实现装置,包括:

信息监听模块,用于在触发进入蒙层绘制界面后,监听光标在当前编辑框中移动选中的目标文字;

信息确定模块,用于确定各所述目标文字相对当前编辑框的区域信息,其中,所述当前编辑框为本发明第一方面实施例提供的文本控件在屏幕上的呈现形式;

蒙层渲染模块,用于基于各所述目标文字的区域信息,在各所述目标文字上进行蒙层渲染。

第四方面,本发明实施例提供了一种智能设备,包括:

一个或多个处理器;

存储装置,用于存储本发明第一方面实施例提供的文本控件,还用于存储一个或多个程序;

所述文本控件被所述一个或多个处理器执行,使得所述一个或多个处理器实现文字编辑;

所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如本发明第二方面实施例提供的蒙层渲染的实现方法。

第五方面,本发明实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现文字编辑和/或实现如本发明第二方面实施例提供的蒙层渲染的实现方法。

在上述用于文字编辑的文本控件、蒙层渲染的实现方法及装置中,其蒙层渲染的实现为:在触发进入蒙层绘制界面后,监听光标在当前编辑框中移动选中的目标文字;然后确定各目标文字相对当前编辑框的区域信息;最终根据各目标文字的区域信息,在各所述目标文字上进行蒙层渲染。上述技术方案,能够在自定义构建文本控件呈现的当前编辑框的基础上,简单有效的实现对当前编辑框中任意文字的蒙层渲染,更好地提升了文稿编辑工具在文字编辑及演示中的用户体验。

附图说明

图1为本发明实施例一提供的一种用于文字编辑的文本控件的结构示意图;

图2为本发明实施例二提供的一种蒙层渲染的实现方法的流程示意图;

图3为本发明实施例三提供的一种蒙层渲染的实现装置的结构框图;

图4为本发明实施例四提供的一种智能设备的硬件结构示意图。

具体实施方式

下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。

实施例一

图1为本发明实施例一提供的一种用于文字编辑的文本控件的结构示意图。该文本控件可以作为文稿编辑工具中的功能插件实现文字编辑。如图1所示,该文本控件包括:文本输入组件11、文本控制组件12和文本渲染组件13;

文本输入组件11,用于作为文字编辑的交互接口,接收外部触发生成的输入信息及操作指令;

文本处理组件12,用于根据所述文本输入组件接收的输入信息编辑形成待呈现文字,还用于分析确定所接收操作指令的待呈现形式;

文本渲染组件13,用于基于给定的渲染属性渲染所述待呈现文字并实时呈现;还用于响应各所述操作指令并实时以对应的待呈现形式渲染呈现。

需要说明的是,本实施例一提供的文本控件的应用背景可理解为:现有的进行文字编辑的文本控件通常为一个整体控件,如果完成一个现有的文本控件设计后,可认为其在文字编辑过程中可进行的功能渲染项的种类也随之确定,后续使用中无法灵活的增加功能渲染项也将无法增加,基于上述问题,本实施例提供了一个分层次体现文本控件,该文本控件能够在进行文字编辑的同时动态的增加所需功能渲染项。

具体地,本实施例提供的文本控件主要包括文本输入组件11、文本处理组件12以及文本渲染组件13三个层次区域,且由图1可以看出上述三个组件是层层包含的关系,其中,文本输入组件11为本实施例所提供文本控件的最外层,相当于一个容器,其内部封装了文本处理组件12和文本渲染组件13,由此文本输入组件11相当于一个针对外界的统一入口,具体作为文字编辑的交互接口,来接收外部触发生成的输入信息(如可接收用户对键盘的触发响应来获取键盘输入的字符,键盘可以是软键盘或硬件键盘)及操作指令(如可接收用户触发的操作指令,该操作指令一般由用户通过触摸或通过鼠标进行的点击或拖拽来产生)。

同时,文本处理组件12相当于本实施例所提供文本控件的中间层,封装在文本输入组件11的内容,且其内部又封装了文本渲染组件13,具体地,该组件可以实时获得文本输入组件11所接收的输入信息或操作指令,之后该组件就负责对所获得的信息进行处理,如根据输入信息处理形成对应的待呈现文字(只是形成文字但还不能直接将文字呈现在屏幕上),又如处理确定操作指令实际对应的待呈现方式,示例性地,根据操作指令实际要实现的功能不同,其对应确定待呈现方式就存在不同,如在对鼠标的点击所生成操作指令进行处理时,其可以确定鼠标点击时的待呈现显示位置,又如,在对鼠标的拖拽所生成的操作指令进行处理时,其可以确定鼠标拖拽时的待呈现选中效果区域等。

此外,文本渲染组件13相当于本实施例所提供文本控件的最内层区域,需要说明的是,在文本渲染组件中实际具体封装了文字编辑中所需的功能渲染项,各功能渲染项主要负责对所编辑文字进行相应的渲染处理并实时呈现相应的渲染处理效果,如,负责文字呈现的功能渲染项可以对形成的待呈现文字基于给定的渲染属性(如字体颜色、字体大小以及字体格式等)进行文字渲染并实时呈现,还如,负责光标呈现的功能渲染项可以通过响应鼠标点击对应的操作指令来将光标在确定的待呈现显示位置处进行渲染呈现,又如,负责选中效果呈现的功能渲染项可以通过响应鼠标拖拽对应的操作指令在确定的选中效果将确定的待呈现选中效果区域进行渲染呈现。

进一步地,文本渲染组件13,包括并列设置的用于实现不同功能渲染的渲染层集合;所述渲染层集合包括文字蒙层渲染层,还包括下述至少一种:文字呈现渲染层、光标呈现渲染层、选中效果呈现渲染层。

在本实施例中,可以在文本渲染组件13中增加想要实现的各种功能渲染项其具体实现相当于在文本渲染组件13中封装各种功能渲染项对应的功能渲染层,且可认为各功能渲染层之间为并列的呈现层。本实施例提供的文本控件其目的之一在于实现文字蒙层效果的呈现,由此,在文本渲染组件13中为实现文字蒙层,相当于需要增加文字蒙层的功能渲染项,即可认为文本渲染组件13中实际包括了用于实现文字蒙层效果的文字蒙层渲染层。此外,本实施例的文本渲染组件13中还可以包括实现其他功能渲染的渲染层,如文字呈现渲染层、光标呈现渲染层、选中效果呈现渲染层。

需要说明的是,为保证文字蒙层效果总是体现=呈现在屏幕的最上层,本实施例可以优选的设定文字蒙层渲染层的蒙层显示优先级最高。

进一步地,该文本控件还包括:

文本管理组件,用于对编辑形成的待呈现文字进行属性管理,以形成包括所述待呈现文字的显示形式和显示位置的渲染属性;

渲染数据组件,用于将渲染后的待呈现文字与当前的渲染数据进行封装形成新的渲染数据,以将新的渲染数据作为所述文本处理组件的处理基础。

需要说明的是,本实施例提供的文本控件中除包含上述文本输入组件11、文本控制组件12和文本渲染组件13这些交互组件之外,还包括了文本管理组件和渲染数据组件。具体地,在基于本实施例提供的文本控件进行文字编辑时,基于文本渲染组件13将对待呈现文字进行渲染呈现之前,还需要对编辑形成的待呈现文字进行属性管理,即,需要管理确定带呈现文字的显示形式、显示位置以及所属的编辑段落等,这些都相当于待呈现文字的渲染属性,可以通过文本管理组件形成,基于上述文本管理组件对待呈现文字的管理,文本渲染组件13可以将带呈现文字在正确的编辑位置以选定的显示形式正确的成现在屏幕上。

可以理解的是,进行文本管理组件设计时,可以为其设定恰当的数据结构,以根据所设计的数据结构来实现文字属性的管理,示例性地,在进行文字编辑时,往往会频繁的进行段落的插入、删除和查找操作,由此本实施例可优选设定红黑树作为段落管理的数据结构,由于该数据结构在最坏情况下的时间复杂度为o(logn),是一种效率极高的数据结构,因此可以保证大量文本编辑及渲染时的流畅性,可以提高文本编辑的用户体验。

此外,基于文本渲染组件13对待呈现文字进行呈现或将操作指令以待呈现形式进行渲染后,本实施例还设计了渲染数据组件将新渲染的文本数据与以形成的渲染数据再次进行封装,形成新的渲染数据,可以知道的是,形成的的渲染数据可以反馈给文本处理组件12作为文本处理的数据处理基础,在上述数据处理基础上,文本处理组件12可以再次对文本输入组件新接收的输入信息或操作指令进行处理,如,可以获得新的待呈现文字,以及新的光标或选中效果等。

本发明实施例一提供的文本控件,与现有所采用的文本控件相比,实现了文本编辑所需组件的分层涉及,这种分层式的设计能够保证文本控件中的每个组件都人为控制,即能够在不影响文本编辑的前提下动态的增加文本编辑中所需的功能渲染项,从而增强了文本编辑的灵活性,提升了文本编辑的用户体验。

实施例二

图2为本发明实施例二提供的一种蒙层渲染的实现方法的流程示意图,该方法适用于对文本编辑框中的文字进行蒙层渲染操作的情况,该方法可以由蒙层渲染的实现装置执行,其中,该装置可由软件和/或硬件实现,并一般集成在具有文稿编辑工具的智能设备上。

在本实施例中,所述智能设备具体可以是手机、平板电脑、笔记本等具有文稿编辑功能的智能移动设备,也可以是台式计算机等固定式的具有文稿编辑功能的电子设备。

需要说明的是,本实施例中蒙层渲染的实现具体仍依赖于文本控件,但本实施例基于文本编辑的交互层面进行方法阐述,其文本控件在交互层面具体以文本编辑框的形式呈现。具体地,本实施例的应用背景可理解为在文稿编辑工具的一个新建文档页面中,可以在触发文本编辑后呈现一个文本编辑框,由此可以在文本编辑框中进行文字编辑以及呈现光标位置及选中效果等。本实施例相当于在具备文本蒙层渲染功能的文本编辑框(文本控件)中实现的蒙层渲染。

如图2所示,本发明实施例二提供的一种蒙层渲染的实现方法,具体包括如下操作:

s201、在触发进入蒙层绘制界面后,监听光标在当前编辑框中移动选中的目标文字。

具体地,所述当前编辑框可相当于当前进行文字编辑的文本控件在屏幕上的呈现形式,其中,所述文本控件为上述实施例一提供的文本控件。本实施例将文本控件中的文本蒙层渲染功能以功能按钮或快捷键的形式体现在交互层面上,以供用户触发蒙层渲染形成蒙层渲染的操作指令。

本步骤可以根据用户对蒙层渲染功能按钮的触发进入蒙层绘制界面,然后就可以监听用户在当前编辑框中对光标的操作,从底层角度描述,可看作文本控件中的文本输入组件对光标移动操作的接收,以及文本处理组件对光标移动操作的待呈现形式(相当于光标移动实际选中位置)的确定。本实施将光标移动选中的文字记为目标文字,也可理解为待进行蒙层渲染的文字。

s202、确定各所述目标文字相对所述当前编辑框的区域信息。

可以理解的是,由于在当前编辑框中进行文字编辑,相当于依赖于上述实施例提供的文本控件实现了文字编辑,因此,在监听光标移动确定目标文字的同时,也相应确定了个目标文字所占位置相对于文本控件的坐标信息及面积信息,本步骤相当于在上述步骤的基础上直接获取了各目标文字相对于当前编辑框的坐标信息及面积信息,本实施例可将其坐标信息和面积信息优选为区域信息。

具体地,所述确定各所述目标文字相对当前编辑框的区域信息,包括:

获取各所述目标文字相对于所述当前编辑框的相对坐标信息;根据各所述目标文字在所述当前编辑框中占据的长宽值,确定各所述目标文字在所述当前编辑框中的区域面积;将各所述相对坐标信息及各区域面积分别确定为对应目标文字相当于所述当前编辑框的区域信息。

在本实施例中,光标在当前编辑框中移动时选中的每个目标文字的区域信息均可以采用设定的数据结构进行表示,示例性地,预先设定的数据结构中包含的参数信息可以有:x;y;width以及height,其中,x表示单个选中文字相对于当前编辑框左上角的相对横坐标;y表示单个选中文字相对于当前编辑框左上角的相对纵坐标;width表示单个选中文字所对应选中区域的宽度值;height表示单个选中文字所对应选中区域的长度值(也相当于高度值)。由此,可认为本步骤所获得的对应于各目标文字的区域信息实际采用上述数据结构形式表示。

s203、基于各所述目标文字的区域信息,在各所述目标文字上进行蒙层渲染。

从底层角度描述,本步骤进行的蒙层渲染实际相当于文本控件的文本渲染组件完成的蒙层渲染,具体地,主要基于文本渲染组件中的文字蒙层渲染层来实现本步骤的操作,文字蒙层渲染层实现蒙层渲染的操作过程可描述为:文字蒙层渲染层获取到各目标文字的区域信息,分析获得区域信息中包括的坐标信息和面积信息,由此确定出各目标文字的渲染区域,并在渲染区域中绘制所选定的颜色。

进一步地,所述基于各所述目标文字的区域信息,在各所述目标文字上进行蒙层渲染,包括:根据各所述目标文字的相对坐标信息和区域面积,确定对应于各所述目标文字的实际渲染区域;基于选定的蒙层渲染颜色对各所述实际渲染区域进行颜色遮盖,并在所述当前屏幕上实时呈现。

在本实施例中,所述实际渲染区域可理解为目标文字在文字蒙层渲染层实际对应的渲染区域,本实施例中的蒙层渲染颜色可以是默认的白色,也可以是人为选定颜色,且可以知道的时进行蒙层遮盖的颜色往往呈现在文字其他渲染效果的最上层,由此实现文字各种信息的全面遮盖。

本实施例在上述方法步骤的基础上进一步优化增加了s204的操作,如图2所示,在s203之后,还包括:

s204、触发进入文稿演示模式后,监测到光标处于屏幕上具有蒙层渲染的位置区域时,移除所述位置区域上的蒙层渲染。

在本实施例中,可认为上述s201至s203的操作具体在文本编辑模式下实现,根据上述设定,当进入文稿演示模式后,进行蒙层渲染处的目标文字仍以颜色遮盖的蒙城形式呈现,但该文稿演示模式下,若用户通过光标在具备颜色遮盖的某个位置上进行了点击,则基于本步骤的操作可以监听到用户通过光标对具有蒙层渲染效果的任意文字的触发,且根据光标在屏幕上的触发位置可以确定用户具体触发了哪个目标文字的位置区域,由此本步骤可以移除该目标文字所对应位置区域上的颜色遮盖,从而使颜色遮盖下的目标文字可以实时呈现。其中,本步骤具体根据用户对演示功能按钮或演示功能快捷键的触发进行文稿演示模式。

本发明实施例二提供的一种蒙层渲染的实现方法,在触发进入蒙层绘制界面后,监听光标在当前编辑框中移动选中的目标文字;然后确定各目标文字相对当前编辑框的区域信息;最终根据各目标文字的区域信息,在各所述目标文字上进行蒙层渲染。上述技术方案,能够在自定义构建文本控件呈现的当前编辑框的基础上,简单有效的实现对当前编辑框中任意文字的蒙层渲染,更好地提升了文稿编辑工具在文字编辑及演示中的用户体验。

实施例三

图3为本发明实施例三提供的一种蒙层渲染的实现装置的结构框图,该装置适用于对文本编辑框中的文字进行蒙层渲染操作的情况,其中,该装置可由软件和/或硬件实现,并一般集成在具有文稿编辑工具的智能设备上。如图3所示,该装置包括:信息监听模块31、信息确定模块32以及蒙层渲染模块。

其中,信息监听模块31,用于在触发进入蒙层绘制界面后,监听光标在当前编辑框中移动选中的目标文字;

信息确定模块32,用于确定各所述目标文字相对当前编辑框的区域信息,其中,所述当前编辑框为本发明实施例一提供的文本控件在屏幕上的呈现形式;

蒙层渲染模块33,用于基于各所述目标文字的区域信息,在各所述目标文字上进行蒙层渲染。

在本实施例中,该装置首先通过信息监听模块31在触发进入蒙层绘制界面后,监听光标在当前编辑框中移动选中的目标文字;然后通过信息确定模块32确定各所述目标文字相对当前编辑框的区域信息;最后通过蒙层渲染模块33基于各所述目标文字的区域信息,在各所述目标文字上进行蒙层渲染。

本发明实施例三提供的一种蒙层渲染的实现装置,能够在自定义构建文本控件呈现的当前编辑框的基础上,简单有效的实现对当前编辑框中任意文字的蒙层渲染,更好地提升了文稿编辑工具在文字编辑及演示中的用户体验。

进一步地,信息确定模块31,具体用于:

获取各所述目标文字相对于所述当前编辑框的相对坐标信息;根据各所述目标文字在所述当前编辑框中占据的长宽值,确定各所述目标文字在所述当前编辑框中的区域面积;将各所述相对坐标信息及各区域面积分别确定为对应目标文字相当于所述当前编辑框的区域信息。

进一步地,蒙层渲染模块32,具体用于:

根据各所述目标文字的相对坐标信息和区域面积,确定对应于各所述目标文字的实际渲染区域;基于选定的蒙层渲染颜色对各所述实际渲染区域进行颜色遮盖,并在所述当前屏幕上实时呈现。

进一步地,该装置还包括:

蒙层移除模块34,用于触发进入文稿演示模式后,监测到光标处于屏幕上具有蒙层渲染的位置区域时,移除所述位置区域上的蒙层渲染。

实施例四

图4为本发明实施例四提供的一种智能设备的硬件结构示意图,如图4所示,本发明实施例四提供的智能设备,包括:处理器41和存储装置42。该智能设备中的处理器可以是一个或多个,图4中以一个处理器41为例,所述智能设备中的处理器41和存储装置42也通过总线或其他方式连接,图4中以通过总线连接为例。

该智能设备中的存储装置42作为一种计算机可读存储介质,可用于存储一个或多个程序,所述程序可以是软件程序(如上述实施例提供的文本控件)、计算机可执行程序以及模块,如本发明实施例中蒙层渲染的实现方法对应的程序指令/模块(例如,附图3所示的蒙层渲染的实现装置中的模块,包括:信息监听模块31、信息确定模块32以及蒙层渲染模块)。处理器41通过运行存储在存储装置中的如上述实施例提供的文本控件,来实现文字的编辑;同时,处理器41通过运行存储在存储装置42中的软件程序、指令以及模块,从而执行智能设备的各种功能应用以及数据处理,即实现上述方法实施例中蒙层渲染的实现方法。

存储装置42可包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据设备的使用所创建的数据等(如上述实施例中的蒙层颜色及区域信息等)。此外,存储装置42可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储装置42可进一步包括相对于处理器41远程设置的存储器,这些远程存储器可以通过网络连接至设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。

并且,当上述智能设备所包括一个或者多个程序被所述一个或者多个处理器41执行时,程序进行如下操作:

在触发进入蒙层绘制界面后,监听光标在当前编辑框中移动选中的目标文字,其中,所述当前编辑框为本发明实施例一所提供的文本控件在屏幕上的呈现形式;确定各所述目标文字相对所述当前编辑框的区域信息;基于各所述目标文字的区域信息,在各所述目标文字上进行蒙层渲染。

此外,本发明实施例还提供一种计算机可读存储介质,其上存储有计算机程序,该程序可以是文本控件,该文本控件被处理器执行时,可以实现文字的编辑及呈现;该程序还可以是实施例二所提供蒙层渲染的实现方法的应用程序,该应用程序被处理器执行时,可以实现蒙层渲染的实现方法,该方法包括:在触发进入蒙层绘制界面后,监听光标在当前编辑框中移动选中的目标文字,其中,所述当前编辑框为本发明实施例一所提供的文本控件在屏幕上的呈现形式;确定各所述目标文字相对所述当前编辑框的区域信息;基于各所述目标文字的区域信息,在各所述目标文字上进行蒙层渲染。

通过以上关于实施方式的描述,所属领域的技术人员可以清楚地了解到,本发明可借助软件及必需的通用硬件来实现,当然也可以通过硬件实现,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如计算机的软盘、只读存储器(read-onlymemory,rom)、随机存取存储器(randomaccessmemory,ram)、闪存(flash)、硬盘或光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。

注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。

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