图像编辑操作的撤销方法、装置、电子设备及介质与流程

文档序号:22756543发布日期:2020-10-31 09:53阅读:182来源:国知局
图像编辑操作的撤销方法、装置、电子设备及介质与流程

本公开涉及计算机技术领域,尤其涉及一种图像编辑操作的撤销方法、装置、电子设备及介质。



背景技术:

现有的画板、图像编辑器、照片编辑器等画图工具,通常具有画画、橡皮擦、撤销和恢复的功能,其中技术难点在于如何实现图像编辑操作的撤销。现有技术主要采用以下两种方案实现:(1)撤销时将需撤销操作之前的所有动作重新绘制一次;(2)在对图像编辑操作过程中,每操作完一次,则保存一张当前编辑的图像,撤销时,获取需撤销操作对应的上一张图像即可。

但是,当需撤销之前已经进行多次操作时,方案(1)会十分消耗性能,撤销效率低。方案(2)需要保存多张图片,且频繁撤销会增加设备的io操作,消耗大量的内存,撤销效率低。由此可知,如何降低图像编辑操作的撤销过程中的内存消耗和性能消耗,提高图像编辑操作的撤销的效率,成为亟待解决的技术问题。



技术实现要素:

本公开实施例提供一种图像编辑操作的撤销方法、装置、电子设备及介质,用以解决上述背景技术中提出的技术问题,或至少部分解决上述背景技术中提出的技术问题。

第一方面,本公开实施例提供一种图像编辑操作的撤销方法,包括:

获取图像编辑操作,每隔预设的间隔操作次数,对应存储一张图像;

接收操作撤销指令,从所存储的图像中获取距离待撤销编辑操作最近的第一图像,以及所述第一图像对应的图像编辑操作之后至待撤销操作之前的所有图像编辑操作;

基于所述第一图像以及所述第一图像对应的图像编辑操作之后至待撤销操作之前的所有图像编辑操作,生成目标图像。

第二方面,本公开实施例提供一种图像编辑操作的撤销装置,包括:

第一获取模块,用于获取图像编辑操作,每隔预设的间隔操作次数,对应存储一张图像;

第二获取模块,用于接收操作撤销指令,从所存储的图像中获取距离待撤销编辑操作最近的第一图像,以及所述第一图像对应的图像编辑操作之后至待撤销操作之前的所有图像编辑操作;

图像生成模块,用于基于所述第一图像以及所述第一图像对应的图像编辑操作之后至待撤销操作之前的所有图像编辑操作,生成目标图像。

第三方面,本公开实施例提供一种电子设备,包括:至少一个处理器;以及,与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被设置为用于执行本公开第一方面实施例所述图像编辑操作的撤销的方法。

第四方面,本公开实施例提供一种计算机可读存储介质,所述计算机指令用于执行本公开第一方面实施例所述图像编辑操作的撤销的方法。

本公开基于获取图像编辑操作,每隔预设的间隔操作次数,对应存储一张图像;在需要撤销图像编辑操作时,获取距离待撤销编辑操作最近的图像,以及该图像对应的图像编辑操作之后至待撤销操作之前的所有图像编辑操作;最后该图像以及该图像对应的图像编辑操作之后至待撤销操作之前的所有图像编辑操作,生成目标图像,即完成撤销后的图像。减少了图像存储量以及撤销过程中需要执行的图像编辑操作的次数,降低了图像编辑操作的撤销过程中的内存消耗和性能消耗,提高了图像编辑操作的撤销的效率。

附图说明

通过结合附图对本申请实施例进行更详细的描述,本公开的上述以及其他目的、特征和优势将变得更加明显。附图用来提供对本申请实施例的进一步理解,并且构成说明书的一部分,与本申请实施例一起用于解释本申请,并不构成对本申请的限制。

图1为本公开一实施例所描述的图像编辑操作的撤销方法流程图;

图2为本公开一实施例所描述的图像编辑操作的撤销装置示意图;

图3为本公开一实施例所描述的电子设备示意图性框图。

具体实施方式

为使本公开实施例的目的、技术方案和优点更加清楚,下面将结合本公开实施例中的附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本公开一部分实施例,而不是全部的实施例。基于本公开中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本公开保护的范围。

本公开实施例提供了一种图像编辑操作的撤销方法,如图1所示,包括以下步骤:

步骤s1、获取图像编辑操作,每隔预设的间隔操作次数,对应存储一张图像;

需要说明的是,一个连续的图像编辑动作表示一次图像编辑操作,例如从手指触碰屏幕到手指离开屏幕所完成的一次图像编辑动作、鼠标点击屏幕开始拖动鼠标至松开鼠标所完成的一次图像编辑动作等。可以理解的是,每隔预设的间隔操作次数,对应存储一张图像时,会为所存储的图像对应设置图像编号。

步骤s2、接收操作撤销指令,从所存储的图像中获取距离待撤销编辑操作最近的第一图像,以及所述第一图像对应的图像编辑操作之后至待撤销操作之前的所有图像编辑操作;

步骤s3、基于所述第一图像以及所述第一图像对应的图像编辑操作之后至待撤销操作之前的所有图像编辑操作,生成目标图像。

基于本公开实施例所述方法,能够减少图像存储量以及撤销过程中需要执行的图像编辑操作的次数,降低了图像编辑操作的撤销过程中的内存消耗和性能消耗,提高了图像编辑操作的撤销的效率。

应当理解,本公开的方法实施方式中记载的各个步骤可以按照不同的顺序执行,和/或并行执行。此外,方法实施方式可以包括附加的步骤和/或省略执行示出的步骤。本公开的范围在此方面不受限制。

作为一种示例,步骤s1还包括:

步骤s11、获取所保存图像对应的图像编辑操作以外的每一图像编辑操作对应的坐标点集合;

步骤s12、存储每一所述图像编辑操作对应的坐标点集合。

步骤s11中可以直接将每一图像编辑操作对应的所有坐标点直接存储,得到对应的坐标点集合,但是,当坐标点数量太多时,也会占用较大的内存,影响图像编辑操作的撤销的效率,因此,至少可通过以下两种实施方式来获取每一图像编辑操作对应的坐标点集合。

实施方式一、

步骤s11具体包括以下步骤:

步骤s111、存储每一图像编辑操作的起始坐标点;

步骤s112、当图像编辑操作的时间距离上一坐标点的存储时间等于预设的时间间隔阈值时,将该时间点对应的坐标点存储至该图像操作编辑操作对应的坐标点集合。

可以理解的是,预设的时间间隔阈值需满足基于最终得到的坐标点集合绘制出的图像与原始图像编辑操作绘制出的图像在预设误差的范围内,所述预设误差范围满足人眼不能发现最终得到的坐标点集合绘制出的图像与原始图像编辑操作绘制出的图像具有差别。通过步骤s111-步骤s112能够大幅度减少坐标点集合中坐标点的存储数量,减少内存占用量,且撤销过程中重新绘制该图像编辑操作的过程中也能减少坐标点的数量,提高图像编辑操作的撤销效率。

实施方式二、

步骤s11具体包括以下步骤:

步骤s101、存储每一图像操作编辑的起始坐标端点;

步骤s102、当图像编辑操作的坐标点距离上一坐标点的坐标距离小于等于预设的距离间隔阈值时,将该坐标点存储至该图像操作编辑操作对应的坐标点集合。

可以理解的是,预设的距离间隔阈值需满足基于最终得到的坐标点集合绘制出的图像与原始图像编辑操作绘制出的图像在预设误差的范围内,所述预设误差范围满足人眼不能发现最终得到的坐标点集合绘制出的图像与原始图像编辑操作绘制出的图像具有差别。通过步骤s101-步骤s102能够大幅度减少坐标点集合中坐标点的存储数量,减少内存占用量,且撤销过程中重新绘制该图像编辑操作的过程中也能减少坐标点的数量,提高图像编辑操作的撤销效率。

作为一种示例,步骤s2中,从所存储的图像中获取距离待撤销编辑操作最近的第一图像,具体可包括以下步骤:

步骤s21、确定距离待撤销编辑操作最近的第一图像的图像编号n:

n=(m%n)*n

其中,%表示求模运算,m为待撤销编辑操作的编号,n为所述间隔次数;

步骤s22、获取所述图像编号对应的图像,该图像即为所述第一图像。

作为一种示例,步骤s3具体可包括:以所述第一图像为初始图像,在所述第一图像上绘制所述第一图像对应的图像编辑操作之后至待撤销操作之前的每一图像编辑操作对应的坐标点集合,生成所述目标图像。

作为一种示例,所述间隔操作次数的取值范围可设置为[100,1000],间隔操作次数在此范围内能够保证较高的撤销效率。当最大撤销次数在[100,1000]范围内时,所述间隔操作次数可直接等于最大撤销次数,这样设置能够更大限度地提高了图像编辑操作的撤销效率。所述最大撤销次数指的是画板、图像编辑器、照片编辑器等画图工具上设置的最大可撤销次数,该数值撤销次数可以是工具自定义,也可以是用户自定义的。但可以理解的是,当最大撤销次数在[100,1000]范围内时,间隔操作次数并不仅限于等于最大撤销次数,可根据具体的应用需求在[100,1000]选择对应的间隔操作次数。

本公开实施例还提供一种图像编辑操作的撤销装置,如图2所示,包括:第一获取模块1、第二获取模块2和图像生成模块3,其中,第一获取模块1,用于获取图像编辑操作,每隔预设的间隔操作次数,对应存储一张图像;第二获取模块2,用于接收操作撤销指令,从所存储的图像中获取距离待撤销编辑操作最近的第一图像,以及所述第一图像对应的图像编辑操作之后至待撤销操作之前的所有图像编辑操作;图像生成模块3,用于基于所述第一图像以及所述第一图像对应的图像编辑操作之后至待撤销操作之前的所有图像编辑操作,生成目标图像。基于本公开实施例所述装置,能够减少图像存储量以及撤销过程中需要执行的图像编辑操作的次数,降低了图像编辑操作的撤销过程中的内存消耗和性能消耗,提高了图像编辑操作的撤销的效率。

作为一种示例,所述第一获取模块1还包括坐标点获取单元和坐标点存储单元,其中,坐标点获取单元用于获取所保存图像对应的图像编辑操作以外的每一图像编辑操作对应的坐标点集合;坐标点存储单元用于存储每一所述图像编辑操作对应的坐标点集合。

需要说明的是,坐标点获取单元可以直接将每一图像编辑操作对应的所有坐标点直接存储,得到对应的坐标点集合,但是,当坐标点数量太多时,也会占用较大的内存,影响图像编辑操作的撤销的效率,因此,坐标点获取单元至少可通过以下两种实施方式来获取每一图像编辑操作对应的坐标点集合。

实施方式一、

所述坐标点获取单元包括第一坐标点获取子单元和第二坐标点获取子单元,其中,第一坐标点获取子单元用于存储每一图像编辑操作的起始坐标点;第二坐标点获取子单元用于当图像编辑操作的时间距离上一坐标点的存储时间等于预设的时间间隔阈值时,将该时间点对应的坐标点存储至该图像操作编辑操作对应的坐标点集合。通过第一坐标点获取子单元和第二坐标点获取子单元能够大幅度减少坐标点集合中坐标点的存储数量,减少内存占用量,且撤销过程中重新绘制该图像编辑操作的过程中也能减少坐标点的数量,提高图像编辑操作的撤销效率。

实施方式二、

所述坐标点获取单元包括第三坐标点获取子单元和第四坐标点获取子单元,其中,第三坐标点获取子单元用于存储每一图像操作编辑的起始坐标端点;第四坐标点获取子单元用于当图像编辑操作的坐标点距离上一坐标点的坐标距离小于等于预设的距离间隔阈值时,将该坐标点存储至该图像操作编辑操作对应的坐标点集合。第三坐标点获取子单元和第四坐标点获取子单元能够大幅度减少坐标点集合中坐标点的存储数量,减少内存占用量,且撤销过程中重新绘制该图像编辑操作的过程中也能减少坐标点的数量,提高图像编辑操作的撤销效率。

作为一种示例,所述第二获取模块2包括用于从所存储的图像中获取距离待撤销编辑操作最近的第一图像的第一图像获取单元,所述第一图像获取单元包括编号确定子单元和第一图像获取子单元,其中,编号确定子单元,用于确定距离待撤销编辑操作最近的第一图像的图像编号n:

n=(m%n)*n

其中,%表示求模运算,m为待撤销编辑操作的编号,n为所述间隔次数;

第一图像获取子单元,用于获取所述图像编号对应的图像。

作为一种示例,所述图像生成模块3具体用于以所述第一图像为初始图像,在所述第一图像上绘制所述第一图像对应的图像编辑操作之后至待撤销操作之前的每一图像编辑操作对应的坐标点集合,生成所述目标图像。

作为一种示例,所述间隔操作次数的取值范围可设置为[100,1000],间隔操作次数在此范围内能够保证较高的撤销效率。当最大撤销次数在[100,1000]范围内时,所述间隔操作次数可直接等于最大撤销次数,这样设置能够更大限度地提高了图像编辑操作的撤销效率。所述最大撤销次数指的是画板、图像编辑器、照片编辑器等画图工具上设置的最大可撤销次数,该数值撤销次数可以是工具自定义,也可以是用户自定义的。但可以理解的是,当最大撤销次数在[100,1000]范围内时,间隔操作次数并不仅限于等于最大撤销次数,可根据具体的应用需求在[100,1000]选择对应的间隔操作次数。

需要说明的是,本公开实施例所述的装置是与本公开实施例所述的方法相对应的,因此所述方法实施例中所描述的技术细节也都同样适用于所述装置,在此不再一一赘述。

本公开实施例还提供一种电子设备,包括:至少一个处理器;以及,与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被设置为用于执行本公开实施例所述图像编辑操作的撤销的方法。

本公开实施例还提供一种计算机可读存储介质,所述计算机指令用于执行本公开实施例所述图像编辑操作的撤销的方法。

图3示出了适于用来实现本公开实施例的电子设备100的结构示意图。本公开实施例中的终端设备可以包括但不限于诸如移动电话、笔记本电脑、数字广播接收器、pda(个人数字助理)、pad(平板电脑)、pmp(便携式多媒体播放器)、车载终端(例如车载导航终端)等等的移动终端以及诸如数字tv、台式计算机等等的固定终端。图3示出的电子设备仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。

如图3所示示例,电子设备100可以包括处理装置(例如中央处理器、图形处理器等)101,其可以根据存储在只读存储器(rom)102中的程序或者从存储装置108加载到随机访问存储器(ram)103中的程序而执行各种适当的动作和处理。在ram103中,还存储有电子设备100操作所需的各种程序和数据。处理装置101、rom102以及ram103通过总线104彼此相连。输入/输出(i/o)接口105也连接至总线104。

通常,以下装置可以连接至i/o接口105:包括例如触摸屏、触摸板、键盘、鼠标、摄像头、麦克风、加速度计、陀螺仪等的输入装置106;包括例如液晶显示器(lcd)、扬声器、振动器等的输出装置107;包括例如磁带、硬盘等的存储装置108;以及通信装置109。通信装置109可以允许电子设备100与其他设备进行无线或有线通信以交换数据。虽然图3示出了具有各种装置的电子设备100,但是应理解的是,并不要求实施或具备所有示出的装置。可以替代地实施或具备更多或更少的装置。

特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信装置109从网络上被下载和安装,或者从存储装置108被安装,或者从rom102被安装。在该计算机程序被处理装置101执行时,执行本公开实施例的方法中限定的上述功能。

需要说明的是,本公开的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑磁盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本公开中,计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读信号介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:电线、光缆、rf(射频)等等,或者上述的任意合适的组合。

上述计算机可读介质可以是上述电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。

可以以一种或多种程序设计语言或其组合来编写用于执行本公开的操作的计算机程序代码,程序设计语言包括面向对象的程序设计语言—诸如java、smalltalk、c++,还包括常规的过程式程序设计语言—诸如“c”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(lan)或广域网(wan)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。

附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。

描述于本公开实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现。其中,单元的图像编辑操作的撤销方法、装置、电子设备及介质在某种情况下并不构成对该单元本身的限定。

以上描述仅为本公开的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本公开中所涉及的公开范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离上述公开构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本公开中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。

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