本发明涉及图像处理技术领域,特别是涉及一种笔迹编辑方法和系统。
背景技术:
随着智能手机、平板电脑等电子设备的普及,笔式交互变得越来越灵活。人们可以用触屏、鼠标等多种输入装置进行手工书写,以便获得真实的手写体验。在对书写时,经常需要对笔迹进行移动和/或缩放操作。
传统的解决方案在执行笔迹移动和缩放操作时,每次都需要重绘所有选中的笔迹,以及移动缩放过程中与选中的笔迹矩形边界里面的未选中的笔迹。然而,绘制笔迹是非常耗时的操作,因此,在执行笔迹移动和缩放的时候,容易产生卡顿现象,甚至发生无响应异常,导致程序崩溃。
综上所述,传统的笔迹移动和缩放方法对资源消耗过大,笔迹的编辑效率较低。
技术实现要素:
基于此,有必要针对笔迹移动和缩放方法对资源消耗过大的问题,提供一种笔迹编辑方法和系统。
一种笔迹编辑方法,包括以下步骤:
在包含笔迹的原视图上覆盖一层透明视图;
获取原视图上选中的目标笔迹,将所述目标笔迹复制到预先建立的位图上,并将所述位图绘制在所述透明视图上,在原视图中擦除所述目标笔迹;
在所述透明视图上对所述位图执行编辑操作,待所述目标笔迹被取消选中后将位图上的目标笔迹同步到原视图上,并隐藏所述透明视图;其中,所述编辑操作是需要对目标笔迹执行的编辑操作。
一种笔迹编辑系统,包括:
覆盖模块,用于在包含笔迹的原视图上覆盖一层透明视图;
复制和擦除模块,用于获取原视图上选中的目标笔迹,将所述目标笔迹复制到预先建立的位图上,并将所述位图绘制在所述透明视图上,在原视图中擦除所述目标笔迹;
同步模块,用于在所述透明视图上对所述位图执行编辑操作,待所述目标笔迹被取消选中后将位图上的目标笔迹同步到原视图上,并隐藏所述透明视图;其中,所述编辑操作是需要对目标笔迹执行的编辑操作。
上述笔迹编辑方法和系统,通过在原视图上覆盖透明视图,将目标笔迹复制到位图中,将所述位图绘制在所述透明视图上,并在透明视图上对位图执行所需的编辑操作,避免了在笔迹编辑过程中多次重绘需要编辑的笔迹,减少了系统占用资源,提高了笔迹编辑的效率,避免了系统发生卡顿现象。
附图说明
图1为一个实施例的笔迹编辑方法流程图;
图2为一个实施例的在原视图上覆盖透明视图的示意图;
图3为一个实施例的将笔迹复制到位图上的示意图;
图4为一个实施例的笔迹的边界示意图;
图5为一个实施例的擦除目标笔迹后的原始图的示意图;
图6为一个实施例的笔迹编辑完成后的原视图的示意图;
图7为一个实施例的笔迹编辑系统的结构示意图。
具体实施方式
下面结合附图对本发明的技术方案进行说明。
如图1所示,本发明实施例提供一种笔迹编辑方法,可包括以下步骤:
s1,在包含笔迹的原视图上覆盖一层透明视图;
本发明实施例所述的笔迹编辑可以是对笔迹进行移动,或者对笔迹进行缩放,也可以是其他编辑操作。
本发明实施例中的原视图及透明视图可以是屏幕上显示的图像,用户能够观察到的图像都可以看做视图。所述屏幕可以是智能终端的屏幕,智能终端可包括手机、平板电脑、电脑等,所述原视图及透明视图也可以是其他可进行笔迹编辑的显示面板上的显示图像。每一个视图(view)都有一个用于绘图的画布,这个画布可以进行任意扩展。系统先可将需要展示的东西绘制在画布上面,然后通过视图展示出来。
本步骤所述的在原视图上覆盖一层透明视图,是指在原始图上新建一层透明视图,使透明视图在方位上遮盖原视图,具体示意图如图2所示。透明视图的尺寸可以与原视图相同,例如,原始图和透明视图的尺寸可都与显示面板的尺寸相同。覆盖透明视图可以防止遮挡原视图上的内容。
s2,获取原视图上选中的目标笔迹,将所述目标笔迹复制到预先建立的位图上,并将所述位图绘制在所述透明视图上,在原视图中擦除所述目标笔迹;
所述目标笔迹可由用户选择,每次选择的目标笔迹的数量可以是1,也可以是大于1的数量。在一个实施例中,可对选中的目标笔迹进行突出显示,例如,将选中的目标笔迹的颜色设置为与视图上其他笔迹不同的颜色,或者在选中的目标笔迹的周围增加一个用于标示的框体。通过这种方式,可以使用户直观地观察到当前选中的目标笔迹是哪些,也能够避免选错目标笔迹。
在选择目标笔迹时,若用户当前已经选中了一条目标笔迹,在用户重新选择另一条目标笔迹时,可以解除当前目标笔迹的选中状态,将用户重新选择的目标笔迹设为选中状态,从而能够使用户选错目标笔迹时便于用户更正。进一步地,若当前已有一条目标笔迹a被选中,还可以从该目标笔迹a被选中的时刻开始计时,若在计时达到预设的时间阈值之前,检测到另一条目标笔迹b被选中,则将当前选中的目标笔迹a和重新选择的目标笔迹b均设为选中状态;若在计时达到预设的时间阈值之后,检测到另一条目标笔迹c被选中,则解除当前目标笔迹a的选中状态,将重新选择的目标笔迹c设为选中状态。通过这种方式,便于用户选择多条目标笔迹,从而便于同时对多条目标笔迹进行编辑。
在一个实施例中,将所述目标笔迹复制到预先建立的位图(bitmap,制订了像素矩阵中各像素的颜色)上的一种具体方式可以是:获取所述目标笔迹在原视图上的坐标;根据所述坐标将所述目标笔迹复制到所述位图上的对应位置处。例如,目标笔迹在原视图上的坐标为(3,3),则可将目标笔迹复制到位图上坐标为(3,3)的位置处。这样可以便于后续对位图的操作。一个实施例的将笔迹复制到位图上的示意图如图3所示。在另一个实施例中,也可以将目标笔迹复制到位图上的任意位置,在后续编辑位图时再根据目标笔迹在原视图中的坐标先对位图的位置进行校正,再对位图执行编辑操作。
在将所述目标笔迹复制到预先建立的位图上之后,还应将所述位图绘制在所述透明视图上,并在原视图中擦除所述目标笔迹。具体地,可根据以下方式擦除原始图中的目标笔迹:首先,可获取所述目标笔迹的边界;然后,可在原视图中将所述边界所围成的区域清空;最后,可将所述区域内未被选中的笔迹重绘到原视图中。笔迹边界的示意图可如图4所示,在图4中,所述边界为矩形边界。所述边界也可以是其他形状的边界,此处不再赘述。当为矩形边界时,可以获取所述目标笔迹的最大横坐标、最小横坐标、最大纵坐标和最小纵坐标;根据所述最大横坐标、最小横坐标、最大纵坐标和最小纵坐标计算所述目标笔迹的矩形边界;其中,所述边界的长度为所述最大横坐标与最小横坐标的差值,所述边界的宽度为所述最大纵坐标和最小纵坐标的差值。擦除目标笔迹后的原始图的示意图如图5所示。
s3,在所述透明视图上对所述位图执行编辑操作,待所述目标笔迹被取消选中后将位图上的目标笔迹同步到原视图上,并隐藏所述透明视图;其中,所述编辑操作是需要对目标笔迹执行的编辑操作。
在本步骤中,可在透明视图上对位图执行编辑操作,此处执行的编辑操作应与需要对原视图上的目标笔迹执行的编辑操作相同。例如,当需要对目标笔迹执行的是移动操作时,此处可对位图执行移动操作,且应使位图上的目标笔迹移动的起点、终点和移动路径与上述需要对目标笔迹执行的移动操作相同。又例如,当需要对原视图上的目标笔迹执行的是缩放操作时,此处可对位图执行缩放操作,且应使位图上的目标笔迹缩放后的大小与上述需要对目标笔迹执行的缩放操作相同。
若所述编辑操作为移动操作,在所述透明视图上对所述位图执行编辑操作时,可以获取所述目标笔迹移动的目标位置;在所述透明视图上对所述位图进行移动,直到所述位图上的目标笔迹到达所述目标位置。类似地,若所述编辑操作为缩放操作,在所述透明视图上对所述位图执行编辑操作时,可以获取所述目标笔迹的目标尺寸;在所述透明视图上对所述位图进行等比例缩放,直到所述位图上的目标笔迹的尺寸等于所述目标尺寸。此处的等笔迹缩放是指对位图的长和宽按照相同的比例进行缩放。
一个实施例的笔迹编辑完成后的原视图的示意图如图6所示。在图6所示的示意图中,同时对目标笔迹进行了缩放操作和移动操作。
上述笔迹编辑方法,通过在原视图上覆盖透明视图,将目标笔迹复制到位图中,将所述位图绘制在所述透明视图上,并在透明视图上对位图执行所需的编辑操作,避免了在笔迹编辑过程中多次重绘需要编辑的笔迹,减少了系统占用资源,提高了笔迹编辑的效率,避免了系统发生卡顿现象,提高了用户体验。
如图7所示,本发明实施例还提供一种笔迹编辑系统,可包括:
覆盖模块10,用于在包含笔迹的原视图上覆盖一层透明视图;
本发明实施例所述的笔迹编辑可以是对笔迹进行移动,或者对笔迹进行缩放,也可以是其他编辑操作。
本发明实施例中的原视图及透明视图可以是屏幕上显示的图像,用户能够观察到的图像都可以看做视图。所述屏幕可以是智能终端的屏幕,智能终端可包括手机、平板电脑、电脑等,所述原视图及透明视图也可以是其他可进行笔迹编辑的显示面板上的显示图像。每一个视图都有一个用于绘图的画布,这个画布可以进行任意扩展。系统先可将需要展示的东西绘制在画布上面,然后通过视图展示出来。
本模块所述的在原视图上覆盖一层透明视图,是指在原始图上新建一层透明视图,使透明视图在方位上遮盖原视图,具体示意图如图2所示。透明视图的尺寸可以与原视图相同,例如,原始图和透明视图的尺寸可都与显示面板的尺寸相同。覆盖透明视图可以防止遮挡原视图上的内容。
复制和擦除模块20,用于获取原视图上选中的目标笔迹,将所述目标笔迹复制到预先建立的位图上,并将所述位图绘制在所述透明视图上,在原视图中擦除所述目标笔迹;
所述目标笔迹可由用户选择,每次选择的目标笔迹的数量可以是1,也可以是大于1的数量。在一个实施例中,可对选中的目标笔迹进行突出显示,例如,将选中的目标笔迹的颜色设置为与视图上其他笔迹不同的颜色,或者在选中的目标笔迹的周围增加一个用于标示的框体。通过这种方式,可以使用户直观地观察到当前选中的目标笔迹是哪些,也能够避免选错目标笔迹。
在选择目标笔迹时,若用户当前已经选中了一条目标笔迹,在用户重新选择另一条目标笔迹时,可以解除当前目标笔迹的选中状态,将用户重新选择的目标笔迹设为选中状态,从而能够使用户选错目标笔迹时便于用户更正。进一步地,若当前已有一条目标笔迹a被选中,还可以从该目标笔迹a被选中的时刻开始计时,若在计时达到预设的时间阈值之前,检测到另一条目标笔迹b被选中,则将当前选中的目标笔迹a和重新选择的目标笔迹b均设为选中状态;若在计时达到预设的时间阈值之后,检测到另一条目标笔迹c被选中,则解除当前目标笔迹a的选中状态,将重新选择的目标笔迹c设为选中状态。通过这种方式,便于用户选择多条目标笔迹,从而便于同时对多条目标笔迹进行编辑。
在一个实施例中,为了将所述目标笔迹复制到预先建立的位图上,上述复制和擦除模块可包括:第一获取单元,用于获取所述目标笔迹在原视图上的坐标;以及复制单元,用于根据所述坐标将所述目标笔迹复制到所述位图上的对应位置处。例如,目标笔迹在原视图上的坐标为(3,3),则可将目标笔迹复制到位图上坐标为(3,3)的位置处。这样可以便于后续对位图的操作。一个实施例的将笔迹复制到位图上的示意图如图3所示。在另一个实施例中,也可以将目标笔迹复制到位图上的任意位置,在后续编辑位图时再根据目标笔迹在原视图中的坐标先对位图的位置进行校正,再对位图执行编辑操作。
在将所述目标笔迹复制到预先建立的位图上之后,还应将所述位图绘制在所述透明视图上,并在原视图中擦除所述目标笔迹。具体地,为了擦除原始图中的目标笔迹,所述复制和擦除模块还可包括:第二获取单元,用于获取所述目标笔迹的边界;清空单元,用于在原视图中将所述边界所围成的区域清空;重绘单元,用于将所述区域内未被选中的笔迹重绘到原视图中。笔迹边界的示意图可如图4所示,在图4中,所述边界为矩形边界。所述边界也可以是其他形状的边界,此处不再赘述。当为矩形边界时,所述第二获取单元可包括获取子单元和计算子单元,所述获取子单元可以获取所述目标笔迹的最大横坐标、最小横坐标、最大纵坐标和最小纵坐标;所述计算子单元可以根据所述最大横坐标、最小横坐标、最大纵坐标和最小纵坐标计算所述目标笔迹的矩形边界;其中,所述边界的长度为所述最大横坐标与最小横坐标的差值,所述边界的宽度为所述最大纵坐标和最小纵坐标的差值。擦除目标笔迹后的原始图的示意图如图5所示。
同步模块30,用于在所述透明视图上对所述位图执行编辑操作,待所述目标笔迹被取消选中后将位图上的目标笔迹同步到原视图上,并隐藏所述透明视图;其中,所述编辑操作是需要对目标笔迹执行的编辑操作。
在本模块中,可在透明视图上对位图执行编辑操作,此处执行的编辑操作应与需要对原视图上的目标笔迹执行的编辑操作相同。例如,当需要对目标笔迹执行的是移动操作时,此处可对位图执行移动操作,且应使位图上的目标笔迹移动的起点、终点和移动路径与上述需要对目标笔迹执行的移动操作相同。又例如,当需要对原视图上的目标笔迹执行的是缩放操作时,此处可对位图执行缩放操作,且应使位图上的目标笔迹缩放后的大小与上述需要对目标笔迹执行的缩放操作相同。
若所述同步模块30执行的编辑操作为移动操作,所述同步模块30可包括:第三获取单元,用于获取所述目标笔迹移动的目标位置;以及移动单元,用于在所述透明视图上对所述位图进行移动,直到所述位图上的目标笔迹到达所述目标位置。类似地,若所述同步模块30执行的编辑操作为缩放操作,所述同步模块30可包括:第四获取单元,用于可以获取所述目标笔迹的目标尺寸;以及缩放单元,用于在所述透明视图上对所述位图进行等比例缩放,直到所述位图上的目标笔迹的尺寸等于所述目标尺寸。此处的等笔迹缩放是指对位图的长和宽按照相同的比例进行缩放。
一个实施例的笔迹编辑完成后的原视图的示意图如图6所示。
上述笔迹编辑系统,通过在原视图上覆盖透明视图,将目标笔迹复制到位图中,将所述位图绘制在所述透明视图上,并在透明视图上对位图执行所需的编辑操作,避免了在笔迹编辑过程中多次重绘需要编辑的笔迹,减少了系统占用资源,提高了笔迹编辑的效率,避免了系统发生卡顿现象,提高了用户体验。
本发明实施例中的笔迹编辑系统与本发明实施例中的笔迹编辑方法一一对应,在上述笔迹编辑方法的实施例阐述的技术特征及其有益效果均适用于笔迹编辑系统的实施例中,特此声明。
在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,“计算机可读介质”可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。
计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(ram),只读存储器(rom),可擦除可编辑只读存储器(eprom或闪速存储器),光纤装置,以及便携式光盘只读存储器(cdrom)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。
应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(pga),现场可编程门阵列(fpga)等。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。