CN114419193B - 图像绘制方法、装置、电子设备及计算机可读存储介质 - Google Patents
图像绘制方法、装置、电子设备及计算机可读存储介质 Download PDFInfo
- Publication number
- CN114419193B CN114419193B CN202210080868.1A CN202210080868A CN114419193B CN 114419193 B CN114419193 B CN 114419193B CN 202210080868 A CN202210080868 A CN 202210080868A CN 114419193 B CN114419193 B CN 114419193B
- Authority
- CN
- China
- Prior art keywords
- nth
- modified
- minimum
- pixel point
- drawing operation
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T11/00—2D [Two Dimensional] image generation
- G06T11/20—Drawing from basic elements, e.g. lines or circles
- G06T11/206—Drawing of charts or graphs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/90—Determination of colour characteristics
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Image Generation (AREA)
Abstract
本申请提供一种图像绘制方法、装置、电子设备及计算机可读存储介质,属于计算机领域。该方法包括:在画布区域完成第N次绘制操作后,确定第N次绘制操作在画布区域中的最小绘制矩形区域,最小绘制矩形区域为包含被第N次绘制操作修改颜色值的所有像素点的最小区域,其中,N为正整数;获取并保存最小绘制矩形区域的位置信息,并按照预设顺序存储最小绘制矩形区域内每个像素点被第N次绘制操作修改的颜色值。本方案不需要保存历史操作所产生的所有图像,进而减少了需要保存的数据量,从而减小了占用内存,因此,也无需结合图像压缩编码技术来降低内存占用,不会增加需要编码解码的运算开销。
Description
技术领域
本申请涉及计算机技术领域,具体而言,涉及一种图像绘制方法、装置、电子设备及计算机可读存储介质。
背景技术
在绘图过程中,需要将历史操作保存下来,以便于基于历史操作执行撤销重做等操作,通常情况下,需要将每次绘制操作生成的图像内容都保存下来,使得在需要执行撤销或重做操作时,只需要找出之前保存的图像内容,恢复到当前画布即可,但该方案需要保存历史操作所产生的所有图像,导致内存占用过大,因此,使用该方案一般会结合图像压缩编码技术来降低内存占用,但同时也增加了需要编码解码的运算开销。
发明内容
本申请提供一种图像绘制方法、装置、电子设备及计算机可读存储介质,以解决现有技术进行撤销或重做操作时,内存占用过大的问题。
第一方面,本申请提供一种图像绘制方法,包括:在画布区域完成第N次绘制操作后,确定所述第N次绘制操作在所述画布区域中的最小绘制矩形区域,所述最小绘制矩形区域为包含被所述第N次绘制操作修改颜色值的所有像素点的最小区域,其中,N为正整数;获取并保存所述最小绘制矩形区域的位置信息,并按照预设顺序存储所述最小绘制矩形区域内每个像素点被所述第N次绘制操作修改的颜色值。
本申请实施例中,只需要保存第N次绘制操作修改颜色值的所有像素点的最小绘制矩形区域的位置信息,并按照预设顺序存储所述最小绘制矩形区域内每个像素点被所述第N次绘制操作修改的颜色值,不需要保存历史操作所产生的所有图像,进而减少了需要保存的数据量,从而减小了占用内存,因此,也无需结合图像压缩编码技术来降低内存占用,不会增加需要编码解码的运算开销。
结合上述第一方面提供的技术方案,在一些可能的实施方式中,在所述确定所述第N次绘制操作在所述画布区域中的最小绘制矩形区域之后,所述方法还包括:将所述最小绘制矩形区域切分为多个矩形区域;去除所述多个矩形区域中不包含被所述第N次绘制操作修改颜色值的像素点的矩形区域,得到剩余的矩形区域;所述获取并保存所述最小绘制矩形区域的位置信息,并按照预设顺序存储所述最小绘制矩形区域内每个像素点被所述第N次绘制操作修改的颜色值,包括:针对每一个剩余的所述矩形区域,获取并保存该矩形区域的位置信息,并按照预设顺序存储该矩形区域内每个像素点被所述第N次绘制操作修改的颜色值。
本申请实施例中,将最小绘制矩形区域切分为多个矩形区域,并去除该多个矩形区域中不包含被第N次绘制操作修改颜色值的像素点的矩形区域,仅保存剩余矩形区域的位置信息,并按照预设顺序存储该矩形区域内每个像素点被所述第N次绘制操作修改的颜色值,进一步减少了需要保存的数据总量。
结合上述第一方面提供的技术方案,在一些可能的实施方式中,所述获取并保存所述最小绘制矩形区域的位置信息,并按照预设顺序存储所述最小绘制矩形区域内每个像素点被所述第N次绘制操作修改的颜色值,包括:若所述最小绘制矩形区域内所有像素点的颜色值均被所述第N次绘制操作修改,且每个像素点被所述第N次绘制操作修改的颜色值相同时,获取并保存所述最小绘制矩形区域的位置信息和所述第N次绘制操作修改的颜色值;若所述最小绘制矩形区域内存在没有被所述第N次绘制操作修改颜色值的像素点,且被修改的每个像素点与所述第N次绘制操作修改颜色值相同时,获取并保存所述最小绘制矩形区域的位置信息,并按照所述预设顺序存储所述最小绘制矩形区域内每一个像素点是否被所述第N次绘制操作修改以及所述第N次绘制操作修改的颜色值;若所述最小绘制矩形区域内,被修改的像素点被所述第N次绘制操作修改的颜色值不完全相同时,获取并保存所述最小绘制矩形区域的位置信息,并按照预设顺序存储所述最小绘制矩形区域内每个像素点被所述第N次绘制操作修改的颜色值。
本申请实施例中,在最小绘制矩形区域内所有像素点的颜色值均被所述第N次绘制操作修改,且每个像素点被修改的颜色值相同时,无需保存每一个像素点被修改的颜色值,也无需保存其是否被修改,只需要保存一个颜色值及最小绘制矩形区域的位置信息即可,可以有效减少需要存储的数据量。最小绘制矩形区域内,存在没有被所述第N次绘制操作修改颜色值的像素点,且被修改颜色值的像素点的颜色值相同时,也无需保存每一个像素点被修改的颜色值,唯有在最小绘制矩形区域内被所述第N次绘制操作修改颜色值的像素点修改的颜色值不完全相同时,才需要保存每一个像素点被第N次绘制操作修改的颜色值,将绘制操作分为不同情况分别进行数据存储,可以进一步减少需要存储的数据量。
结合上述第一方面提供的技术方案,在一些可能的实施方式中,若所述第N次绘制操作为橡皮擦操作,且在像素点被所述第N次绘制操作修改的颜色值表征透明色时,认为该像素点被所述第N次绘制操作修改。
本申请实施例中,由于橡皮擦操作与其他绘制操作不同,即在执行橡皮擦操作时,是将像素点的颜色值修改为表征透明色的颜色值,因此,在像素点被第N次绘制操作修改的颜色值表征透明色时,认为该像素点被第N次绘制操作修改,使本方案也适用于橡皮擦操作,进而扩大本方案的应用范围。
结合上述第一方面提供的技术方案,在一些可能的实施方式中,在所述获取并保存所述最小绘制矩形区域的位置信息,并按照预设顺序存储所述最小绘制矩形区域内每个像素点被所述第N次绘制操作修改的颜色值后,所述方法还包括:在需要撤销所述第N次绘制操作时,针对所述第N次绘制操作对应的所述最小绘制矩形区域包含的每一个像素点,将该像素点呈现的颜色值恢复为该像素点在第N-1次绘制操作后呈现的颜色值。
本申请实施例中,在获取并保存所述最小绘制矩形区域的位置信息,并按照预设顺序存储所述最小绘制矩形区域内每个像素点被所述第N次绘制操作修改的颜色值后,可以基于保存的数据来执行撤回操作,进而解决了现有技术中执行撤回操作存在的占用内存过大的问题。
结合上述第一方面提供的技术方案,在一些可能的实施方式中,在N大于等于2时,所述将该像素点呈现的颜色值恢复为该像素点在所述第N-1次绘制操作后呈现的颜色值,包括:若该像素点没有被所述第N-1次绘制操作修改,该像素点呈现的颜色值为第N-2次绘制操作后呈现的颜色值;若该像素点被所述第N-1次绘制操作修改,且该像素点第N-1次绘制操作时修改的颜色值为不透明时,该像素点呈现的颜色值为该像素点在第N-1次绘制操作时修改的颜色值;若该像素点被所述第N-1次绘制操作修改,且该像素点第N-1次绘制操作时修改的颜色值的透明度为透明时,该像素点呈现的颜色值为该像素点在第N-1次绘制操作时修改的颜色值与该像素点在第N-2次绘制操作后呈现的颜色值Alpha(阿尔法)混合后的颜色值。
结合上述第一方面提供的技术方案,在一些可能的实施方式中,在第N次绘制操作被撤销之后,所述方法还包括:在需要重做所述第N次绘制操作时,针对所述第N次绘制操作对应的所述最小绘制矩形区域包含的每一个像素点,将该像素点呈现的颜色值恢复为该像素点在所述第N次绘制操作后呈现的颜色值。
本申请实施例中,在执行撤销操作后,可以基于获取并保存的第N次绘制操作对应的最小绘制矩形区域的位置信息和按照预设顺序存储的最小绘制矩形区域内每个像素点被第N次绘制操作修改的颜色值来执行重做操作,进而解决了现有技术中执行重做操作存在的占用内存过大的问题。
第二方面,本申请提供一种图像绘制装置,包括确定模块、获取模块,确定模块用于在画布区域完成第N次绘制操作后,确定所述第N次绘制操作在所述画布区域中的最小绘制矩形区域,所述最小绘制矩形区域为包含被所述第N次绘制操作修改颜色值的所有像素点的最小区域;获取模块用于获取并保存所述最小绘制矩形区域的位置信息,并按照预设顺序存储所述最小绘制矩形区域内每个像素点被所述第N次绘制操作修改的颜色值。
第三方面,本申请实施例提供一种电子设备,包括:存储器和处理器,所述存储器和所述处理器连接;所述存储器,用于存储程序;所述处理器,用于调用存储于所述存储器中的程序,以执行如上述第一方面实施例和/或结合上述第一方面实施例的任一种可能的实施方式提供的方法。
第四方面,本申请实施例提供一种存储介质,其上存储有计算机程序,所述计算机程序被计算机运行时,执行如上述第一方面实施例和/或结合上述第一方面实施例的任一种可能的实施方式提供的方法。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本申请实施例示出的一种图像绘制方法的流程示意图;
图2为本申请实施例示出的一种最小绘制矩形区域的切分示意图;
图3为本申请实施例示出的一种图像绘制装置的结构示意图;
图4为本申请实施例示出的一种电子设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本申请的描述中诸如“第一”、“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
再者,本申请中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。
下面将结合附图对本申请的技术方案进行清楚、完整地描述。
请参阅图1,图1为本申请实施例提供的一种图像绘制方法,下面将结合图1对其包含的步骤进行说明。
S100:在画布区域完成第N次绘制操作后,确定第N次绘制操作在画布区域中的最小绘制矩形区域。
用户在画布区域上进行图像绘制时,电子设备响应用户的在画布区域上进行的图像绘制,在画布区域完成对应的绘制操作,则当用户进行第N次图像绘制时,电子设备响应用户的在画布区域上进行的第N次图像绘制,在画布区域完成第N次绘制操作。
其中,最小绘制矩形区域为包含被第N次绘制操作修改颜色值的所有像素点的最小区域,其中,N为正整数,画布区域表示用于执行绘制操作的区域。颜色值的具体表示方式已为本领域技术人员所熟知,为简要描述,此处不再赘述。
一种实施方式下,确定第N次绘制操作在画布区域中的最小绘制矩形区域的过程可以是,首先确定画布区域中所有被第N次绘制操作修改颜色值的像素点的坐标,然后从被修改的像素点中找出横坐标最大和横坐标最小的两个像素点,以及纵坐标最大和纵坐标最小的两个像素点,然后基于这四个像素点确定最小矩形区域,即该最小矩形区域的两边分别过横坐标最大和横坐标最小的两个像素点,且平行与纵坐标轴,该最小矩形区域的另外两条边分别过纵坐标最大和纵坐标最小的两个像素点,且平行于横坐标轴。
一种实施方式下,若第N次绘制操作为橡皮擦操作,且在像素点被第N次绘制操作修改的颜色值表征透明色时,认为该像素点被第N次绘制操作修改,若该像素点被第N次绘制操作修改的颜色值不表征透明色时,认为该像素点没有被第N次绘制操作修改。若第N次绘制操作不为橡皮擦操作,则在像素点被第N次绘制操作修改的颜色值表征透明色时,认为该像素点没有被第N次绘制操作修改。
S200:获取并保存最小绘制矩形区域的位置信息,并按照预设顺序存储最小绘制矩形区域内每个像素点被第N次绘制操作修改的颜色值。
在确定最小绘制矩形区域后,获取并保存该最小绘制矩形区域的位置信息,并按照预设顺序存储所述最小绘制矩形区域内每个像素点被所述第N次绘制操作修改的颜色值。
其中,最小绘制矩形区域的位置信息是指该最小绘制矩形区域在画布区域内的位置,其可以是最小绘制矩形区域的一个角的坐标和最小还在矩形区域的长、宽,也可以是最小绘制矩形区域一对角线两端的角的坐标,还可以是最小绘制矩形区域的四个角的坐标,只要该坐标信息能表示该最小绘制矩形区域在画布区域内的位置即可,位置信息具体包括的数据可以根据实际需求设置,此处不作限制。
预设顺序是指存储最小绘制矩形区域内像素点被第N次绘制操作修改的颜色值的顺序,例如,可以是从矩形区域的左上角的像素点开始,按照从左到右的顺序依次存储最小绘制矩形区域内最上一行像素点被第N次绘制操作修改的颜色值,然后依旧按照从左到右的顺序存储最小绘制矩形区域内从上向下数,第二行像素点被第N次绘制操作修改的颜色值,以此类推,直至最小绘制矩形区域内所有像素点被第N次绘制操作修改的颜色值都存储完毕。可以理解的是,上述举例的预设顺序仅是为了便于理解而作出的举例,具体的预设顺序可以根据实际需求设置,此处不做限制。
一种实施方式下,在确定第N次绘制操作在所述画布区域中的最小绘制矩形区域之后,该图像绘制方法还包括,首先将最小绘制矩形区域切分为多个矩形区域,然后去除该多个矩形区域中不包含被第N次绘制操作修改颜色值的像素点的矩形区域,得到剩余的矩形区域,S200的过程可以是,针对剩余的每一个矩形区域,获取并保存该矩形区域的位置信息,并按照预设顺序存储该矩形区域内每个像素点被所述第N次绘制操作修改的颜色值。
可选的,也可以是将最小绘制矩形区域切分预设数量的矩形区域,例如2、3、4、5……K,其中,K为大于等于2的正整数。也可以是根据最小矩形绘制区域包含的像素点数量来确定切分的矩形区域数量,例如,最小绘制矩形区域中包含的像素点数量在第一预设数量范围内时,将最小绘制矩形区域切分为第一预设数量的矩形区域,在最小绘制矩形区域中包含的像素点数量在第二预设数量范围内时,将最小绘制矩形区域切分为第二预设数量的矩形区域……在最小绘制矩形区域中包含的像素点数量在第J预设数量范围内时,将最小绘制矩形区域切分为第J预设数量的矩形区域,其中,J为大于等于2的正整数,预设数量范围的具体范围和预设数量的具体数值可以根据实际需求设置,此处不作限制。
其中,在确定了将最小绘制矩形区域切分的矩形区域的数量后,可以是将最小矩形区域进行平均切分,具体的切分方式可以根据实际需求设置,此处不作限制。
为了便于理解上述切分最小绘制矩形区域的方式,以将最小绘制矩形区域平均切分为16个相同的矩形区域为例,如图2所示,第N次操作为绘制闪电形状,将切分得到的16个矩形区域中不包含被第N次绘制操作修改颜色值的像素点的矩形区域去除,例如去除图2中标有1、2、3、4、5的5个矩形区域。图2所示的切分最小绘制矩形区域的方式仅为便于理解而作出的示例,本申请不对具体的切分数量和切分方式此处不作限制,因此,图2所示的切分最小绘制矩形区域的方式不应作为对本申请的限制。
一种实施方式下,在最小绘制矩形区域内所有像素点的颜色值均被第N次绘制操作修改,且每个像素点被第N次绘制操作修改的颜色值相同时,以下简称第一种修改方式,获取并保存最小绘制矩形区域的位置信息,并按照预设顺序存储最小绘制矩形区域内每个像素点被第N次绘制操作修改的颜色值的方式可以是,仅获取并保存最小绘制矩形区域的位置信息和所述第N次绘制操作修改的颜色值。该方式无需保存每一个像素点被修改的颜色值,也无需保存该像素点的颜色值是否被修改,只需要保存一个颜色值、最小绘制矩形区域的位置信息即可,可以有效减少需要存储的数据量。
一种实施方式下,在最小绘制矩形区域内存在没有被第N次绘制操作修改颜色值的像素点,且被修改的每个像素点被第N次绘制操作修改的颜色值相同时,以下简称第二种修改方式,获取并保存最小绘制矩形区域的位置信息,并按照预设顺序存储最小绘制矩形区域内每个像素点被第N次绘制操作修改的颜色值的方式可以是,获取并保存最小绘制矩形区域的位置信息,并按照所述预设顺序存储所述最小绘制矩形区域内每一个像素点是否被所述第N次绘制操作修改以及所述第N次绘制操作修改的颜色值。例如,可以是保存一个颜色值、最小绘制矩形区域的位置信息和一个bit(比特)数组,其中,bit数组中存储有该最小绘制矩形区域内的某个像素是否被修改。
一种实施方式下,在最小绘制矩形区域内,被修改的像素点被第N次绘制操作修改的颜色值不完全相同时,以下简称第三种修改方式,获取并保存最小绘制矩形区域的位置信息,并按照预设顺序存储最小绘制矩形区域内每个像素点被第N次绘制操作修改的颜色值的方式可以是,获取并保存最小绘制矩形区域的位置信息,并按照预设顺序存储最小绘制矩形区域内每个像素点被第N次绘制操作修改的颜色值。例如,可以是保存最小绘制矩形区域和一个颜色数组,该颜色数组用来按照预设顺序存储最小绘制矩形区域内每个像素点被第N次绘制操作修改的颜色值。其中,当最小绘制矩形区域内存在没有被第N次绘制操作修改的像素点时,则该像素点被第N次绘制操作修改的颜色值表征透明色。
可选的,在第一种修改方式下,将最小绘制矩形区域的位置信息和第N次绘制操作修改的颜色值保存为SolidRectFragment(实体矩形片段)类型的数据,在第二种修改方式下,将最小绘制矩形区域的位置信息、最小绘制矩形区域内每一个像素点否被第N次绘制操作修改以及第N次绘制操作修改的颜色值保存至SingleColorRectFragment(单色值矩形片段)类型的数据,在第三种修改方式下,将最小绘制矩形区域的位置信息和按照预设顺序存储的最小绘制矩形区域内每个像素点被第N次绘制操作修改的颜色值保存至MultiColorRectFragment(多色值矩形片段)类型的数据。
一种实施方式下,在获取并保存最小绘制矩形区域的位置信息,并按照预设顺序存储最小绘制矩形区域内每个像素点被第N次绘制操作修改的颜色值后,图像绘制方法还包括:在需要撤销第N次绘制操作时,针对第N次绘制操作对应的最小绘制矩形区域包含的每一个像素点,将该像素点呈现的颜色值恢复为第N-1次绘制操作后呈现的颜色值。
可选的,针对第N次绘制操作对应的最小绘制矩形区域包含的每一个像素点,将该像素点呈现的颜色值恢复为第N-1次绘制操作后的颜色值的过程可以是,针对第N次绘制操作对应的最小绘制矩形区域包含的每一个像素点,基于第N次绘制操作对应的最小绘制矩形区域的位置信息和按照预设顺序存储的最小绘制矩形区域内每个像素点被第N次绘制操作修改的颜色值,确定该像素点是否被第N次绘制操作修改,若该像素点没有被第N次绘制操作修改,则保持该像素点的颜色值不变,若该像素点被第N次绘制操作修改,则该像素点呈现的颜色值恢复为第N-1次绘制操作后该像素点呈现的颜色值。
可选的,在N为1时,该像素点第N-1次绘制操作后呈现的颜色值为透明色。
可选的,在N大于等于2时,若该像素点没有被第N-1次绘制操作修改,则该像素点第N-1次绘制操作后呈现的颜色值为第N-2次绘制操作后呈现的颜色值。
可选的,在N大于等于2时,若该像素点被第N-1次绘制操作修改,且该像素点第N-1次绘制操作时修改的颜色值为不透明时,则该像素点第N-1次绘制操作后呈现的颜色值为该像素点在第N-1次绘制操作时修改的颜色值。
可选的,在N大于等于2时,若该像素点被第N-1次绘制操作修改,且该像素点第N-1次绘制操作时修改的颜色值的透明度为透明时,则该像素点第N-1次绘制操作后呈现的颜色值为该像素点在第N-1次绘制操作时修改的颜色值与该像素点在第N-2次绘制操作后呈现的颜色值Alpha混合后的颜色值。
其中,在像素点被第N次绘制操作修改的颜色值为不透明时,像素点在第N次绘制操作后呈现的颜色值与像素点被第N次绘制操作修改的颜色值相同。在像素点被第N次绘制操作修改的颜色值为透明时,像素点在第N次绘制操作后呈现的颜色值与像素点在被第N次绘制操作修改的颜色值和像素点在第N-1次绘制操作后呈现的颜色值Alpha混合后的颜色值相同。对颜色值进行Alpha混合的方法及过程已为本领域技术人员所熟知,为简要描述,此处不再赘述。
其中,像素点在第N-2次绘制操作后呈现的颜色值的确定方式与像素点在第N-1次绘制操作后呈现的颜色值的确定方式相同,为简要描述,此处不再赘述。
一种实施方式下,在第N次绘制操作被撤销之后,图像绘制方法还包括在需要重做第N次绘制操作时,针对第N次绘制操作对应的最小绘制矩形区域包含的每一个像素点,将该像素点呈现的颜色值恢复为第N次绘制操作后呈现的颜色值。
可选的,若该像素点没有被第N次绘制操作修改,则该像素点第N次绘制操作后呈现的颜色值为第N-1次绘制操作后呈现的颜色值。
可选的,若该像素点被第N次绘制操作修改,且该像素点第N次绘制操作时修改的颜色值为不透明时,则该像素点第N次绘制操作后呈现的颜色值为该像素点在第N次绘制操作时修改的颜色值。
可选的,若该像素点被第N次绘制操作修改,且该像素点第N次绘制操作时修改的颜色值的透明度为透明时,则该像素点第N次绘制操作后呈现的颜色值为该像素点在第N次绘制操作时修改的颜色值与该像素点在第N-1次绘制操作后呈现的颜色值Alpha混合后的颜色值。
一种实施方式下,S200还可以是获取并保存最小绘制矩形区域的位置信息,并按照预设顺序存储最小绘制矩形区域内每个像素点被第N次绘制操作修改后呈现的颜色值。
可选的,图像绘制方法还包括:在需要撤销第N次绘制操作时,针对第N次绘制操作对应的最小绘制矩形区域包含的每一个像素点,将该像素点呈现的颜色值恢复为第N-1次绘制操作后呈现的颜色值。由于保存有该像素点第N-1次绘制操作后呈现的颜色值,因此,可以直接获取该像素点第N-1次绘制操作后呈现的颜色值。
可选的,在第N次绘制操作被撤销之后,图像绘制方法还包括:在需要重做第N次绘制操作时,针对第N次绘制操作对应的最小绘制矩形区域包含的每一个像素点,将该像素点呈现的颜色值恢复为第N次绘制操作后呈现的颜色值。由于保存有该像素点第N次绘制操作后呈现的颜色值,因此,可以直接获取该像素点第N次绘制操作后呈现的颜色值。
请参阅图3,图3为本申请实施例提供的一种图像绘制装置100,包括确定模块110和获取模块120。
确定模块110,用于在画布区域完成第N次绘制操作后,确定所述第N次绘制操作在所述画布区域中的最小绘制矩形区域,所述最小绘制矩形区域为包含被所述第N次绘制操作修改颜色值的所有像素点的最小区域;
获取模块120,用于获取并保存所述最小绘制矩形区域的位置信息,并按照预设顺序存储所述最小绘制矩形区域内每个像素点被所述第N次绘制操作修改的颜色值。
图像绘制装置100还包括切分模块,切分模块用于将所述最小绘制矩形区域切分为多个矩形区域;去除所述多个矩形区域中不包含被所述第N次绘制操作修改颜色值的像素点的矩形区域,得到剩余的矩形区域。此时,获取模块120,还用于针对每一个剩余的所述矩形区域,获取并保存该矩形区域的位置信息,并按照预设顺序存储该矩形区域内每个像素点被所述第N次绘制操作修改的颜色值。
获取模块120,具体用于若所述最小绘制矩形区域内所有像素点的颜色值均被所述第N次绘制操作修改,且每个像素点被所述第N次绘制操作修改的颜色值相同时,获取并保存所述最小绘制矩形区域的位置信息和所述第N次绘制操作修改的颜色值;若所述最小绘制矩形区域内存在没有被所述第N次绘制操作修改颜色值的像素点,且被修改的每个像素点与所述第N次绘制操作修改颜色值相同时,获取并保存所述最小绘制矩形区域的位置信息,并按照所述预设顺序存储所述最小绘制矩形区域内每一个像素点是否被所述第N次绘制操作修改以及所述第N次绘制操作修改的颜色值;若所述最小绘制矩形区域内,被修改的像素点被所述第N次绘制操作修改的颜色值不完全相同时,获取并保存所述最小绘制矩形区域的位置信息,并按照预设顺序存储所述最小绘制矩形区域内每个像素点被所述第N次绘制操作修改的颜色值。
一种实施方式下,若所述第N次绘制操作为橡皮擦操作,则在像素点被所述第N次绘制操作修改的颜色值表征透明色时,认为该像素点被所述第N次绘制操作修改。
图像绘制装置100还包括撤销模块,撤销模块用于在需要撤销所述第N次绘制操作时,针对所述第N次绘制操作对应的所述最小绘制矩形区域包含的每一个像素点,将该像素点呈现的颜色值恢复为该像素点在第N-1次绘制操作后呈现的颜色值。
撤销模块,还用于若该像素点没有被所述第N-1次绘制操作修改,该像素点呈现的颜色值为第N-2次绘制操作后呈现的颜色值;若该像素点被所述第N-1次绘制操作修改,且该像素点第N-1次绘制操作时修改的颜色值为不透明时,该像素点呈现的颜色值为该像素点在第N-1次绘制操作时修改的颜色值;若该像素点被所述第N-1次绘制操作修改,且该像素点第N-1次绘制操作时修改的颜色值的透明度为透明时,该像素点呈现的颜色值为该像素点在第N-1次绘制操作时修改的颜色值与该像素点在第N-2次绘制操作后呈现的颜色值Alpha混合后的颜色值。
图像绘制装置100还包括重做模块,重做模块用于在需要重做所述第N次绘制操作时,针对所述第N次绘制操作对应的所述最小绘制矩形区域包含的每一个像素点,将该像素点呈现的颜色值恢复为该像素点在所述第N次绘制操作后呈现的颜色值。
本申请实施例所提供的图像绘制装置100,其实现原理及产生的技术效果和前述图像绘制方法实施例相同,为简要描述,装置实施例部分未提及之处,可参考前述图像绘制方法实施例中相应内容。
请参阅图4,其为本申请实施例提供的一种电子设备200。所述电子设备200包括:收发器210、存储器220、通讯总线230、处理器240。
所述收发器210、所述存储器220、处理器240各元件相互之间直接或间接地电性连接,以实现数据的传输或交互。例如,这些元件相互之间可通过一条或多条通讯总线230或信号线实现电性连接。其中,收发器210用于收发数据。存储器220用于存储计算机程序,如存储有图3中所示的软件功能模块,即图像绘制装置100。其中,图像绘制装置100包括至少一个可以软件或固件(firmware)的形式存储于所述存储器220中或固化在所述电子设备200的操作系统(operating system,OS)中的软件功能模块。所述处理器240,用于执行存储器220中存储的可执行模块,例如图像绘制装置100包括的软件功能模块或计算机程序。此时,处理器240,用于在画布区域完成第N次绘制操作后,确定所述第N次绘制操作在所述画布区域中的最小绘制矩形区域,所述最小绘制矩形区域为包含被所述第N次绘制操作修改颜色值的所有像素点的最小区域,其中,N为正整数;获取并保存所述最小绘制矩形区域的位置信息,并按照预设顺序存储所述最小绘制矩形区域内每个像素点被所述第N次绘制操作修改的颜色值。
其中,存储器220可以是,但不限于,随机存取存储器(Random Access Memory,RAM),只读存储器(Read Only Memory,ROM),可编程只读存储器(Programmable Read-OnlyMemory,PROM),可擦除只读存储器(Erasable Programmable Read-Only Memory,EPROM),电可擦除只读存储器(Electric Erasable Programmable Read-Only Memory,EEPROM)等。
处理器240可能是一种集成电路芯片,具有信号的处理能力。上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(NetworkProcessor,NP)等;还可以是数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(FieldProgrammable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器240也可以是任何常规的处理器等。
其中,上述的电子设备200,包括但不限于个人电脑、服务器等。
本申请实施例还提供了一种非易失性计算机可读取存储介质(以下简称存储介质),该存储介质上存储有计算机程序,该计算机程序被计算机如上述的电子设备200运行时,执行上述所示的图像绘制方法。该计算机可读存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅为本申请的优选实施例而已,并不用于限制本申请,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (9)
1.一种图像绘制方法,其特征在于,包括:
在画布区域完成第N次绘制操作后,确定所述第N次绘制操作在所述画布区域中的最小绘制矩形区域,所述最小绘制矩形区域为包含被所述第N次绘制操作修改颜色值的所有像素点的最小区域,其中,N为正整数;
获取并保存所述最小绘制矩形区域的位置信息,并按照预设顺序存储所述最小绘制矩形区域内每个像素点被所述第N次绘制操作修改的颜色值;
其中,所述获取并保存所述最小绘制矩形区域的位置信息,并按照预设顺序存储所述最小绘制矩形区域内每个像素点被所述第N次绘制操作修改的颜色值,包括:
若所述最小绘制矩形区域内所有像素点的颜色值均被所述第N次绘制操作修改,且每个像素点被所述第N次绘制操作修改的颜色值相同时,获取并保存所述最小绘制矩形区域的位置信息和所述第N次绘制操作修改的颜色值;
若所述最小绘制矩形区域内存在没有被所述第N次绘制操作修改颜色值的像素点,且被修改的每个像素点与所述第N次绘制操作修改颜色值相同时,获取并保存所述最小绘制矩形区域的位置信息,并按照所述预设顺序存储所述最小绘制矩形区域内每一个像素点是否被所述第N次绘制操作修改以及所述第N次绘制操作修改的颜色值;
若所述最小绘制矩形区域内,被修改的像素点被所述第N次绘制操作修改的颜色值不完全相同时,获取并保存所述最小绘制矩形区域的位置信息,并按照预设顺序存储所述最小绘制矩形区域内每个像素点被所述第N次绘制操作修改的颜色值。
2.根据权利要求1所述的方法,其特征在于,在所述确定所述第N次绘制操作在所述画布区域中的最小绘制矩形区域之后,所述方法还包括:
将所述最小绘制矩形区域切分为多个矩形区域;
去除所述多个矩形区域中不包含被所述第N次绘制操作修改颜色值的像素点的矩形区域,得到剩余的矩形区域;
所述获取并保存所述最小绘制矩形区域的位置信息,并按照预设顺序存储所述最小绘制矩形区域内每个像素点被所述第N次绘制操作修改的颜色值,包括:
针对每一个剩余的所述矩形区域,获取并保存该矩形区域的位置信息,并按照预设顺序存储该矩形区域内每个像素点被所述第N次绘制操作修改的颜色值。
3.根据权利要求1所述的方法,其特征在于,若所述第N次绘制操作为橡皮擦操作,则在像素点被所述第N次绘制操作修改的颜色值表征透明色时,认为该像素点被所述第N次绘制操作修改。
4.根据权利要求1所述的方法,其特征在于,在所述获取并保存所述最小绘制矩形区域的位置信息,并按照预设顺序存储所述最小绘制矩形区域内每个像素点被所述第N次绘制操作修改的颜色值后,所述方法还包括:
在需要撤销所述第N次绘制操作时,针对所述第N次绘制操作对应的所述最小绘制矩形区域包含的每一个像素点,将该像素点呈现的颜色值恢复为该像素点在第N-1次绘制操作后呈现的颜色值。
5.根据权利要求4所述的方法,其特征在于,在N大于等于2时,所述将该像素点呈现的颜色值恢复为该像素点在所述第N-1次绘制操作后呈现的颜色值,包括:
若该像素点没有被所述第N-1次绘制操作修改,该像素点呈现的颜色值为第N-2次绘制操作后呈现的颜色值;
若该像素点被所述第N-1次绘制操作修改,且该像素点第N-1次绘制操作时修改的颜色值为不透明时,该像素点呈现的颜色值为该像素点在第N-1次绘制操作时修改的颜色值;
若该像素点被所述第N-1次绘制操作修改,且该像素点第N-1次绘制操作时修改的颜色值的透明度为透明时,该像素点呈现的颜色值为该像素点在第N-1次绘制操作时修改的颜色值与该像素点在第N-2次绘制操作后呈现的颜色值混合后的颜色值。
6.根据权利要求4所述的方法,其特征在于,在第N次绘制操作被撤销之后,所述方法还包括:
在需要重做所述第N次绘制操作时,针对所述第N次绘制操作对应的所述最小绘制矩形区域包含的每一个像素点,将该像素点呈现的颜色值恢复为该像素点在所述第N次绘制操作后呈现的颜色值。
7.一种图像绘制装置,其特征在于,包括:
确定模块,用于在画布区域完成第N次绘制操作后,确定所述第N次绘制操作在所述画布区域中的最小绘制矩形区域,所述最小绘制矩形区域为包含被所述第N次绘制操作修改颜色值的所有像素点的最小区域;
获取模块,用于获取并保存所述最小绘制矩形区域的位置信息,并按照预设顺序存储所述最小绘制矩形区域内每个像素点被所述第N次绘制操作修改的颜色值;
所述获取模块,具体用于若所述最小绘制矩形区域内所有像素点的颜色值均被所述第N次绘制操作修改,且每个像素点被所述第N次绘制操作修改的颜色值相同时,获取并保存所述最小绘制矩形区域的位置信息和所述第N次绘制操作修改的颜色值;若所述最小绘制矩形区域内存在没有被所述第N次绘制操作修改颜色值的像素点,且被修改的每个像素点与所述第N次绘制操作修改颜色值相同时,获取并保存所述最小绘制矩形区域的位置信息,并按照所述预设顺序存储所述最小绘制矩形区域内每一个像素点是否被所述第N次绘制操作修改以及所述第N次绘制操作修改的颜色值;若所述最小绘制矩形区域内,被修改的像素点被所述第N次绘制操作修改的颜色值不完全相同时,获取并保存所述最小绘制矩形区域的位置信息,并按照预设顺序存储所述最小绘制矩形区域内每个像素点被所述第N次绘制操作修改的颜色值。
8.一种电子设备,其特征在于,包括:存储器和处理器,所述存储器和所述处理器连接;
所述存储器,用于存储程序;
所述处理器,用于调用存储于所述存储器中的程序,以执行如权利要求1-6中任一项所述的方法。
9.一种计算机可读存储介质,其特征在于,其上存储有计算机程序,所述计算机程序被计算机运行时,执行如权利要求1-6中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210080868.1A CN114419193B (zh) | 2022-01-24 | 2022-01-24 | 图像绘制方法、装置、电子设备及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210080868.1A CN114419193B (zh) | 2022-01-24 | 2022-01-24 | 图像绘制方法、装置、电子设备及计算机可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114419193A CN114419193A (zh) | 2022-04-29 |
CN114419193B true CN114419193B (zh) | 2023-03-10 |
Family
ID=81277936
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210080868.1A Active CN114419193B (zh) | 2022-01-24 | 2022-01-24 | 图像绘制方法、装置、电子设备及计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114419193B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116596736B (zh) * | 2023-06-01 | 2024-03-22 | 中建三局信息科技有限公司 | 一种网页系统的隐水印生成方法、装置、设备及存储介质 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104077100A (zh) * | 2014-06-27 | 2014-10-01 | 广东威创视讯科技股份有限公司 | 复合缓冲区图像显示方法及装置 |
CN107391148A (zh) * | 2017-07-28 | 2017-11-24 | 广州视源电子科技股份有限公司 | 视图元素保存方法、装置、电子设备及计算机存储介质 |
CN110286992A (zh) * | 2019-07-02 | 2019-09-27 | 中国工商银行股份有限公司 | 界面图形重绘的方法及装置 |
CN111552410A (zh) * | 2020-05-13 | 2020-08-18 | 广州视源电子科技股份有限公司 | 书写痕迹处理方法、装置、设备及计算机可读存储介质 |
CN112070864A (zh) * | 2019-06-11 | 2020-12-11 | 腾讯科技(深圳)有限公司 | 动画渲染方法、装置、计算机可读存储介质和计算机设备 |
CN112925467A (zh) * | 2021-01-27 | 2021-06-08 | 江苏天策机器人科技有限公司 | 一种商用清洁机器人人机交互系统 |
CN113963083A (zh) * | 2021-11-04 | 2022-01-21 | 北京思明启创科技有限公司 | 编程积木块绘制方法、积木搭建方法、装置及电子设备 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120246554A1 (en) * | 2011-03-23 | 2012-09-27 | Ericom Software Ltd. | Performing binary composition of images onto an html canvas element |
CN108932745B (zh) * | 2017-05-23 | 2020-11-17 | 腾讯科技(深圳)有限公司 | 图像绘制方法、装置、终端设备及计算机可读存储介质 |
JP7027023B2 (ja) * | 2020-03-16 | 2022-03-01 | 任天堂株式会社 | 画像処理装置、画像処理プログラム、画像処理方法および画像処理システム |
-
2022
- 2022-01-24 CN CN202210080868.1A patent/CN114419193B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104077100A (zh) * | 2014-06-27 | 2014-10-01 | 广东威创视讯科技股份有限公司 | 复合缓冲区图像显示方法及装置 |
CN107391148A (zh) * | 2017-07-28 | 2017-11-24 | 广州视源电子科技股份有限公司 | 视图元素保存方法、装置、电子设备及计算机存储介质 |
CN112070864A (zh) * | 2019-06-11 | 2020-12-11 | 腾讯科技(深圳)有限公司 | 动画渲染方法、装置、计算机可读存储介质和计算机设备 |
CN110286992A (zh) * | 2019-07-02 | 2019-09-27 | 中国工商银行股份有限公司 | 界面图形重绘的方法及装置 |
CN111552410A (zh) * | 2020-05-13 | 2020-08-18 | 广州视源电子科技股份有限公司 | 书写痕迹处理方法、装置、设备及计算机可读存储介质 |
CN112925467A (zh) * | 2021-01-27 | 2021-06-08 | 江苏天策机器人科技有限公司 | 一种商用清洁机器人人机交互系统 |
CN113963083A (zh) * | 2021-11-04 | 2022-01-21 | 北京思明启创科技有限公司 | 编程积木块绘制方法、积木搭建方法、装置及电子设备 |
Non-Patent Citations (3)
Title |
---|
Computational Efficiency Improvements for Image Colorization;Chao Yu,et al.;《PROCEEDINGS OF SPIE》;20140307;第1-7页 * |
VC环境下巨幅图像的绘制与打印方法;曾少军 等;《计算机应用》;20011130;第101-102页 * |
基于web的时变体数据的体绘制方法;张桢 等;《计算机测量与控制》;20200430;第205-210、216页 * |
Also Published As
Publication number | Publication date |
---|---|
CN114419193A (zh) | 2022-04-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9286653B2 (en) | System and method for increasing the bit depth of images | |
CN114419193B (zh) | 图像绘制方法、装置、电子设备及计算机可读存储介质 | |
US20240282109A1 (en) | Method and apparatus for tensor processing | |
CN108989704B (zh) | 图像生成方法和装置、终端设备 | |
CN112651953A (zh) | 图片相似度计算方法、装置、计算机设备及存储介质 | |
CN111091572A (zh) | 一种图像处理方法、装置、电子设备及存储介质 | |
US9671993B2 (en) | Virtualizing applications for per-monitor displaying | |
CN114374392A (zh) | 一种数据压缩存储方法、装置、终端设备及可读存储介质 | |
CN114359048A (zh) | 图像的数据增强方法、装置、终端设备及存储介质 | |
CN111160358A (zh) | 一种图像二值化方法、装置、设备、介质 | |
CN115719444A (zh) | 图像质量确定方法、装置、电子设备和介质 | |
CN114693919A (zh) | 一种目标检测方法、终端设备及存储介质 | |
CN109445652B (zh) | 一种pdf文档显示方法及终端设备 | |
CN113343797A (zh) | 信息提取方法、装置、终端设备及计算机可读存储介质 | |
CN111739084B (zh) | 图片处理方法、图集处理方法、计算机设备和存储介质 | |
CN112118478A (zh) | 文本处理方法、装置、电子设备及存储介质 | |
CN114092925A (zh) | 一种视频字幕检测方法、装置、终端设备及存储介质 | |
CN111708500A (zh) | 一种图纸打印方法、装置、电子设备和存储介质 | |
CN111292342A (zh) | 图像中的文本切割方法、装置、设备及可读存储介质 | |
CN111709210A (zh) | 一种生成元件清单的方法、装置、终端设备及存储介质 | |
CN112416191B (zh) | 录屏处理方法、装置、计算机设备和计算机可读存储介质 | |
CN112101059B (zh) | 一种条形码定位方法、装置、终端设备及存储介质 | |
CN111091570B (zh) | 图像分割标注方法、装置、设备及存储介质 | |
CN109948392B (zh) | 二维码边界检测方法、分割方法、存储介质和电子设备 | |
CN117574001A (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 |