一种对截图进行马赛克处理的方法和装置与流程

文档序号:13217061阅读:290来源:国知局
技术领域本发明涉及图像处理技术,尤其涉及一种对截图进行马赛克处理的方法和装置。

背景技术:
在截图过程中,如果用户不想让他人看到截图中的某些内容,可以将截图保存下来,然后利用第三方软件对截图的相应位置进行马赛克处理。以美图秀秀为例(可参见图1),用户打开存储在本地的截图文件,在选择马赛克工具后,使用鼠标在截图上涂抹,涂抹过得区域经预定的算法处理取得马赛克效果,之后,用户点击“应用”按钮将上述马赛克处理应用到截图上。上述方式虽然能够满足用户对截图进行马赛克处理的需求,但存在以下缺陷:一、用户需要预先对截图进行保存,导致流程繁琐,降低了用户体验;二、在马赛克涂抹的过程中,无法与其他截图工具(如画刷、文字等)相互叠加使用,例如,用户点击应用马赛克处理之后才能插入文字,此后如果需要撤销之前的马赛克,则需要重新截图。

技术实现要素:
本发明实施例提供了一种对截图进行马赛克处理的方法和装置,无需对截图进行保存,可在截图生成的过程中,直接在截图区域的指定位置添加马赛克效果,且可以与其他截图工具相互叠加使用,方便用户对截图进行实时编辑,提升用户体验。本发明实施例的第一方面提供了一种对截图进行马赛克处理的方法,包括:当用户在选定截图区域后点击马赛克工具时,在所述截图区域的顶层添加绘制层;当用户在所述绘制层选定待进行马赛克处理的待绘制区域时,获取待绘制区域信息;获取所述截图区域的背景位图;确定所述背景位图的马赛克块位置信息;根据所述马赛克块位置信息和所述待绘制区域信息,在所述绘制层进行马赛克处理,得到马赛克位图;将所述马赛克位图覆盖到所述背景位图上。本发明实施例第二方面提供了一种对截图进行马赛克处理的装置,包括:添加单元,用于当用户在选定截图区域后点击马赛克工具时,在所述截图区域的顶层添加绘制层;第一获取单元,用于当用户在所述绘制层选定待进行马赛克处理的待绘制区域时,获取待绘制区域信息;第二获取单元,用于获取所述截图区域的背景位图;确定单元,用于确定所述背景位图的马赛克块位置信息;处理单元,用于根据所述马赛克块位置信息和所述待绘制区域信息,在所述绘制层进行马赛克处理,得到马赛克位图;覆盖单元,用于将所述马赛克位图覆盖到所述背景位图上。本发明实施例提供的技术方案中,当用户在选定截图区域后点击马赛克工具时,先在截图区域的顶层添加绘制层,以保证马赛克工具能够和其他截图工具叠加使用,当用户在绘制层选定待进行马赛克处理的待绘制区域时,获取待绘制区域信息,并获取截图区域的背景位图,确定该背景位图的马赛克块位置信息,以确定背景位图上每行每列马赛克块的位置,然后根据上述马赛克块位置信息和获取的待绘制区域信息在绘制层进行马赛克处理,以在待绘制区域添加马赛克效果,得到马赛克位图,最后将该马赛克位图覆盖到背景位图上,使得生成的截图的相应位置添加有马赛克。因此相对于现有技术,本发明实施例无需对截图进行保存,可在截图生成的过程中,直接在截图区域的指定位置添加马赛克效果,且可以与其他截图工具相互叠加使用,方便用户对截图进行实时编辑,提升用户体验。附图说明图1a为现有技术中对截图进行马赛克处理的方法的一个应用场景示意图;图1b为本发明实施例中对截图进行马赛克处理的方法一个实施例示意图;图2为本发明实施例中对截图进行马赛克处理的方法另一实施例示意图;图3为本发明实施例中对截图进行马赛克处理的装置一个实施例示意图;图4为本发明实施例中对截图进行马赛克处理的装置另一实施例示意图;图5为本发明实施例中对截图进行马赛克处理的装置另一实施例示意图。具体实施方式本发明实施例提供了一种对截图进行马赛克处理的方法和装置,无需对截图进行保存,可在截图生成的过程中,直接在截图区域的指定位置添加马赛克效果,且可以与其他截图工具相互叠加使用,方便用户对截图进行实时编辑,提升用户体验,以下分别进行详细说明。下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的页序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的页序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。请参阅图1b,本发明实施例中对截图进行马赛克处理的方法一个实施例包括:在本实施例中,本发明实施例是对现有截图逻辑框架的改进。在实际应用过程中,当用户使用截图工具来选定截图区域时,系统会弹出截图工具栏,该截图工具栏包含多个截图编辑工具的图标,例如,画刷工具、文字工具或者图形工具等,在本实施例中,截图工具栏还包括马赛克工具,以触发对应的马赛克处理程序。101、在截图区域的顶层添加绘制层;当用户在选定截图区域后点击马赛克工具时,进入马赛克处理程序,对截图进行马赛克处理的装置会在截图区域的顶层添加绘制层,从而将后续的马赛克处理转移至绘制层,以保证马赛克工具能够和其他截图工具叠加使用,在实际应用过程中,如果内存中保存有为该截图区域添加的绘制层,则无需再重复执行添加绘制层的操作,因此,对截图进行马赛克处理的装置可以首先检查最顶层的工具是不是马赛克工具,若不是,则添加一个马赛克绘制层。102、获取待绘制区域信息;用户根据需要使用鼠标在绘制层上选定待进行马赛克处理的待绘制区域,以确定绘制层的哪些位置需要添加马赛克效果,此时,对截图进行马赛克处理的装置获取待绘制区域信息,该待绘制区域信息可以指示用户需要添加马赛克效果的区域。103、获取截图区域的背景位图;在本实施例中,截图区域的背景位图即还未添加马赛克效果时对应的原始截图。对截图进行马赛克处理的装置可以通过截图模块提供的接口取出该背景位图。104、确定背景位图的马赛克块位置信息;其中,马赛克块位置信息包含背景位图上每行每列马赛克块的位置。105、根据马赛克块位置信息和待绘制区域信息,在绘制层进行马赛克处理,得到马赛克位图;在确定背景位图的马赛克块位置信息后,对截图进行马赛克处理的装置可以利用上述马赛克块位置信息在绘制层进行马赛克处理,为待绘制区域添加马赛克效果。在本实施例中,绘制层为背景位图的上层图层,因此背景位图的马赛克块位置信息与绘制层的马赛克块位置信息一致。106、将马赛克位图覆盖到背景位图上;对截图进行马赛克处理的装置将该马赛克位图覆盖到背景位图上,使得生成的截图的相应位置添加有马赛克效果,完成对截图指定位置的马赛克处理。本发明实施例提供的技术方案中,当用户在选定截图区域后点击马赛克工具时,先在截图区域的顶层添加绘制层,以保证马赛克工具能够和其他截图工具叠加使用,当用户在绘制层选定待进行马赛克处理的待绘制区域时,获取待绘制区域信息,并获取截图区域的背景位图,确定该背景位图的马赛克块位置信息,以确定背景位图上每行每列马赛克块的位置,然后根据上述马赛克块位置信息和获取的待绘制区域信息在绘制层进行马赛克处理,以在待绘制区域添加马赛克效果,得到马赛克位图,最后将该马赛克位图覆盖到背景位图上,使得生成的截图的相应位置添加有马赛克。因此相对于现有技术,本发明实施例无需对截图进行保存,可在截图生成的过程中,直接在截图区域的指定位置添加马赛克效果,且可以与其他截图工具相互叠加使用,方便用户对截图进行实时编辑,提升用户体验。下面在图1所示实施例的基础上,进一步说明如何根据马赛克块位置信息和待绘制区域信息得到马赛克位图,具体请参阅图2,本发明实施例中对截图进行马赛克处理的方法另一实施例包括:201、在截图区域的顶层添加绘制层;在本实施例中,步骤201与图1所示实施例中的步骤101过程相同,在此不再赘述。202、记录所述鼠标滑过的像素点;在本实施例中,用户通过拖动处于按下状态的鼠标以选定待绘制区域,在此过程中,记录下鼠标滑过的像素点,并保存到一个马赛克绘制元素中。在实际应用过程中,在进入马赛克处理程序后,鼠标对应为马赛克画刷,且可根据需要调整马赛克画刷的大小。203、以每相邻的两个所述像素点为顶点,使用画笔画直线;在本实施例中,使用提供的接口设置画笔的颜色为ARGB(0xFF,0xFF,0xFF,0xFF),通过画笔对每相邻的两个像素点画直线,经画笔绘制的图像便可以表示用户需要进行马赛克处理的待绘制区域。204、将经画笔绘制后的图像以位图的方式进行保存,得到第一位图;将上述经画笔绘制后的图像以位图的方式进行保存,得到包含待绘制区域信息的第一位图;在本实施例中,步骤202至步骤204用于生成包含待绘制区域信息的第一位图,该第一位图中经画笔绘制的图像即为待绘制区域。205、获取截图区域的背景位图;在本实施例中,截图区域的背景位图即还未添加马赛克效果时对应的原始截图。对截图进行马赛克处理的装置可以通过截图模块提供的接口取出该背景位图。206、确定背景位图的马赛克块位置信息;其中,马赛克块位置信息包含背景位图上每行每列马赛克块的位置,该马赛克位置信息可以是系统默认,也可以根据用户的需要进行配置。在本实施例中,为了允许用户调节马赛克块的大小,对截图进行马赛克处理的装置可以动态确定背景位图的马赛克块位置信息,在用户选定马赛克块大小后,以背景位图的左上角为基准,根据马赛克块大小确定背景位图的马赛克块位置信息,得到背景位图上每行每列马赛克块的位置。207、根据马赛克块位置信息确定与待绘制区域的矩形区域对应的马赛克绘制区域;在本实施例中,待绘制区域的矩形区域内包含所有经画笔绘制的图像,根据马赛克块位置信息确定与该待绘制区域的矩形区域对应的马赛克绘制区域,以确定在哪些马赛克块的位置需要绘制马赛克块,且该马赛克绘制区域超出用户选定的待绘制区域。208、在马赛克绘制区域绘制马赛克块,得到包含马赛克块信息的第二位图;在确定马赛克绘制区域后,在该马赛克绘制区域绘制马赛克块,得到包含马赛克块信息的第二位图,在本实施例中,在马赛克绘制区域绘制马赛克块包括:将马赛克绘制区域内的像素点设置为同一颜色,该颜色的取值为背景位图上对应该马赛克绘制区域的像素点的颜色的平均值,以避免添加的马赛克效果与截图不协调,让用户感觉很突兀。为进一步优化性能,可以首选计算出马赛克绘制区域第一行每个像素点的取值,然后通过整行复制的方式对其他行进行处理,这样大块内存的复制可以提高速度。209、将第二位图与第一位图进行alpha混合,得到与待绘制区域对应的马赛克位图。在本实施例中,第二位图为实际进行马赛克处理的马赛克绘制区域,其超出用户最初选定的待绘制区域,因此需要将第二位图与第一位图进行alpha混合,以将马赛克绘制区域限定在待绘制区域内,得到与待绘制区域对应的马赛克位图。210、将马赛克位图覆盖到背景位图上;对截图进行马赛克处理的装置将该马赛克位图覆盖到背景位图上,使得生成的截图的相应位置添加有马赛克效果,完成对截图指定位置的马赛克处理。本实施例中,马赛克位图的获取在添加的绘制层上进行,确保可以与其他截图工具相互叠加使用,当觉得不满意,可以直接撤销更改。在撤销时,对截图进行马赛克处理的装置移除顶层的绘制元素,即可对应移除马赛克位图。在实际应用过程中,运用本发明实施例提出的方案,用户只需要通过操作鼠标,简单的进行点击、拖拽等操作就可以实现对截图敏感信息的屏蔽,缩短用户处理截图所消耗的时间。上面对本发明实施例中的对截图进行马赛克处理的方法进行了描述,下面对本发明实施例中的对截图进行马赛克处理的装置进行描述,请参阅图3,本发明实施例中对截图进行马赛克处理的装置一个实施例包括:添加单元301,用于当用户在选定截图区域后点击马赛克工具时,在所述截图区域的顶层添加绘制层;第一获取单元302,用于当用户在所述绘制层选定待进行马赛克处理的待绘制区域时,获取待绘制区域信息;第二获取单元303,用于获取所述截图区域的背景位图;确定单元304,用于确定所述背景位图的马赛克块位置信息;处理单元305,用于根据所述马赛克块位置信息和所述待绘制区域信息,在所述绘制层进行马赛克处理,得到马赛克位图;覆盖单元306,用于将所述马赛克位图覆盖到所述背景位图上。为便于理解,下面以一具体应用场景为例,对本实施例中对截图进行马赛克处理的装置内部运作流程进行描述:当用户在选定截图区域后点击马赛克工具时,添加单元301在所述截图区域的顶层添加绘制层;当用户在所述绘制层选定待进行马赛克处理的待绘制区域时,第一获取单元302获取待绘制区域信息;第二获取单元303获取所述截图区域的背景位图;确定单元304确定所述背景位图的马赛克块位置信息;处理单元305根据所述马赛克块位置信息和所述待绘制区域信息,在所述绘制层进行马赛克处理,得到马赛克位图;覆盖单元306将所述马赛克位图覆盖到所述背景位图上。本发明实施例提供的技术方案中,当用户在选定截图区域后点击马赛克工具时,先由添加单元301在截图区域的顶层添加绘制层,以保证马赛克工具能够和其他截图工具叠加使用,当用户在绘制层选定待进行马赛克处理的待绘制区域时,由第一获取单元302获取待绘制区域信息,并由第二获取单元303获取截图区域的背景位图,经确定单元304确定该背景位图的马赛克块位置信息,以确定背景位图上每行每列马赛克块的位置,然后通过处理单元305根据上述马赛克块位置信息和获取的待绘制区域信息在绘制层进行马赛克处理,以在待绘制区域添加马赛克效果,得到马赛克位图,最后由覆盖单元306将该马赛克位图覆盖到背景位图上,使得生成的截图的相应位置添加有马赛克。因此相对于现有技术,本发明实施例无需对截图进行保存,可在截图生成的过程中,直接在截图区域的指定位置添加马赛克效果,且可以与其他截图工具相互叠加使用,方便用户对截图进行实时编辑,提升用户体验。下面在图3所示实施例的基础上,进一步说明根据马赛克块位置信息和待绘制区域信息得到马赛克位图的对截图进行马赛克处理的装置的详细结构,具体请参阅图4,本发明实施例中对截图进行马赛克处理的装置另一实施例包括:添加单元401,用于当用户在选定截图区域后点击马赛克工具时,在所述截图区域的顶层添加绘制层;第一获取单元402,用于当用户在所述绘制层选定待进行马赛克处理的待绘制区域时,获取待绘制区域信息;第二获取单元403,用于获取所述截图区域的背景位图;确定单元404,用于确定所述背景位图的马赛克块位置信息;处理单元405,用于根据所述马赛克块位置信息和所述待绘制区域信息,在所述绘制层进行马赛克处理,得到马赛克位图;覆盖单元406,用于将所述马赛克位图覆盖到所述背景位图上。在本实施例中,所述第一获取单元402,具体用于生成包含所述待绘制区域信息的第一位图;所述处理单元405包括:获取模块4051,用于当用户在所述绘制层选定待进行马赛克处理的待绘制区域时,获取包含待绘制区域信息的第一位图;确定模块4052,用于根据所述马赛克块位置信息确定与所述待绘制区域的矩形区域对应的马赛克绘制区域;绘制模块4053,用于在所述马赛克绘制区域绘制马赛克块,得到包含马赛克块信息的第二位图;alpha混合模块4054,用于将所述第二位图与所述第一位图进行alpha混合,得到与所述待绘制区域对应的马赛克位图。可选地,在本实施例中,所述用户通过拖动处于按下状态的鼠标以选定所述待绘制区域;所述第一获取单元402包括:记录子模块4021,用于记录所述鼠标滑过的像素点;画笔绘制子模块4022,用于以每相邻的两个所述像素点为顶点,使用画笔画直线;保存模块4023,用于将经画笔绘制后的图像以位图的方式进行保存,得到所述第一位图。可选地,在本实施例中,所述绘制模块4053,具体用于将所述马赛克绘制区域内的像素点设置为同一颜色,所述颜色的取值为所述背景位图上对应所述马赛克绘制区域的像素点的颜色的平均值。可选地,在本实施例中,确定单元404,具体用于以所述背景位图的左上角为基准,根据用户配置的马赛克块大小确定所述背景位图的马赛克块位置信息。所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。上面从模块化功能实体的角度对本发明实施例中的对截图进行马赛克处理的装置进行描述,下面从硬件处理的角度对本发明实施例中的对截图进行马赛克处理的装置进行描述,请参阅图5,本发明实施例中对截图进行马赛克处理的装置另一实施例包括:输入装置501、输出装置502、处理器503和存储器504(其中服务器的处理器503的数量可以一个或多个,图5中以一个处理器501为例)。在本发明的一些实施例中,输入装置501、输出装置502、处理器503和存储器504可通过总线或其它方式连接,其中,图5中以通过总线连接为例。其中,通过调用存储器504存储的操作指令,处理器503,用于执行如下步骤:当用户在选定截图区域后点击马赛克工具时,在所述截图区域的顶层添加绘制层;当用户在所述绘制层选定待进行马赛克处理的待绘制区域时,获取待绘制区域信息;获取所述截图区域的背景位图;确定所述背景位图的马赛克块位置信息;根据所述马赛克块位置信息和所述待绘制区域信息,在所述绘制层进行马赛克处理,得到马赛克位图;将所述马赛克位图覆盖到所述背景位图上。在本发明的一些实施例中,处理器503具体可以用于执行以下步骤:生成包含所述待绘制区域信息的第一位图;根据所述马赛克块位置信息确定与所述待绘制区域的矩形区域对应的马赛克绘制区域;在所述马赛克绘制区域绘制马赛克块,得到包含马赛克块信息的第二位图;将所述第二位图与所述第一位图进行alpha混合,得到与所述待绘制区域对应的马赛克位图。在本发明的一些实施例中,所述用户通过拖动处于按下状态的鼠标以选定所述待绘制区域;处理器503具体可以用于执行以下步骤:记录所述鼠标滑过的像素点;以每相邻的两个所述像素点为顶点,使用画笔画直线;将经画笔绘制后的图像以位图的方式进行保存,得到所述第一位图。在本发明的一些实施例中,处理器503具体可以用于执行以下步骤:将所述马赛克绘制区域内的像素点设置为同一颜色,所述颜色的取值为所述背景位图上对应所述马赛克绘制区域的像素点的颜色的平均值。在本发明的一些实施例中,处理器503具体可以用于执行以下步骤:以所述背景位图的左上角为基准,根据用户配置的马赛克块大小确定所述背景位图的马赛克块位置信息。在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,RandomAccessMemory)、磁碟或者光盘等各种可以存储程序代码的介质。以上所述,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1