CN110297681B - 图像处理方法、装置、终端及存储介质 - Google Patents

图像处理方法、装置、终端及存储介质 Download PDF

Info

Publication number
CN110297681B
CN110297681B CN201910559622.0A CN201910559622A CN110297681B CN 110297681 B CN110297681 B CN 110297681B CN 201910559622 A CN201910559622 A CN 201910559622A CN 110297681 B CN110297681 B CN 110297681B
Authority
CN
China
Prior art keywords
image
screen capturing
area
screen
content
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
Application number
CN201910559622.0A
Other languages
English (en)
Other versions
CN110297681A (zh
Inventor
孙雪君
王雷雷
邱颖昭
汤嘉宁
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN201910559622.0A priority Critical patent/CN110297681B/zh
Publication of CN110297681A publication Critical patent/CN110297681A/zh
Application granted granted Critical
Publication of CN110297681B publication Critical patent/CN110297681B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/04847Interaction techniques to control parameter settings, e.g. interaction with sliders or dials
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • User Interface Of Digital Computer (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本发明实施例公开了一种图像处理方法、装置、终端及介质,其中方法包括:在终端界面上覆盖一蒙层窗口,所述蒙层窗口用于屏蔽干扰信息;在所述蒙层窗口中获取截屏区域;对所述截屏区域对应的目标对象所包括的第一内容进行截屏得到第一图像;当所述目标对象的内容被执行滚动事件,使所述截屏区域显示第二内容时,对所述第二内容进行截屏得到第二图像;对所述第一图像和所述第二图像进行合并处理,得到截屏预览图像。本发明实施例可以更好地进行图像处理,满足用户的长截图需求。

Description

图像处理方法、装置、终端及存储介质
技术领域
本申请涉及互联网技术领域,具体涉及图像处理技术领域,尤其涉及一种图像处理方法、一种图像处理装置、一种终端及一种计算机存储介质。
背景技术
随着科学技术的发展,越来越多的客户端或终端具备截屏功能。但是,现有的截屏功能只局限于对用户界面中当前所显示的可视化范围内的内容进行截屏,无法满足用户的长截图需求;所谓的长截图是指在用户界面中截取超过可视化范围的内容所得到的截图。当用户想要截取的目标内容较长时,例如截取一个网页的所有内容、一篇较长的文章或者一段和他人的聊天记录等;由于客户端的显示窗口的尺寸是有限的,无法一次性显示出所有目标内容;那么用户通过现有的截屏功能只能截取得到显示窗口当前所显示的部分目标内容,而无法截取到所有目标内容。因此,如何更好地获取长截图成为了研究热点。
发明内容
本发明实施例提供了一种图像处理方法、装置、终端及计算机存储介质,可以更好地进行图像处理,满足用户的长截图需求。
一方面,本发明实施例提供了一种图像处理方法,所述图像处理方法包括:
在终端界面上覆盖一蒙层窗口,所述蒙层窗口用于屏蔽干扰信息;
在所述蒙层窗口中获取截屏区域;
对所述截屏区域对应的目标对象所包括的第一内容进行截屏得到第一图像;
当所述目标对象的内容被执行滚动事件,使所述截屏区域显示第二内容时,对所述第二内容进行截屏得到第二图像;
对所述第一图像和所述第二图像进行合并处理,得到截屏预览图像。
另一方面,本发明实施例提供了一种图像处理装置,该图像处理装置包括:
处理单元,用于在终端界面上覆盖一蒙层窗口,所述蒙层窗口用于屏蔽干扰信息;
获取单元,用于在所述蒙层窗口中获取截屏区域;
截屏单元,用于对所述截屏区域对应的目标对象所包括的第一内容进行截屏得到第一图像;
所述截屏单元,用于当所述目标对象的内容被执行滚动事件,使所述截屏区域显示第二内容时,对所述第二内容进行截屏得到第二图像;
所述处理单元,用于对所述第一图像和所述第二图像进行合并处理,得到截屏预览图像。
再一方面,本发明实施例提供了一种终端,所述终端包括输入设备和输出设备,所述终端还包括:
处理器,适于实现一条或多条指令;以及,
计算机存储介质,所述计算机存储介质存储有一条或多条指令,所述一条或多条指令适于由所述处理器加载并执行如下步骤:
在终端界面上覆盖一蒙层窗口,所述蒙层窗口用于屏蔽干扰信息;
在所述蒙层窗口中获取截屏区域;
对所述截屏区域对应的目标对象所包括的第一内容进行截屏得到第一图像;
当所述目标对象的内容被执行滚动事件,使所述截屏区域显示第二内容时,对所述第二内容进行截屏得到第二图像;
对所述第一图像和所述第二图像进行合并处理,得到截屏预览图像。
再一方面,本发明实施例提供了一种计算机存储介质,所述计算机存储介质存储有一条或多条指令,所述一条或多条指令适于由处理器加载并执行如下步骤:
在终端界面上覆盖一蒙层窗口,所述蒙层窗口用于屏蔽干扰信息;
在所述蒙层窗口中获取截屏区域;
对所述截屏区域对应的目标对象所包括的第一内容进行截屏得到第一图像;
当所述目标对象的内容被执行滚动事件,使所述截屏区域显示第二内容时,对所述第二内容进行截屏得到第二图像;
对所述第一图像和所述第二图像进行合并处理,得到截屏预览图像。
本发明实施例可以先在终端界面上覆盖一蒙层窗口,并在蒙层窗口中获取截屏区域;通过蒙层窗口可以屏蔽干扰信息对后续截屏过程的干扰,从而保证截屏得到的图像的准确性。在具体的截屏过程中,可以先对截屏区域对应的目标对象所包括的第一内容进行截屏得到第一图像;当目标对象的内容被执行滚动事件,使截屏区域显示第二内容时,还可对第二内容进行截屏得到第二图像。然后,可以通过对第一图像和第二图像进行合并处理以实现对目标对象的内容的长截屏,得到截屏预览图像,从而满足用户的长截图需求。
附图说明
为了更清楚地说明本发明实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1a是本发明实施例提供的一种可滚动窗口的结构示意图;
图1b是本发明实施例提供的一种实现长截屏功能的流程示意图;
图2a是本发明实施例提供的一种长截屏功能的应用场景图;
图2b是本发明实施例提供的一种蒙层窗口和终端界面的位置示意图;
图2c是本发明实施提供的一种长截屏功能的另一应用场景图;
图2d是本发明实施提供的一种长截屏功能的另一应用场景图;
图2e是本发明实施提供的一种长截屏功能的另一应用场景图;
图3是本发明实施例提供的一种图像处理方法的流程示意图;
图4是本发明另一实施例提供的一种图像处理方法的流程示意图;
图5是本发明实施例提供的一种自动确定截屏区域的示意图;
图6a是本发明实施例提供的一种图像拼接的示意图;
图6b是本发明实施例提供的一种即时通讯会话界面的界面示意图;
图6c是本发明实施例提供的另一种图像拼接的示意图;
图7a是本发明实施例提供的一种蒙层窗口的界面示意图
图7b是本发明实施例提供的另一种蒙层窗口的界面示意图;
图8是本发明实施例提供的一种图像处理装置的结构示意图;
图9是本发明实施例提供的一种终端的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。
截屏是一种获取图像的途径;通常来说,截屏是指一种截取用户界面中当前所显示的可视化范围内的内容,从而得到包含该可视化范围内的内容的图像的操作。随着截屏功能逐渐得到广泛的用户认可,且用户的截屏需求不再局限于只截取用户界面当前所显示的可视化范围内的内容;本发明实施例提出了一种长截屏功能,所谓长截屏是指一种可截取到超过当前所显示的可视化范围外的内容,从而得到包含超过当前所显示的可视化范围外的内容的图像的操作。该长截屏功能可供用户自由选择截屏区域,并在截屏区域内实现对目标对象的内容进行滚动截屏,以得到包含目标对象的超过当前所显示的可视化范围外内容的长截图,从而满足用户的长截图需求。
其中,目标对象可以是终端界面中所显示的可滚动窗口,所谓可滚动窗口是指支持内容沿着固定方向(如竖直方向、水平方向等)进行滚动的窗口。例如:即时通讯会话界面中的消息显示窗口可支持会话记录沿着竖直向上或者竖直向下的方向进行滚动显示,则该消息显示窗口为可滚动窗口;又如,网页内容显示窗口可支持网页内容沿着竖直向上或者竖直向下的方向进行滚动显示,则网页显示窗口为可滚动窗口;再如,文本内容显示窗口可支持文本内容沿着竖直向上或者竖直向下的方向进行滚动显示,则文本内容显示窗口为可滚动窗口,等等。可选的,可滚动窗口中还可包括滚动条,该滚动条是指用于实现内容滚动切换的界面元素,该滚动条可由滚动滑块和滚动箭头组成;以可滚动窗口为即时通讯会话界面中的消息显示窗口为例,其结构示意图可以参见图1a所示。应理解的是,图1a只是示例性地表明可滚动窗口的结构,并不对可滚动窗口的具体结构进行限定;即滚动条可以不局限于位于可滚动窗口的右侧,也可以位于可滚动窗口的左侧,也可以不显示在可滚动窗口中,等等。
在一种实施方式中,该长截屏功能可以作为一个功能模块添加至客户端中,用户可以通过客户端打开该长截屏功能;此处的客户端是指为用户提供本地服务的应用程序(Application,APP),其可以包括但不限于:即时通讯客户端(如QQ、微信等)、社交客户端(如腾讯微博)、浏览器客户端等等。根据客户端的运行载体,可以将客户端大致分为两大类;具体的,可将运行于PC(Personal Computer,个人计算机(即电脑))中的客户端称为PC客户端,将运行于移动终端中的客户端称为移动客户端。再一种实施方式中,该长截屏功能也可以构成一个独立的APP,用户打开该独立的APP后,即可进行长截屏操作。再一种实施方式中,该长截屏功能还可以作为终端内的一个系统功能,用户可以在终端的系统功能选项栏中打开该长截屏功能;此处的终端可以包括但不限于:智能手机、平板电脑、膝上计算机、笔记本电脑以及台式电脑等等。
下面以长截屏功能作为PC即时通讯客户端中的功能模块为例,对用户使用该长截屏功能获取长截图的具体过程进行阐述;其中,PC即时通讯客户端实现该长截屏功能的具体过程可一并参见图1b所示。在具体的应用场景中,用户A若想要对某即时通讯会话界面(以下简称会话界面)中的消息显示窗口中的会话记录进行长截图,则可以通过点击会话界面中的长截图按钮打开PC即时通讯客户端所提供的长截屏功能;此时,PC即时通讯客户端可生成蒙层窗口以覆盖终端界面上,如图2a所示;所谓的蒙层窗口是指一层用于屏蔽干扰信息的视图窗口,蒙层窗口和终端界面的位置示意图可以参见图2b所示。用户A可以在蒙层窗口中绘制矩形框以选择截屏区域;相应的,PC即时通讯客户端可根据用户的选择,在蒙层窗口中确定截屏区域,如图2c所示。
用户A在选择截屏区域之后,还可以通过输入用户操作消息进行截屏模式的选择,该截屏模式可包括自动截屏模式或者手动截屏模式;其中,手动截屏模式是指在截屏区域中,由用户手动操作控制设备(如与终端相连接的鼠标、与终端相连接的键盘中方向按键、笔记本电脑中的触摸板等)以控制目标对象的内容在截屏区域中进行滚动显示从而完成长截屏的模式;自动截屏模式是指由程序自动触发并控制目标对象的内容在截屏区域中进行滚动显示从而完成长截屏的模式。一种实施方式中,用户A可以通过控制设备(以鼠标为例)输入用户操作消息,PC中的操作系统可截获用户操作消息,并根据该用户操作消息触发PC即时通讯客户端进入相应的截屏模式;具体的,若用户操作消息为用户A滚动鼠标滚轮的滚轮消息,则触发PC即时通讯客户端进入手动截屏模式;若用户操作消息为用户A点击鼠标左键/右键的单击消息,则触发PC即时通讯客户端进行自动截屏模式。
在PC即时通讯客户端进入手动截屏模式的情况下,用户A可手动操作鼠标滚轴向上或者向下滚动;相应的,操作系统可实时截获用户A滚动鼠标滚轮的滚轮事件,并将该滚轮事件透传至PC即时通讯客户端。此处的滚轮事件中可携带滚轮方向信息、滚轮速度信息以及滚轮幅度信息等信息;其中,滚轮方向信息用于指示PC即时通讯客户端在截屏区域中控制会话记录进行滚动显示的滚动方向(如沿着竖直向上的方向或者竖直向下的方向),滚轮速度信息用于指示PC即时通讯客户端控制会话记录进行滚动显示的速度,滚轮幅度信息用于指示PC即时通讯客户端每次控制会话记录沿滚动方向进行滚动的距离。相应的,PC即时通讯客户端可接收操作系统透传的滚轮事件,可根据该滚轮事件在截屏区域中进行会话记录的滚动显示,如图2d所示;并在此过程中按照预设截屏频率对截屏区域中所显示的会话记录进行截屏,得到小图,该小图是指尺寸与截屏区域的尺寸相同的图像。在得到至少两张小图之后,PC即时通讯客户端还可采用图像拼接算法实时对小图进行拼接处理,得到大图。并且,还可判断是否检测到截屏结束事件;若是,则结束截屏操作,并将当前拼接得到的大图作为目标截屏图像输出,如图2e所示;若否,则跳转至接收操作系统透传的滚轮事件的步骤。
在PC即时通讯客户端进入自动截屏模式的情况下,PC即时通讯客户端可首先对截屏区域中所显示的当前会话记录进行截屏,得到一个小图;然后在截屏区域中进行会话记录的滚动显示。在会话记录被执行滚动事件而使截屏区域显示新的会话记录后,PC即时通讯客户端可对截屏区域所显示的新的会话记录进行截屏,得到第二个小图。在得到至少两张小图之后,PC即时通讯客户端还可采用图像拼接算法对小图进行拼接处理,得到大图;所谓的大图是指尺寸大于截屏区域的尺寸的图像。并且,还可判断是否检测到截屏结束事件;若是,则结束截屏操作,并将当前拼接得到的大图作为目标截屏图像输出;若否,则跳转至在截屏区域中进行会话记录的滚动显示的步骤。由此可见,在自动截屏模式下,PC即时通讯客户端每次对截屏区域中所显示的会话记录进行截屏之后,即可自动在截屏区域中进行会话记录的滚动显示。
需要说明的是,上述手动截屏模式或者自动截屏模式中所提及的关于小图的拼接处理是一个实时拼接的过程,即PC即时通讯客户端每截屏得到一个小图,均会实时地将该小图与上一次拼接处理后的图像进行拼接处理,以此类推。而在其他实施例中,PC即时通讯客户端也可以在获取到多个小图并检测到截屏结束事件之后,再采用图像拼接算法对这多个小图进行拼接处理,得到目标截屏图像并输出。并且,用户A还可根据实际需求通过输入用户操作消息以实现在自动截屏模式和手动截屏模式之间进行截屏模式的自由切换;即若PC即时通讯客户端当前的截屏模式为自动截屏模式,则可以触发PC即时通讯客户端切换至手动截屏模式;若PC即时通讯客户端当前的截屏模式为手动截屏模式,则可以触发PC即时通讯客户端切换至自动截屏模式。
还需要说明的是,在其他应用场景中(例如用户A通过长截屏功能对网页内容显示窗口中的网页内容进行长截图的场景,或者对文本内容显示窗口中的文本内容进行长截图的场景):若PC即时通讯客户端处于手动截屏模式的情况下,则操作系统需将截获到的滚轮事件透传至与截屏区域相关联的关联客户端,以使得关联客户端根据该滚轮事件在截屏区域中进行内容的滚动显示;若PC即时通讯客户端处于自动截屏模式的情况下,则PC即时通讯客户端每次截屏得到小图之后,需向关联客户端发送滚动消息以使得关联客户端根据该滚动消息在截屏区域中进行内容的滚动显示;从而使得PC即时通讯客户端按照预设截屏频率对截屏区域中滚动显示的内容进行截屏得到多个小图。其中,关联客户端是指创建截屏区域所包含的可滚动窗口的客户端;例如,截屏区域所包含的可滚动窗口为网页内容显示窗口,而创建该网页内容显示窗口的客户端为浏览器客户端,那么与截屏区域相关联的关联客户端即为浏览器客户端;又如,截屏区域所包含的可滚动窗口为文本内容显示窗口,而创建该文本内容显示窗口的客户端为文本客户端,那么关联客户端即为文本客户端。
由上述的处理流程可知,本发明实施例通过在截屏区域对会话记录进行滚动显示,多次截取截屏区域所显示的会话记录得到多个等宽高的小图,并采用多个等宽高的小图拼接成一个完整的大图(即目标截屏图像),从而实现长截屏功能。由于蒙层窗口是覆盖在整个终端界面上的(即蒙层窗口是置顶的),因此位于蒙层窗口之下的终端界面中的所有窗口消息均可被捕获,并还可屏蔽其他进程的干扰信息,提高目标截屏图像的准确性。并且,还可通过截获用户操作消息来为用户提供在自动截屏模式和手动截屏模式两种截屏模式之间进行自由切换的功能,可以较大程度地提升用户体验,满足用户的长截图需求。
基于上述描述,本发明实施例提出一种如图3所示的图像处理方法,该图像处理方法可以由上述所提及的终端或者终端中所运行的客户端执行。为便于阐述,本发明实施例以运行于PC中的目标客户端执行该图像处理方法为例进行阐述,该目标客户端为运行于PC中的任一客户端。请参见图3,该图像处理方法可包括以下步骤S301-S305:
S301,在终端界面上覆盖一蒙层窗口,蒙层窗口用于屏蔽干扰信息;
由前述可知,蒙层窗口是指一层用于屏蔽干扰信息的视图窗口,因此蒙层可用于屏蔽干扰信息。此处的干扰信息是指影响截屏所得到的图像的完整性及准确性的信息:例如,在对内容进行截屏的过程中,在终端界面弹出的遮挡所截取内容的广告信息;又如,在对内容进行截屏的过程中,在终端界面弹出的遮挡所截取内容的系统推送信息,等等。
目标客户端可以检测是否存在截屏触发事件,若检测到该截屏触发事件,则可响应于该截屏触发事件,创建蒙层窗口,并在终端界面上覆盖该蒙层窗口。其中,蒙层窗口的RGB色值和透明度可以根据经验值或者实际业务需求设置;例如,将蒙层窗口的RGB色值设置为(0,0,0),透明度设置为153;截屏触发事件可以包括但不限于:针对终端界面中所显示的长截屏按钮的点击事件、针对截屏快捷按键的点击或者按压事件,等等。其中,截屏快捷按键可以由一个或者多个按键组合得到,该按键可以是终端上所配置的物理按键,也可以是与终端相连接的控制设备(如键盘)上所配置的物理按键,本发明实施例对此不作限定。
S302,在蒙层窗口中获取截屏区域。
目标客户端在终端界面上覆盖蒙层窗口后,可以自动在蒙层窗口中确定截屏区域;也可实时检测用户的区域截取操作,根据该区域截取操作在蒙层窗口中确定截屏区域。其中,在蒙层窗口中确定截屏区域时,可以先在蒙层窗口中确定的一个矩形区域,然后将该矩形区域直接作为截屏区域。经研究表明,若直接将在蒙层窗口中确定的矩形区域作为截屏区域,则可能会导致对截屏区域中显示的内容进行截屏所得到的图像存在色差问题;因此,为解决色差问题,本发明实施例在得到矩形区域之后,还可对矩形区域进行镂空处理,从而得到截屏区域;此处的镂空处理是指将矩形区域的透明度设置为0的处理。
S303,对截屏区域对应的目标对象所包括的第一内容进行截屏得到第一图像;第一图像的尺寸可以与截屏区域的尺寸相同。
由前述可知,目标对象可以为截屏区域内所包含的可滚动窗口。在一种实施方式中,该目标对象可以是由目标客户端创建的可滚动窗口;例如,目标客户端为即时通讯客户端,则目标对象可以为消息显示窗口。再一种实施方式中,目标对象也可以是由与截屏区域相关联的关联客户端创建的可滚动窗口;例如,截屏区域为网页显示区域,则关联客户端为浏览器客户端,那么目标对象为网页内容显示窗口;又如,截屏区域为文本显示区域,则关联客户端为文本客户端,那么目标对象为文本内容显示窗口。需要说明的是,目标对象的数量可以为1个或者多个;为便于描述,后续均以目标对象的数量为1个。
S304,当目标对象的内容被执行滚动事件,使截屏区域显示第二内容时,对第二内容进行截屏得到第二图像;第二图像的尺寸可以与截屏区域的尺寸相同。
由前述可知,目标对象的内容可被关联客户端执行滚动事件;具体的,在手动截屏模式下,关联客户端根据操作系统透传的滚轮事件来执行滚动事件;其中,该滚轮事件是操作系统通过钩子(HOOK,又称挂钩)来截获用户行为得到的;所谓的钩子是一种计算机程序设计术语,包括通过拦截软件模块间的函数调用、消息传递、事件传递来修改或扩展操作系统、应用程序或其他软件组件的行为的各种技术;其具体可以为处理被拦截的函数调用、事件以及消息的程序代码。在自动截屏模式下,关联客户端根据目标客户端发送的滚动消息来执行滚动事件,该滚动消息是目标客户端在对截屏区域当前所显示的内容进行截屏得到一个小图后发送的。
需要说明的是,若目标对象是目标客户端创建的可滚动窗口,则关联客户端与目标客户端相同;若目标对象不是目标客户端窗口的可滚动窗口,则关联客户端与目标客户端不同。另外,在手动截屏模式中,用户可手动操作控制设备(如鼠标滚轴)以使得目标对象的内容在截屏区域中沿着竖直向上或者竖直向下的方向进行滚动显示,因此手动截屏模式可支持用户沿着竖直向上的方向进行长截屏。而由于目标对象的内容是依序排列的,因此如果目标对象的内容被执行沿着竖直向上的方向进行滚动事件,那么截屏区域所显示目标对象的第二内容是位于第一内容之前的内容;如果目标对象的内容被执行沿着竖直向下的方向进行滚动事件,那么截屏区域所显示目标对象的第二内容是位于第一内容之后的内容。
S305,对第一图像和第二图像进行合并处理,得到截屏预览图像。
在具体实施过程中,可以先对第一图像和第二图像进行拼接处理。在一种具体实施方式中,可以直接将第一图像和第二图像进行拼接,得到拼接处理后的图像。另一种具体实施方式中,可以采用图像拼接算法对第一图像和第二图像进行去重拼接处理,得到拼接处理后的图像;此实施方式所得到的拼接处理后的图像不存在重叠区域,可以提升图像的连贯性。
在得到拼接处理后的图像之后,可以按照预设比例对拼接处理后的图像进行压缩处理,得到截屏预览图像。其中,预设比例可以根据经验值或者实际业务需求设置,例如设置为50%、75%等等;压缩处理可包括对拼接处理后的图像的尺寸进行压缩的处理。需要说明的是,在其他实施例中,当预设比例为100%时,此情况表明不对拼接处理后的图像进行压缩处理,即直接将拼接处理后的图像作为截屏预览图像。另外,压缩处理还可包括对拼接处理后的图像的清晰度或者内存占用量进行压缩的处理,以节省内存。
本发明实施例可以先在终端界面上覆盖一蒙层窗口,并在蒙层窗口中获取截屏区域;通过蒙层窗口可以屏蔽干扰信息对后续截屏过程的干扰,从而保证截屏得到的图像的准确性。在具体的截屏过程中,可以先对截屏区域对应的目标对象所包括的第一内容进行截屏得到第一图像;当目标对象的内容被执行滚动事件,使截屏区域显示第二内容时,还可对第二内容进行截屏得到第二图像。然后,可以通过对第一图像和第二图像进行合并处理以实现对目标对象的内容的长截屏,得到截屏预览图像,从而满足用户的长截图需求。
请参见图4,是本发明实施例提供的另一种图像处理方法的流程示意图。该图像处理方法可以由上述所提及的终端或者终端中所运行的客户端执行。为便于阐述,本发明实施例以运行于PC中的目标客户端执行该图像处理方法为例进行阐述,该目标客户端为运行于PC中的任一客户端。请参见图4,该图像处理方法可包括以下步骤S401-S409:
S401,在终端界面上覆盖一蒙层窗口,蒙层窗口用于屏蔽干扰信息;
S402,在蒙层窗口中获取截屏区域。
由前述可知,目标客户端可以通过主动或者被动的方式在蒙层窗口中获取截屏区域。其中,目标客户端主动在蒙层窗口中获取截屏区域的具体实施方式可以为:将蒙层窗口所覆盖的区域作为截屏区域,即此实施方式下的截屏区域的尺寸与蒙层窗口的尺寸相同。或者,目标客户端主动在蒙层窗口中获取截屏区域的具体实施方式还可以为:按照预设的区域选取规则,在蒙层窗口中获取截屏区域;此处的区域选取规则用于指示:将蒙层窗口所覆盖的终端界面中的可滚动窗口所构成的区域作为截屏区域。若终端界面中可滚动窗口的数量为多个,则区域选取规则还可用于指示:根据可滚动窗口的优先级,将优先级最高的可滚动窗口所构成的区域作为截屏区域;或者选取任一可滚动窗口所构成的区域作为截屏区域。
目标客户端被动在蒙层窗口中获取截屏区域的具体实施方式可以为:响应于检测到的区域截取操作,根据该区域截取操作在蒙层窗口中确定矩形区域。其中,区域截取操作可以包括用户在蒙层窗口中绘制矩形框的操作;相应的,可以将区域截取操作所形成的矩形框所构成的区域作为矩形区域。在一种实施方式中,若目标对象为目标客户端创建的可滚动窗口,则区域截取操作可包括点击目标对象的操作或者将输入焦点(如光标)移动至目标对象处的操作;相应的,目标客户端可响应于该区域截取操作,自动吸附目标对象所对应的子控件,从而自动将目标对象所在的区域作为截屏区域。例如,目标客户端为即时通讯客户端,目标对象为消息显示窗口;那么用户将光标移动至消息显示窗口时,即时通讯客户端可自动将消息显示窗口所在的区域作为截屏区域,如图5所示。由此可见,本发明实施例可通过自动吸附子控件的方式,自动将目标对象所在的区域作为截屏区域,可在一定程度上提高便利性。
在确定矩形区域之后,可以根据矩形区域获取截屏区域。一种具体实施方式中,可以将矩形区域作为截屏区域;另一种具体实施方式中,可以对矩形区域进行镂空处理,得到截屏区域。通过对矩形区域进行镂空处理,可以使得截屏区域为一个镂空区域,从而使得用户可以在截屏区域中自由地进行用户操作。并且,由于截屏区域是在蒙层窗口中确定的,那么截屏区域可支持持续加载新的内容的功能;例如,在对即时通讯会话的消息显示窗口中的会话记录进行截屏的过程中,若接收到新的会话消息,则可以将新的会话消息加载至会话记录中,以使得会话记录被执行滚动事件时,可以在截屏区域中显示该新的会话消息,从而使得截屏得到的图像中包含该新的会话消息,可以提高截屏的便利性以及截屏效率。
S403,对截屏区域对应的目标对象所包括的第一内容进行截屏得到第一图像。
由于目标对象的第一内容中可能会存在动态图像,该动态图像由多帧静态图像以预设频率进行图像切换而产生动态效果的图像。在第一内容中的动态图像进行动态呈现的过程中,若直接对截屏区域所显示的目标对象的第一内容进行截屏,则可能会导致截屏失败、终端卡顿或者后续的图像拼接处理出现错误等问题。因此为避免上述问题,在执行步骤S403之前,还可检测第一内容中是否存在动态图像;若存在,则控制动态图像停止图像切换,并执行对截屏区域对应的目标对象所包括的第一内容进行截屏得到第一图像的步骤。例如,目标客户端为即时通讯客户端,第一内容为会话记录,该第一内容里包括动态表情图像,那么即时通讯客户端在对第一内容进行截屏之前,可以控制动态表情图像停止当前帧图像,然后再对该会话记录进行截屏得到第一图像。同理,目标客户端在后续对目标对象的其他内容(如第二内容、第三内容…)进行截屏时,均可先检测其他内容中是否存在动态图像;若存在,则先控制动态图像停止图像切换再执行截屏操作。
在一种实施方式中,在执行步骤S403之前,目标客户端可进入第一截屏模式。具体的,目标客户端可接收操作系统发送的关于截屏模式的指示信息,该指示信息携带第一截屏模式的模式标识,该指示信息是由操作系统通过钩子截获到的用户操作消息(如滚动鼠标滚轮的滚轮消息、点击鼠标左键/右键的单击消息)生成的;根据模式标识确定并进入第一截屏模式,该第一截屏模式为手动截屏模式或自动截屏模式。由前述可知,用户可自由地进行模式切换,因此在执行步骤S403之后,目标客户端还可实时检测是否接收到操作系统发送的关于截屏模式的切换信息;若接收到操作系统发送的关于截屏模式的切换信息,则从第一截屏模式切换至第二截屏模式,并基于第二截屏模式进行截屏处理;该切换信息是由操作系统根据截获到的用户操作消息生成的。其中,若第一截屏模式为手动截屏模式,则第二截屏模式为自动截屏模式;若第一截屏模式为自动截屏模式,则第二截屏模式为手动截屏模式。
S404,当目标对象的内容被执行滚动事件,使截屏区域显示第二内容时,对第二内容进行截屏得到第二图像。
S405,对第一图像和第二图像进行拼接处理。
在具体实施过程中,可以采用图像拼接算法对第一图像和第二图像进行去重拼接处理。在具体实施过程中,步骤S405可具体包括以下步骤s11-s13:
s11:确定第一图像和第二图像之间的重叠区域。
s12:根据重叠区域裁剪第一图像得到第一子图,并根据重叠区域裁剪第二图像得到第二子图。
由前述可知,目标对象的内容依序排列,第一内容可以位于第二内容之前,也可以位于第二内容之后。在第一内容位于第二内容的情况下,若第一图像包括重叠区域和非重叠的第一区域,第二图像包括重叠区域和非重叠的第二区域,则步骤s12的具体实施方式可以是:将第一图像作为第一子图;裁剪掉第二图像中的重叠区域,得到第二子图,第二子图包括非重叠的第二区域,其对应的拼接示意图可如图6a所示。由于截屏区域的尺寸可能大于目标对象的尺寸,那么则会导致截屏得到的第一图像和第二图像存在固定顶部的顶部区域和固定底部的底部区域;所谓固定顶部的顶部区域为不随着滚动事件而发生变化且位于可滚动窗口上方的区域,固定底部的底部区域为不随着滚动事件而发生变化且位于可滚动窗口下方的区域;例如,如图6b所示,固定顶部的顶部区域可以为即时通讯会话界面中位于消息显示窗口上方的用于显示联系人姓名的区域,固定底部的底部区域可以为即时通讯会话界面中位于消息显示窗口下方的用于输入会话消息的消息输入区域。相应的,若第一图像依次包括:顶部区域、非重叠的第一区域、重叠区域及底部区域,第二图像依次包括:顶部区域、重叠区域、非重叠的第二区域和底部区域,则步骤s12的具体实施方式可以是:裁剪掉第一图像中的底部区域,得到第一子图,第一子图包括顶部区域、非重叠的第一区域以及重叠区域;裁剪掉第二图像的顶部区域和重叠区域,得到第二子图,第二子图包括非重叠的第二区域以及底部区域,其对应的拼接示意图可如图6c所示。由此可见,本发明实施例所采用的拼接处理方法还可适配于每张待拼接图像(如第一图像和第二图像)有固定顶部和固定底部的情况,其兼容性较高。
在第一内容位于第二内容之后的情况下,若第一图像包括重叠区域和非重叠的第一区域,第二图像包括重叠区域和非重叠的第二区域,则步骤s12的具体实施方式可以是:裁剪掉第一图像中的重叠区域,得到第一子图,该第一图像包括非重叠的第一区域;将第二图像作为第二子图。若第一图像依次包括:顶部区域、重叠区域、非重叠的第一区域及底部区域,第二图像依次包括:顶部区域、非重叠的第二区域、重叠区域和底部区域,则步骤s12的具体实施方式可以是:裁剪掉第一图像的顶部区域和重叠区域,得到第一子图,第一子图包括非重叠的第一区域以及底部区域;裁剪掉第二图像中的底部区域,得到第二子图,第二子图包括顶部区域、非重叠的第二区域以及重叠区域。
s13,对第一子图和第二子图进行拼接处理。
在具体实施过程中,若第一内容可以位于第二内容之前,则可将第二子图拼接在第一子图的尾部,如图6a或者图6c所示;若第一内容位于第二内容之后,则可将第二子图拼接在第一子图的顶部。
S406,按照预设比例对拼接处理后的图像进行压缩处理,得到截屏预览图像。
在得到截屏预览图像之后,目标客户端还可在蒙层窗口中除截屏区域以外的剩余区域中绘制预览区域,并在预览区域中显示该截屏区域图像。其中,预览区域可以位于截屏区域的右侧,也可以位于截屏区域的左侧,还可以位于截屏区域的上侧或下侧,等等;本发明实施例对预览区域在蒙层窗口中的位置不作限定。以预览区域可以位于截屏区域的右侧为例,其具体的界面示意图可以如图7a所示。由此可见,本发明实施例支持用户一边进行长截屏,一边查看截屏预览图像,可以提高便利性。
S407,当目标对象的内容被执行滚动事件,使截屏区域显示第三内容时,对第三内容进行截屏得到第三图像;第三图像的尺寸与截屏区域的尺寸相同。
S408,对拼接处理后的图像和第三图像进行合并处理以更新截屏预览图像。
在步骤S407-S408中,由于目标客户端并不局限于只能截取两个图像,还可以截取更多数量(如三个、四个、五个…)的图像。因此,目标客户端还可在目标对象的内容被执行滚动事件使截屏区域显示目标对象的第三内容时,对第三内容进行截屏得到第三图像。然后对拼接处理后的图像和第三图像进行合并处理以更新截屏预览图像;此处的拼接处理后的图像是指上一次进行拼接处理所得到的图像,即针对第三图像而言,拼接处理后的图像是指对第一图像和第二图像进行拼接处理所得到的图像。在对拼接处理后的图像和第三图像进行合并处理以更新截屏预览图像时,可以先对拼接处理后的图像和第三图像进行拼接处理,得到新的拼接处理后的图像;然后对新的拼接处理后的图像进行压缩处理,得到新的截屏预览图像,采用该新的截屏预览图像更新上一次合并处理所得到的截屏预览图像。
S409,迭代上述步骤直至检测到截屏结束事件,将当前的截屏预览图像所对应的拼接处理后的图像作为目标截屏图像,并输出目标截屏图像。
此处的迭代上述步骤是指:迭代上述步骤S407-S408;即当目标对象的内容被执行滚动事件,使截屏区域显示第四内容时,目标客户端还可对第四内容进行截屏得到第四图像;第四图像的尺寸与截屏区域的尺寸相同。并对上一次拼接处理后的图像和第四图像进行合并处理以更新截屏预览图像;以此类推。目标客户端若检测到截屏结束事件,则停止迭代操作,并将当前的截屏预览图像所对应的拼接处理后的图像作为目标截屏图像。由于迭代上述步骤S407-S408的过程中,可能会截屏得到N个图像,N大于等于2;因此,该目标截屏图像可以是对截屏得到的N个图像进行拼接处理后的图像。例如,目标客户端在检测到截屏结束事件时,已截屏得到2个图像(即N=2),那么当前的截屏预览图像为对第一图像和第二图像进行合并处理所得到的截屏预览图像,目标截屏图像即为对第一图像和第二图像进行拼接处理所得到的图像;又如,目标客户端在检测到截屏结束事件时,已截屏得到3个图像(即N=3),那么当前的截屏预览图像为对第一图像、第二图像以及第三图像进行合并处理所得到的截屏预览图像,目标截屏图像即为对第一图像、第二图像以及第三图像进行拼接处理所得到的图像;以此类推,目标客户端在检测到截屏结束事件时,已截屏得到N个图像,那么当前的截屏预览图像为对第一图像、第二图像…第N图像进行合并处理所得到的截屏预览图像,目标截屏图像即为对第一图像、第二图像…第N图像进行拼接处理所得到的图像。
其中,在手动截屏模式下,截屏结束事件可以包括以下至少一项:在预设时长内未检测到用户操作控制设备的事件,以及检测到在预设时间段内截屏得到的至少两个连续图像相同的事件,等等。在自动截屏模式下,截屏结束事件可以包括以下至少一项:检测到用户点击或按压截屏停止按键的事件、检测到在预设时间段内截屏得到的至少两个连续图像相同的事件、以及检测到拼接处理所得到的图像未增长的事件,等等。
在得到目标截屏图像之后,目标客户端可以直接输出该目标截屏图像。在一种实施方式中,目标客户端还可输出提供组件选择栏,该组件选择栏中可包括提供给用户的用于对目标截屏图像进行编辑操作的一个或多个组件。例如参见图7b所示,组件选择栏中可包括用于对目标截屏图像进行标注的标注工具组件,如矩形工具1、椭圆工具2、箭头工具3;用于对目标截屏图像进行涂鸦的涂鸦工具组件,如画刷工具4、马赛克工具5以及文字工具6;用于撤销编辑的撤销组件7、用于保存编辑的保存组件8、用于下载目标截屏图像的下载组件9、用于复制目标截屏图像的复制组件10、用于分享目标截屏图像的分享组件11、用于收藏目标截屏图像的收藏组件12、用于取消截屏的取消组件13以及用于完成截屏的确认组件14,等等。
在另一种实施方式中,考虑到目标对象的内容被执行滚动事件时,可能会由于滚动速度过快而导致连续截屏得到的两个相邻图像所包含的内容不连续,即导致截屏得到的图像的准确性较低,目标对象的内容缺失,从而导致得到的目标截屏图像也是不准确的。例如,第一内容为目标对象的第1-5行文字,即第一图像包含该第1-5行文字。若滚动速度过快,则可能会直接滚动显示目标对象的第8-12行文字,从而使得第二内容为目标对象的第8-12行文字,即第二图像包含第8-12行文字;此情况下,第一图像和第二图像所包含的内容是不连续的,缺失了目标对象的第6-7行文字。经研究表明,在此情况下,这两个相邻图像之间的重叠区域较小或者无重叠区域;因此,本发明实施例在输出目标截屏图像之前,可以根据重叠区域的大小对目标截屏图像的准确性进行校验。具体的,可以确定用于合成目标截屏图像的各个相邻图像之间的拼接率,拼接率用于表示相邻图像之间的拼接合理度;其中,第一图像和第二图像为相邻图像,第三图像和第二图像为相邻图像;若各个相邻子图之间的拼接率大于拼接率阈值,则表明目标截屏图像无内容缺失问题,其准确性较高,此时可执行输出目标截屏图像的步骤;其中,拼接率阈值可根据实际需求或经验值设置,例如设置为20%。
其中,在确定相邻图像之间的拼接率时,可以先确定相邻图像之间的重叠区域的重叠面积以及相邻图像中任一图像的总面积,将重叠面积和总面积的比值作为相邻图像的拼接率。例如,第一图像和第二图像为相邻图像,第一图像和第二图像之间的重叠区域的重叠面积为40,第一图像或第二图像的总面积为80,那么第一图像和第二图像所构成的相邻图像之间的拼接率等于:40/80=50%。
本发明实施例可以先在终端界面上覆盖一蒙层窗口,并在蒙层窗口中获取截屏区域;通过蒙层窗口可以屏蔽干扰信息对后续截屏过程的干扰,从而保证截屏得到的图像的准确性。在具体的截屏过程中,可以先对截屏区域对应的目标对象所包括的第一内容进行截屏得到第一图像;当目标对象的内容被执行滚动事件,使截屏区域显示第二内容时,还可对第二内容进行截屏得到第二图像。然后,可以通过对第一图像和第二图像进行合并处理以实现对目标对象的内容的长截屏,得到截屏预览图像,从而满足用户的长截图需求。
基于上述图像处理方法实施例的描述,本发明实施例还公开了一种图像处理装置,所述图像处理装置可以是运行于终端中的一个计算机程序(包括程序代码)。该图像处理装置可以执行图3至图4所示的方法。请参见图8,所述图像处理装置可以运行如下单元:
处理单元101,用于在终端界面上覆盖一蒙层窗口,所述蒙层窗口用于屏蔽干扰信息;
获取单元102,用于在所述蒙层窗口中获取截屏区域;
截屏单元103,用于对所述截屏区域对应的目标对象所包括的第一内容进行截屏得到第一图像;
所述截屏单元103,用于当所述目标对象的内容被执行滚动事件,使所述截屏区域显示第二内容时,对所述第二内容进行截屏得到第二图像;
所述处理单元101,用于对所述第一图像和所述第二图像进行合并处理,得到截屏预览图像。
在一种实施方式中,处理单元101在用于对所述第一图像和所述第二图像进行合并处理,得到截屏预览图像时,具体用于:
对所述第一图像和所述第二图像进行拼接处理;
按照预设比例对拼接处理后的图像进行压缩处理,得到截屏预览图像。
再一种实施方式中,处理单元101还可用于:
在所述蒙层窗口中除所述截屏区域以外的剩余区域中绘制预览区域;
在所述预览区域中显示所述截屏预览图像。
再一种实施方式中,处理单元101在用于对所述第一图像和所述第二图像进行拼接处理时,具体用于:
确定所述第一图像和所述第二图像之间的重叠区域;
根据所述重叠区域裁剪所述第一图像得到第一子图,并根据所述重叠区域裁剪所述第二图像得到第二子图;
对所述第一子图和所述第二子图进行拼接处理。
再一种实施方式中,所述目标对象的内容依序排列,所述第一内容位于所述第二内容之前;所述第一图像包括所述重叠区域和非重叠的第一区域,所述第二图像包括所述重叠区域和非重叠的第二区域;相应的,处理单元101在用于根据所述重叠区域裁剪所述第一图像得到第一子图,并根据所述重叠区域裁剪所述第二图像得到第二子图时,具体用于:
将所述第一图像作为第一子图;
裁剪掉所述第二图像中的重叠区域,得到第二子图,所述第二子图包括所述非重叠的第二区域。
再一种实施方式中,所述目标对象的内容依序排列,所述第一内容位于所述第二内容之前;所述第一图像依次包括:顶部区域、非重叠的第一区域、所述重叠区域及底部区域,所述第二图像依次包括:所述顶部区域、所述重叠区域、非重叠的第二区域和所述底部区域;相应的,处理单元101在用于根据所述重叠区域裁剪所述第一图像得到第一子图,并根据所述重叠区域裁剪所述第二图像得到第二子图时,具体用于:
裁剪掉所述第一图像中的所述底部区域,得到第一子图,所述第一子图包括所述顶部区域、所述非重叠的第一区域以及所述重叠区域;
裁剪掉所述第二图像的所述顶部区域和所述重叠区域,得到第二子图,所述第二子图包括所述非重叠的第二区域以及所述底部区域。
再一种实施方式中,截屏单元103还可用于:当所述目标对象的内容被执行滚动事件,使所述截屏区域显示第三内容时,对所述第三内容进行截屏得到第三图像;
处理单元101还可用于:对所述拼接处理后的图像和所述第三图像进行合并处理以更新所述截屏预览图像;迭代上述步骤直至检测到截屏结束事件,将当前的截屏预览图像所对应的拼接处理后的图像作为目标截屏图像,并输出所述目标截屏图像。
再一种实施方式中,在输出所述目标截屏图像之前,处理单元101还可用于:
确定用于合成所述目标截屏图像的各个相邻图像之间的拼接率;所述第一图像和所述第二图像为相邻图像,所述第三图像和所述第二图像为相邻图像;
若所述各个相邻图像之间的拼接率大于拼接率阈值,则执行输出所述目标截屏图像的步骤。
再一种实施方式中,获取单元102在用于在所述蒙层窗口中获取截屏区域时,具体用于:
响应于检测到的区域截取操作,根据所述区域截取操作在所述蒙层窗口中确定矩形区域;
根据所述矩形区域获取截屏区域。
再一种实施方式中,获取单元102在用于根据所述矩形区域获取截屏区域时,具体用于:
将所述矩形区域作为截屏区域;或者,
对所述矩形区域进行镂空处理,得到截屏区域。
再一种实施方式中,在对所述截屏区域对应的目标对象所包括的第一内容进行截屏得到第一图像之前,截屏单元103还可用于:
检测所述第一内容中是否存在动态图像,所述动态图像由多帧静态图像以预设频率进行图像切换而产生动态效果的图像;
若存在,则控制所述动态图像停止图像切换,并执行对所述截屏区域对应的目标对象所包括的第一内容进行截屏得到第一图像的步骤。
再一种实施方式中,在对所述截屏区域对应的目标对象所包括的第一内容进行截屏得到第一图像之前,处理单元101还可用于:进入第一截屏模式;
在对所述截屏区域对应的目标对象所包括的第一内容进行截屏得到第一图像之后,处理单元101还可用于:若接收到操作系统发送的关于截屏模式的切换信息,则从所述第一截屏模式切换至第二截屏模式,并基于所述第二截屏模式进行截屏处理;所述切换信息是由所述操作系统根据截获到的用户操作消息生成的;其中,所述第一截屏模式为手动截屏模式,所述第二截屏模式为自动截屏模式;或者,所述第一截屏模式为自动截屏模式,所述第二截屏模式为手动截屏模式。
根据本发明的一个实施例,图3至图4所示的方法所涉及的各个步骤均可以是由图所示的装置中的各个单元来执行的。例如,图3中所示的步骤S301和S305可由图8中所示的处理单元101来执行,步骤S302可由图8中所示的获取单元102来执行,步骤S303-S304可由图8中所示的截屏单元103来执行;又如,图4中所示的步骤S401、S405、S406、S408以及S409可由图8中所示的处理单元101来执行,步骤S402可由图8中所示的获取单元102来执行,步骤S403、S404以及S407可由图8中所示的截屏单元103来执行。
根据本发明的另一个实施例,图8所示的图像处理装置中的各个单元可以分别或全部合并为一个或若干个另外的单元来构成,或者其中的某个(些)单元还可以再拆分为功能上更小的多个单元来构成,这可以实现同样的操作,而不影响本发明的实施例的技术效果的实现。上述单元是基于逻辑功能划分的,在实际应用中,一个单元的功能也可以由多个单元来实现,或者多个单元的功能由一个单元实现。在本发明的其它实施例中,基于图像处理装置也可以包括其它单元,在实际应用中,这些功能也可以由其它单元协助实现,并且可以由多个单元协作实现。
根据本发明的另一个实施例,可以通过在包括中央处理单元(CPU)、随机存取存储介质(RAM)、只读存储介质(ROM)等处理元件和存储元件的例如计算机的通用计算设备上运行能够执行如图3至图4中所示的相应方法所涉及的各步骤的计算机程序(包括程序代码),来构造如图8中所示的图像处理装置设备,以及来实现本发明实施例的图像处理方法。所述计算机程序可以记载于例如计算机可读记录介质上,并通过计算机可读记录介质装载于上述计算设备中,并在其中运行。
本发明实施例可以先在终端界面上覆盖一蒙层窗口,并在蒙层窗口中获取截屏区域;通过蒙层窗口可以屏蔽干扰信息对后续截屏过程的干扰,从而保证截屏得到的图像的准确性。在具体的截屏过程中,可以先对截屏区域对应的目标对象所包括的第一内容进行截屏得到第一图像;当目标对象的内容被执行滚动事件,使截屏区域显示第二内容时,还可对第二内容进行截屏得到第二图像。然后,可以通过对第一图像和第二图像进行合并处理以实现对目标对象的内容的长截屏,得到截屏预览图像,从而满足用户的长截图需求。
基于上述方法实施例以及装置实施例的描述,本发明实施例还提供一种终端。请参见图9,该终端至少包括处理器201、输入设备202、输出设备203以及计算机存储介质204。其中,终端内的处理器201、输入设备202、输出设备203以及计算机存储介质204可通过总线或其他方式连接。在一种实施方式中,该终端还可包括客户端,所述客户端可执行上述图像处理方法。
计算机存储介质204可以存储在终端的存储器中,所述计算机存储介质204用于存储计算机程序,所述计算机程序包括程序指令,所述处理器201用于执行所述计算机存储介质204存储的程序指令。处理器201(或称CPU(Central Processing Unit,中央处理器))是终端的计算核心以及控制核心,其适于实现一条或多条指令,具体适于加载并执行一条或多条指令从而实现相应方法流程或相应功能;在一个实施例中,本发明实施例所述的处理器201可以用于进行一系列的图像处理,包括:在终端界面上覆盖一蒙层窗口,所述蒙层窗口用于屏蔽干扰信息;在所述蒙层窗口中获取截屏区域;对所述截屏区域对应的目标对象所包括的第一内容进行截屏得到第一图像;当所述目标对象的内容被执行滚动事件,使所述截屏区域显示第二内容时,对所述第二内容进行截屏得到第二图像;对所述第一图像和所述第二图像进行合并处理,得到截屏预览图像等等。
本发明实施例还提供了一种计算机存储介质(Memory),所述计算机存储介质是终端中的记忆设备,用于存放程序和数据。可以理解的是,此处的计算机存储介质既可以包括终端中的内置存储介质,当然也可以包括终端所支持的扩展存储介质。计算机存储介质提供存储空间,该存储空间存储了终端的操作系统;操作系统中还可包括钩子,所述钩子用于截获用户操作消息。并且,在该存储空间中还存放了适于被处理器201加载并执行的一条或多条的指令,这些指令可以是一个或一个以上的计算机程序(包括程序代码)。需要说明的是,此处的计算机存储介质可以是高速RAM存储器,也可以是非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器;可选的还可以是至少一个位于远离前述处理器的计算机存储介质。
在一个实施例中,可由处理器201加载并执行计算机存储介质中存放的一条或多条指令,以实现上述有关图像处理实施例中的方法的相应步骤;具体实现中,计算机存储介质中的一条或多条指令由处理器201加载并执行如下步骤:
在终端界面上覆盖一蒙层窗口,所述蒙层窗口用于屏蔽干扰信息;
在所述蒙层窗口中获取截屏区域;
对所述截屏区域对应的目标对象所包括的第一内容进行截屏得到第一图像;
当所述目标对象的内容被执行滚动事件,使所述截屏区域显示第二内容时,对所述第二内容进行截屏得到第二图像;
对所述第一图像和所述第二图像进行合并处理,得到截屏预览图像。
在一种实施方式中,在对所述第一图像和所述第二图像进行合并处理,得到截屏预览图像时,所述一条或多条指令由处理器201加载并具体执行:
对所述第一图像和所述第二图像进行拼接处理;
按照预设比例对拼接处理后的图像进行压缩处理,得到截屏预览图像。
再一种实施方式中,所述一条或多条指令还可由处理器201加载并执行:
在所述蒙层窗口中除所述截屏区域以外的剩余区域中绘制预览区域;
在所述预览区域中显示所述截屏预览图像。
再一种实施方式中,在对所述第一图像和所述第二图像进行拼接处理时,所述一条或多条指令由处理器201加载并具体执行:
确定所述第一图像和所述第二图像之间的重叠区域;
根据所述重叠区域裁剪所述第一图像得到第一子图,并根据所述重叠区域裁剪所述第二图像得到第二子图;
对所述第一子图和所述第二子图进行拼接处理。
再一种实施方式中,所述目标对象的内容依序排列,所述第一内容位于所述第二内容之前;所述第一图像包括所述重叠区域和非重叠的第一区域,所述第二图像包括所述重叠区域和非重叠的第二区域;相应的,在根据所述重叠区域裁剪所述第一图像得到第一子图,并根据所述重叠区域裁剪所述第二图像得到第二子图时,所述一条或多条指令由处理器201加载并具体执行:
将所述第一图像作为第一子图;
裁剪掉所述第二图像中的重叠区域,得到第二子图,所述第二子图包括所述非重叠的第二区域。
再一种实施方式中,所述目标对象的内容依序排列,所述第一内容位于所述第二内容之前;所述第一图像依次包括:顶部区域、非重叠的第一区域、所述重叠区域及底部区域,所述第二图像依次包括:所述顶部区域、所述重叠区域、非重叠的第二区域和所述底部区域;相应的,在根据所述重叠区域裁剪所述第一图像得到第一子图,并根据所述重叠区域裁剪所述第二图像得到第二子图时,所述一条或多条指令由处理器201加载并具体执行:
裁剪掉所述第一图像中的所述底部区域,得到第一子图,所述第一子图包括所述顶部区域、所述非重叠的第一区域以及所述重叠区域;
裁剪掉所述第二图像的所述顶部区域和所述重叠区域,得到第二子图,所述第二子图包括所述非重叠的第二区域以及所述底部区域。
再一种实施方式中,所述一条或多条指令还可由处理器201加载并执行:
当所述目标对象的内容被执行滚动事件,使所述截屏区域显示第三内容时,对所述第三内容进行截屏得到第三图像;
对所述拼接处理后的图像和所述第三图像进行合并处理以更新所述截屏预览图像;
迭代上述步骤直至检测到截屏结束事件,将当前的截屏预览图像所对应的拼接处理后的图像作为目标截屏图像,并输出所述目标截屏图像。
再一种实施方式中,在输出所述目标截屏图像之前,所述一条或多条指令还可由处理器201加载并执行:
确定用于合成所述目标截屏图像的各个相邻图像之间的拼接率;所述第一图像和所述第二图像为相邻图像,所述第三图像和所述第二图像为相邻图像;
若所述各个相邻图像之间的拼接率大于拼接率阈值,则执行输出所述目标截屏图像的步骤。
再一种实施方式中,在所述蒙层窗口中获取截屏区域时,所述一条或多条指令由处理器201加载并具体执行:
响应于检测到的区域截取操作,根据所述区域截取操作在所述蒙层窗口中确定矩形区域;
根据所述矩形区域获取截屏区域。
再一种实施方式中,在根据所述矩形区域获取截屏区域时,所述一条或多条指令由处理器201加载并具体执行:
将所述矩形区域作为截屏区域;或者,
对所述矩形区域进行镂空处理,得到截屏区域。
再一种实施方式中,在对所述截屏区域对应的目标对象所包括的第一内容进行截屏得到第一图像之前,所述一条或多条指令还可由处理器201加载并执行:
检测所述第一内容中是否存在动态图像,所述动态图像由多帧静态图像以预设频率进行图像切换而产生动态效果的图像;
若存在,则控制所述动态图像停止图像切换,并执行对所述截屏区域对应的目标对象所包括的第一内容进行截屏得到第一图像的步骤。
再一种实施方式中,在对所述截屏区域对应的目标对象所包括的第一内容进行截屏得到第一图像之前,所述一条或多条指令还可由处理器201加载并执行:进入第一截屏模式;
在对所述截屏区域对应的目标对象所包括的第一内容进行截屏得到第一图像之后,所述一条或多条指令还可由处理器201加载并执行:若接收到操作系统发送的关于截屏模式的切换信息,则从所述第一截屏模式切换至第二截屏模式,并基于所述第二截屏模式进行截屏处理;所述切换信息是由所述操作系统根据截获到的用户操作消息生成的;其中,所述第一截屏模式为手动截屏模式,所述第二截屏模式为自动截屏模式;或者,所述第一截屏模式为自动截屏模式,所述第二截屏模式为手动截屏模式。
本发明实施例可以先在终端界面上覆盖一蒙层窗口,并在蒙层窗口中获取截屏区域;通过蒙层窗口可以屏蔽干扰信息对后续截屏过程的干扰,从而保证截屏得到的图像的准确性。在具体的截屏过程中,可以先对截屏区域对应的目标对象所包括的第一内容进行截屏得到第一图像;当目标对象的内容被执行滚动事件,使截屏区域显示第二内容时,还可对第二内容进行截屏得到第二图像。然后,可以通过对第一图像和第二图像进行合并处理以实现对目标对象的内容的长截屏,得到截屏预览图像,从而满足用户的长截图需求。
以上所揭露的仅为本发明较佳实施例而已,当然不能以此来限定本发明之权利范围,因此依本发明权利要求所作的等同变化,仍属本发明所涵盖的范围。

Claims (12)

1.一种图像处理方法,其特征在于,所述方法包括:
在终端界面上覆盖一蒙层窗口,所述蒙层窗口用于屏蔽其他进程的干扰信息,所述干扰信息包括以下至少一项:截屏过程中,在所述终端界面弹出的遮挡所截取内容的广告信息和系统推送信息;
在所述蒙层窗口中获取截屏区域;其中,是自动将所述蒙层窗口所覆盖的终端界面中的可滚动窗口所构成的区域,作为截屏区域的;
对所述截屏区域对应的目标对象所包括的第一内容进行截屏得到第一图像;
当所述目标对象的内容被执行滚动事件,使所述截屏区域显示第二内容时,对所述第二内容进行截屏得到第二图像;
对所述第一图像和所述第二图像进行合并处理,得到截屏预览图像,所述截屏预览图像是在对所述第一图像和所述第二图像进行拼接处理后,对拼接处理后的图像进行压缩处理所得到的;所述压缩处理包括:对拼接处理后的图像的清晰度或内存占用量进行压缩的处理;
在所述蒙层窗口中除所述截屏区域以外的剩余区域中绘制预览区域,在所述预览区域中显示所述截屏预览图像;
当所述目标对象的内容被执行滚动事件,使所述截屏区域显示第三内容时,对所述第三内容进行截屏得到第三图像;
对所述拼接处理后的图像和所述第三图像进行合并处理以更新所述截屏预览图像。
2.如权利要求1所述的方法,其特征在于,所述对所述第一图像和所述第二图像进行合并处理,得到截屏预览图像,包括:
对所述第一图像和所述第二图像进行拼接处理;
按照预设比例对拼接处理后的图像进行压缩处理,得到截屏预览图像。
3.如权利要求2所述的方法,其特征在于,所述对所述第一图像和所述第二图像进行拼接处理,包括:
确定所述第一图像和所述第二图像之间的重叠区域;
根据所述重叠区域裁剪所述第一图像得到第一子图,并根据所述重叠区域裁剪所述第二图像得到第二子图;
对所述第一子图和所述第二子图进行拼接处理。
4.如权利要求3所述的方法,其特征在于,所述目标对象的内容依序排列,所述第一内容位于所述第二内容之前;所述第一图像包括所述重叠区域和非重叠的第一区域,所述第二图像包括所述重叠区域和非重叠的第二区域;
所述根据所述重叠区域裁剪所述第一图像得到第一子图,并根据所述重叠区域裁剪所述第二图像得到第二子图,包括:
将所述第一图像作为第一子图;
裁剪掉所述第二图像中的重叠区域,得到第二子图,所述第二子图包括所述非重叠的第二区域。
5.如权利要求3所述的方法,其特征在于,所述目标对象的内容依序排列,所述第一内容位于所述第二内容之前;所述第一图像依次包括:顶部区域、非重叠的第一区域、所述重叠区域及底部区域,所述第二图像依次包括:所述顶部区域、所述重叠区域、非重叠的第二区域和所述底部区域;
所述根据所述重叠区域裁剪所述第一图像得到第一子图,并根据所述重叠区域裁剪所述第二图像得到第二子图,包括:
裁剪掉所述第一图像中的所述底部区域,得到第一子图,所述第一子图包括所述顶部区域、所述非重叠的第一区域以及所述重叠区域;
裁剪掉所述第二图像的所述顶部区域和所述重叠区域,得到第二子图,所述第二子图包括所述非重叠的第二区域以及所述底部区域。
6.如权利要求1所述的方法,其特征在于,所述方法还包括:
若检测到截屏结束事件,则将当前的截屏预览图像所对应的拼接处理后的图像作为目标截屏图像,并输出所述目标截屏图像。
7.如权利要求6所述的方法,其特征在于,所述输出所述目标截屏图像之前,还包括:
确定用于合成所述目标截屏图像的各个相邻图像之间的拼接率;所述第一图像和所述第二图像为相邻图像,所述第三图像和所述第二图像为相邻图像;
若所述各个相邻图像之间的拼接率大于拼接率阈值,则执行输出所述目标截屏图像的步骤。
8.如权利要求1-7任一项所述的方法,其特征在于,所述对所述截屏区域对应的目标对象所包括的第一内容进行截屏得到第一图像之前,还包括:
检测所述第一内容中是否存在动态图像,所述动态图像由多帧静态图像以预设频率进行图像切换而产生动态效果的图像;
若存在,则控制所述动态图像停止图像切换,并执行对所述截屏区域对应的目标对象所包括的第一内容进行截屏得到第一图像的步骤。
9.如权利要求1-7任一项所述的方法,其特征在于,所述对所述截屏区域对应的目标对象所包括的第一内容进行截屏得到第一图像之前,所述方法还包括:进入第一截屏模式;
所述对所述截屏区域对应的目标对象所包括的第一内容进行截屏得到第一图像之后,所述方法还包括:
若接收到操作系统发送的关于截屏模式的切换信息,则从所述第一截屏模式切换至第二截屏模式,并基于所述第二截屏模式进行截屏处理;所述切换信息是由所述操作系统根据截获到的用户操作消息生成的;
其中,所述第一截屏模式为手动截屏模式,所述第二截屏模式为自动截屏模式;或者,所述第一截屏模式为自动截屏模式,所述第二截屏模式为手动截屏模式。
10.一种图像处理装置,其特征在于,包括:
处理单元,用于在终端界面上覆盖一蒙层窗口,所述蒙层窗口用于屏蔽其他进程的干扰信息,所述干扰信息包括以下至少一项:截屏过程中,在所述终端界面弹出的遮挡所截取内容的广告信息和系统推送信息;
获取单元,用于在所述蒙层窗口中获取截屏区域;其中,是自动将所述蒙层窗口所覆盖的终端界面中的可滚动窗口所构成的区域,作为截屏区域的;
截屏单元,用于对所述截屏区域对应的目标对象所包括的第一内容进行截屏得到第一图像;
所述截屏单元,用于当所述目标对象的内容被执行滚动事件,使所述截屏区域显示第二内容时,对所述第二内容进行截屏得到第二图像;
所述处理单元,用于对所述第一图像和所述第二图像进行合并处理,得到截屏预览图像,所述截屏预览图像是在对所述第一图像和所述第二图像进行拼接处理后,对拼接处理后的图像进行压缩处理所得到的;所述压缩处理包括:对拼接处理后的图像的清晰度或内存占用量进行压缩的处理;
所述处理单元,还用于在所述蒙层窗口中除所述截屏区域以外的剩余区域中绘制预览区域,在所述预览区域中显示所述截屏预览图像;
所述截屏单元,还用于当所述目标对象的内容被执行滚动事件,使所述截屏区域显示第三内容时,对所述第三内容进行截屏得到第三图像;
所述处理单元,还用于对所述拼接处理后的图像和所述第三图像进行合并处理以更新所述截屏预览图像。
11.一种终端,包括输入设备和输出设备,其特征在于,还包括:
处理器,适于实现一条或多条指令;以及,
计算机存储介质,所述计算机存储介质存储有一条或多条指令,所述一条或多条指令适于由所述处理器加载并执行如权利要求1-9任一项所述的图像处理方法。
12.一种计算机存储介质,其特征在于,所述计算机存储介质存储有一条或多条指令,所述一条或多条指令适于由处理器加载并执行如权利要求1-9任一项所述的图像处理方法。
CN201910559622.0A 2019-06-24 2019-06-24 图像处理方法、装置、终端及存储介质 Active CN110297681B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910559622.0A CN110297681B (zh) 2019-06-24 2019-06-24 图像处理方法、装置、终端及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910559622.0A CN110297681B (zh) 2019-06-24 2019-06-24 图像处理方法、装置、终端及存储介质

Publications (2)

Publication Number Publication Date
CN110297681A CN110297681A (zh) 2019-10-01
CN110297681B true CN110297681B (zh) 2024-06-11

Family

ID=68028906

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910559622.0A Active CN110297681B (zh) 2019-06-24 2019-06-24 图像处理方法、装置、终端及存储介质

Country Status (1)

Country Link
CN (1) CN110297681B (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110989897B (zh) * 2019-11-21 2021-12-03 富途网络科技(深圳)有限公司 截屏图片的获取方法、装置、终端设备及存储介质
CN111061530A (zh) * 2019-12-05 2020-04-24 维沃移动通信有限公司 一种图像处理方法、电子设备及存储介质
CN113420176B (zh) * 2021-06-22 2024-05-17 百度在线网络技术(北京)有限公司 搜题方法、题目框绘制方法和装置、设备及存储介质
CN114020387A (zh) * 2021-11-03 2022-02-08 杭州逗酷软件科技有限公司 终端的截屏方法及装置、存储介质和电子设备
CN114373186A (zh) * 2022-01-11 2022-04-19 北京新学堂网络科技有限公司 一种社交软件信息交互方法、装置和介质
CN117519888A (zh) * 2024-01-05 2024-02-06 成都泰盟软件有限公司 一种基于Web截图生成聊天记录文档的方法及系统

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101122857A (zh) * 2007-09-24 2008-02-13 腾讯科技(深圳)有限公司 一种截屏方法及系统
CN105278824A (zh) * 2014-07-31 2016-01-27 维沃移动通信有限公司 一种终端设备的截屏方法及其终端设备
CN106385550A (zh) * 2016-09-06 2017-02-08 青岛海信移动通信技术股份有限公司 一种截取屏幕图像的方法和终端
CN106802758A (zh) * 2017-01-05 2017-06-06 青岛海信移动通信技术股份有限公司 用于屏幕截取的处理方法和装置
CN107967099A (zh) * 2016-10-19 2018-04-27 中兴通讯股份有限公司 一种终端截屏的方法、装置及移动终端
CN107977652A (zh) * 2017-12-21 2018-05-01 维沃移动通信有限公司 一种屏幕显示内容的提取方法及移动终端
CN108108217A (zh) * 2017-12-29 2018-06-01 北京金山安全软件有限公司 一种截长屏的方法及装置
CN109271081A (zh) * 2018-07-28 2019-01-25 华为技术有限公司 滚动截屏的方法及电子设备
CN109389554A (zh) * 2018-09-12 2019-02-26 天津字节跳动科技有限公司 截图方法及装置
CN109739416A (zh) * 2018-04-19 2019-05-10 北京字节跳动网络技术有限公司 一种文本提取方法和装置

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9712579B2 (en) * 2009-04-01 2017-07-18 Shindig. Inc. Systems and methods for creating and publishing customizable images from within online events
US10783320B2 (en) * 2017-05-16 2020-09-22 Apple Inc. Device, method, and graphical user interface for editing screenshot images

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101122857A (zh) * 2007-09-24 2008-02-13 腾讯科技(深圳)有限公司 一种截屏方法及系统
CN105278824A (zh) * 2014-07-31 2016-01-27 维沃移动通信有限公司 一种终端设备的截屏方法及其终端设备
CN106385550A (zh) * 2016-09-06 2017-02-08 青岛海信移动通信技术股份有限公司 一种截取屏幕图像的方法和终端
CN107967099A (zh) * 2016-10-19 2018-04-27 中兴通讯股份有限公司 一种终端截屏的方法、装置及移动终端
CN106802758A (zh) * 2017-01-05 2017-06-06 青岛海信移动通信技术股份有限公司 用于屏幕截取的处理方法和装置
CN107977652A (zh) * 2017-12-21 2018-05-01 维沃移动通信有限公司 一种屏幕显示内容的提取方法及移动终端
CN108108217A (zh) * 2017-12-29 2018-06-01 北京金山安全软件有限公司 一种截长屏的方法及装置
CN109739416A (zh) * 2018-04-19 2019-05-10 北京字节跳动网络技术有限公司 一种文本提取方法和装置
CN109271081A (zh) * 2018-07-28 2019-01-25 华为技术有限公司 滚动截屏的方法及电子设备
CN109389554A (zh) * 2018-09-12 2019-02-26 天津字节跳动科技有限公司 截图方法及装置

Also Published As

Publication number Publication date
CN110297681A (zh) 2019-10-01

Similar Documents

Publication Publication Date Title
CN110297681B (zh) 图像处理方法、装置、终端及存储介质
US11789603B2 (en) File processing method, terminal, and storage medium
CN109164964B (zh) 内容分享方法、装置、终端及存储介质
EP3220249B1 (en) Method, device and terminal for implementing regional screen capture
US11054987B1 (en) Sidebar interaction method, device, and computer-readable storage medium
US10430456B2 (en) Automatic grouping based handling of similar photos
CN109101157A (zh) 侧边栏图标设置方法、装置、终端及存储介质
CN112306607A (zh) 截图方法和装置、电子设备和可读存储介质
CN111612873A (zh) Gif图片生成方法、装置及电子设备
US20180152622A1 (en) Mobile terminal-based photographing method and mobile terminal
EP3061214B1 (en) Method and apparatus for displaying image
CN112073301B (zh) 删除聊天群组成员的方法、设备及计算机可读介质
US11194598B2 (en) Information display method, terminal and storage medium
CN111324398A (zh) 最近内容的处理方法、装置、终端及存储介质
CN112181252B (zh) 截屏方法、装置及电子设备
CN112684963A (zh) 截图方法、装置及电子设备
CN113552977A (zh) 数据处理方法、装置、电子设备及计算机存储介质
CN105635832B (zh) 一种视频处理方法和装置
CN112889020A (zh) 基于截屏的交互方法、电子设备及计算机可读存储介质
CN111796736B (zh) 应用程序的分享方法、装置和电子设备
CN113157468A (zh) 跨进程信息处理方法、控制器、终端和存储介质
CN113726953B (zh) 显示内容获取方法和装置
KR20130141259A (ko) 화면 분할에 의한 실행영상 처리 방법 및 그 방법을 실행하는 프로그램이 기록된 기록매체
CN113067766B (zh) 图片发送方法、装置和电子设备
US20230089457A1 (en) Information processing method and apparatus, electronic device, and storage medium

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