截图方法、装置、计算机设备和存储介质与流程

文档序号:19154692发布日期:2019-11-16 00:34阅读:150来源:国知局
本申请涉及计算机设备领域,特别是涉及截图方法、装置、计算机设备和存储介质。
背景技术
::随着互联网技术的飞速发展,智能手机、平板电脑等终端越来越普及。用户可以通过终端分享或者保存自己感兴趣的内容。例如,当用户通过手机浏览到自己感兴趣的内容时,可以控制手机进行截图并分享给其他用户,截图可以把在屏幕或其他显示设备上显示的图像截取下来,保存为图片。目前,当终端得到截图后,如果不符合用户需要,则处理图片的过程比较繁琐,需要打开图片编辑工具,并在图片编辑工具中打开图片,再进行图片编辑,导致得到满足用户需求的截屏图片的效率比较低。技术实现要素:基于此,有必要针对上述得到最终的截屏图片的效率比较低的问题,提供一种截图方法、装置、计算机设备和存储介质。一种截图方法,所述方法包括:显示内容展示界面,所述内容展示界面展示有至少一个内容;接收第一截图指令,根据所述第一截图指令获取待截取的目标内容,所述待截取的目标内容是根据对所述内容展示界面上的内容的选择操作获取的;将所述目标内容按照预设内容排布方式进行排布,生成目标图像,所述目标图像的背景根据所述内容展示界面的背景确定。一种截图装置,所述装置包括:界面显示模块,用于显示内容展示界面,所述内容展示界面展示有至少一个内容;第一截图指令接收模块,用于接收第一截图指令,根据所述第一截图指令获取待截取的目标内容,所述待截取的目标内容是根据对所述内容展示界面上的内容的选择操作获取的;目标图像生成模块,用于将所述目标内容按照预设内容排布方式进行排布,生成目标图像,所述目标图像的背景根据所述内容展示界面的背景确定。在一些实施例中,所述装置还包括:目标图像展示模块,用于展示所述目标图像,所述目标图像的展示界面上展示有信息处理操作控件;信息处理操作接收模块,用于接收作用于所述信息处理操作控件的信息处理操作,根据所述信息处理操作对所述目标图像中的会话用户信息进行信息处理,得到信息处理后的图像,所述信息处理的方式包括隐藏处理、模糊处理或者变换处理中的至少一种。在一些实施例中,所述待截取的目标内容的获取模块包括:提示信息展示单元,用于获取针对所述内容展示界面的非内容截图指令,根据所述非内容截图指令展示内容截图模式进入提示信息;内容截图模式进入单元,用于根据作用于所述内容截图模式进入提示信息的操作,进入内容截图模式;目标内容得到单元,用于在所述内容截图模式下,接收对所述内容展示界面上的内容的选择操作,根据所述选择操作得到目标内容。在一些实施例中,所述内容截图模式进入单元用于:所述内容截图模式下,所述内容展示界面上的第一内容为用户已选择的内容,所述第一内容为根据所述非内容截图指令进行截图得到的内容。在一些实施例中,所述提示信息展示单元,用于:根据所述非内容截图指令,在所述内容展示界面上展示内容截图模式进入控件;所述内容截图模式进入单元用于:根据针对所述内容截图模式进入控件的操作,进入内容截图模式。在一些实施例中,所述目标图像生成模块包括:背景图像获取单元,用于获取所述内容展示界面对应的背景图像;目标图像得到单元,用于按照所述内容展示界面的内容排布方式,将所述目标内容排布在所述背景图像上,得到目标图像。在一些实施例中,所述目标图像得到单元用于:将所述目标内容排布在所述背景图像上,得到中间图像;获取所述内容展示界面的界面元素对应的界面元素图像;根据所述界面元素以及内容在所述内容展示界面的位置,将所述中间图像与所述界面元素图像进行拼接,得到目标图像。在一些实施例中,所述目标图像得到单元用于:根据屏幕展示范围从所述目标内容中获取第一内容,将所述第一内容排布在所述背景图像上,得到第一子图像;当所述目标内容未排布完全时,所述目标内容中获取未排布的第二内容,将所述第二内容排布在所述背景图像上,得到第二子图像;将所述第一子图像与所述第二子图像进行拼接,得到目标图像。一种计算机设备,包括存储器和处理器,所述存储器中存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行上述截图方法的步骤。一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行上述截图方法的步骤。上述截图方法、装置、计算机设备和存储介质,当接收到截图指令时,可以获取选择的待截取的内容,将待截取的内容按照预设内容排布方式进行排布,生成目标图像,生成的目标图像的背景根据内容展示界面的背景确定,因此可以根据需要选取截图的内容,得到截图图像,截图方式灵活且效率高。附图说明图1为一些实施例中提供的截图方法的应用环境图;图2为一些实施例中截图方法的流程图;图3为一些实施例中截图方法的实施示意图;图4为一些实施例中对图片进行截图的示意图;图5为一些实施例中隐藏会话用户信息的示意图;图6为一些实施例中待截取的目标内容的获取步骤的流程图;图7为一些实施例中进入内容截图模式的实施示意图;图8为一些实施例中将目标内容排布在背景图像上,得到目标图像的流程图;图9为一些实施例中将界面元素图像与中间图像拼接的实施示意图;图10为一些实施例中将目标内容排布在背景图像的实施示意图;图11为一些实施例中得到多张截图图像并拼接的实施示意图;图12为一些实施例中实现截图方法的软件架构图;图13为一些实施例中截图装置的结构框图;图14为一些实施例中计算机设备的内部结构框图。具体实施方式为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。可以理解,本申请所使用的术语“第一”、“第二”等可在本文中用于描述各种元件,但除非特别说明,这些元件不受这些术语限制。这些术语仅用于将第一个元件与另一个元件区分。举例来说,在不脱离本申请的范围的情况下,可以将第一子图像称为第二子图像,且类似地,可将第二子图像称为第一子图像。图1为一些实施例中提供的截图方法的应用环境图,如图1所示,在该应用环境中,包括第一会话终端110、服务器120以及第二会话终端130。第一会话终端110以及第二会话终端130可以通过服务器120相互发送会话消息。服务器120可以是即时通信应用服务器,用于转发第一会话终端110以及第二会话终端130之间的会话消息。第一会话终端110以及第二会话终端130的会话界面上可以展示会话消息,当需要对会话消息进行截图时,用户可以在第一会话终端110触发对会话界面的内容进行截图的第一截图指令,第一会话终端110根据第一截图指令获取用户选择的会话消息作为目标内容,将目标内容按照会话界面的内容排布方式进行排布,生成目标图像,会话界面的背景可以作为目标图像的背景。可以理解,也可以在第二会话终端130上执行本申请实施例提供的截图方法。服务器120可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群,可以是提供云服务器、云数据库、云存储和cdn等基础云计算服务的云服务器。终端可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表等,但并不局限于此,终端上可以安装有用于截图的截图应用,截图应用可以是集成在其他应用程序中,例如可以集成在即时通信应用中。终端以及服务器120可以通过网络等通讯连接方式进行连接,本申请在此不做限制。可以理解,上述应用场景只是一种示例,并不构成对本申请截图方法的限制,本申请的截图方法还可以应用于其他应用场景中,例如应用于对网页内容进行截取的场景中,终端上可以显示网页,根据对网页内容的选择获取目标网页内容。本申请的截图方法还可以应用于对本地存储的页面的内容进行截取的场景中。如图2所示,在一些实施例中,提出了一种截图方法,本实施例主要以该方法应用于终端来举例说明。具体可以包括以下步骤:步骤s202,显示内容展示界面,内容展示界面上展示有至少一个内容。具体地,内容可以是通过视频、语音、文字或者图片中的至少一种进行展示。可以是将一段文字为一个内容,也可以是将一篇文章作为一个内容,也可以是将一张图片作为一个内容。内容展示界面是用于显示内容的界面。内容展示界面中可以显示有一个或多个内容,“多个”是指至少两个。在一些实施例中,内容可以包括会话消息,内容展示界面包括显示会话消息的界面,即会话界面。一条会话消息可以为一个内容。因此终端可以显示会话界面,会话界面上展示有至少一条会话消息,故本申请的截图方法可以用于截取聊天窗口中的会话消息。例如,会话界面上可以显示有多条会话消息。会话是至少两个用户之间进行消息交互的过程,例如可以是即时通信会话。其中即时通信会话对应的即时通信应用可以是微信、qq或者微博等通信应用。会话可以是双方会话,也可以是群组会话,双方会话包括两个会话用户,群组会话包括至少三个会话用户。在一些实施例中,内容展示界面包括网页界面,内容包括网页内容。例如,终端可以向服务器发送网页获取请求,服务器返回网页,网页上可以展示有多个内容。可以是一段文字为一个内容。在一些实施例中,内容展示界面可以是用于展示图标的界面,例如可以是计算机的桌面。一个内容可以是指桌面上显示的一个图标。在一些实施例中,内容展示界面上展示的内容可以是动态变化的,例如,随着会话的进行,会话界面上展示的内容不断的进行更新。步骤s204,接收第一截图指令,根据第一截图指令获取待截取的目标内容,待截取的目标内容是根据对内容展示界面上的内容的选择操作获取的。具体地,截图指令是用于指示进行截图的指令。截图指令可以是根据用户的截图操作触发的。截图指令可以通过控件、语音、手势或者表情中的一种或多种方式触发。第一截图指令可以是用于指示根据选取的内容生成截图图像的指令,即可以为内容截图指令。例如,内容展示界面上可以显示有截图操作控件,当接收到作用于截图操作控件的操作时,触发第一截图指令。目标内容是指需要进行截图的内容,可以包括一个或者多个,具体根据用户的选择操作确定。选择操作是用于选择目标内容的操作,可以是通过控件、语音、手势或者表情中的一种或多种操作选择内容。通过选择操作,可以选择内容展示界面上的部分内容作为目标内容,选择的目标内容可以是连续的也可以是间隔的。例如,内容展示界面上可以包括8条内容,则可以选取第1条、第3条以及第5条作为目标内容。在一些实施例中,内容展示界面上展示的各个内容可以对应有内容选择控件,可以通过点击内容选择控件选择内容。当选择了内容后,也可以通过点击内容选择控件取消选择内容。如图3所示,会话消息旁边的方形302表示内容选择控件,控件上有“√”表示该内容已被选择为待截取的内容,控件上没有“√”表示该内容还没有被选择为待截取的内容。可以理解,还可以通过其他方式表示内容已被选择,例如,可以对选择的内容进行突出显示,例如加上其他的颜色,也可以在选择的内容上加上遮罩或者浮层。当用户取消选择该内容时,则突出显示效果消失。在一些实施例中,内容选择控件可以是响应于截图指令展示的,例如,当用户点击内容截图控件后,则可以在内容展示界面上展示各个内容对应的内容选择控件。在一些实施例中,内容选择控件可以是在接收到截图指令之前展示的。例如可以接收内容选择指令,根据内容选择指令在内容展示界面上展示内容选择控件。例如,当用户点击内容展示界面上的任一个内容的时间长度超过预设时长,或者力度超过预设压力的至少一个条件满足时,则可以在内容展示界面上展示内容选择控件。例如,如图3第一个子图像所示,当用户长按会话消息“dddddd”时,则可以显示“多选”操作控件。当用户点击“多选”操作控件时,则显示各个内容分别对应的内容选择控件302。在一些实施例中,可以根据选择操作得到起始内容以及终止内容,将起始内容以及终止终点之间的内容也作为选择的待截图的目标内容。例如,可以获取用户选择的多个内容,将用户选择的多个内容之间的内容也作为选择的内容。使得内容选择效率高。而且,即使用户不想将其中的部分内容也作为选择的内容,也可以再次点击不想选择的内容对应的内容选择控件,取消选择该内容。例如,当接收到用户的第一个选择操作以及第二个选择操作时,可以自动执行选择操作,使第一个选择操作以及第二个选择操作所选择的内容之间的内容,对应的内容选择控件为已选择,因此用户点击截图的起、止位置,便可成片选择截图的内容,如果不想要其中的一条或多条内容,则可以继续单击该条内容,则可以取消选择,操作更加方便高效。在一些实施例中,内容展示页面上展示的内容可以跟随用户的内容滚动操作变化。例如,用户通过向上或者向下的手势滑动内容,内容展示界面上的内容跟随手势的滑动进行更新,用户可以通过点击内容对应的内容选择控件选择需要的内容,使得选择的内容并不限制于只能是内容展示界面上当前显示的内容。在一些实施例中,选择操作可以是在接收到第一截图指令之前完成的,也可以是在接收到第一截图指令之后完成的。例如,可以接收内容选择指令,根据内容选择指令在内容展示界面上展示内容选择控件以及截图操作控件,如图3所示,控件304为截图操作控件。可以根据用户对内容选择控件的操作获取目标内容,当接收到对截图操作控件304的操作,则触发第一截图指令。步骤s206,将目标内容按照预设内容排布方式进行排布,生成目标图像,目标图像的背景根据内容展示界面的背景确定。具体地,内容排布方式可以包括内容的排布顺序、内容的排布位置以及内容的表现形式等。内容的表现形式可以包括内容的颜色、字体以及大小。预设方式可以根据需要设置,也可以预先设置为内容展示界面的内容排布方式。因此可以获取内容展示界面的内容展示方式,根据内容展示界面的内容展示方式对目标内容进行展示。在一些实施例中,内容展示界面为会话界面,则按照会话界面中,会话消息排布方式对目标会话消息进行排布,得到目标图像,目标图像的背景是根据内容展示界面的背景确定的,目标图像的背景可以为内容展示界面的全部背景,也可以为内容展示界面中的部分背景。例如,假设目标内容有2个,而一个内容展示界面可以展示5个内容,则可以截取部分内容展示界面的背景作为目标图像的背景。又例如,假设内容展示界面的背景为绿色,则目标图像的背景也为绿色。如图3所示,会话界面上包括4条会话消息,图3第1个子图中,当用户长按会话消息“dddddd”时,展示“复制”、“转发”、“回复”、“删除”以及“多选”分别对应的操作控件,当用户点击“多选”操作控件时,则展示内容选择控件以及内容截图控件,例如图3第2个子图中,用户已经选择了“aaaaaa”、“cccccc”以及“dddddd”3条会话消息,如果用户点击了截图控件304,则触发第一截图指令,根据第一截图指令可以生成截图图像,即目标图像,目标图像可以如图3第3个子图中的306所示。同时,如图3第3个子图所示,终端上还可以显示“隐藏昵称”对应的控件,当用户点击了“隐藏昵称”对应的控件,则可以对截图图像中的用户头像以及昵称进行隐藏。例如,第4个子图中,用户头像以及昵称被白色的图层覆盖了,截图图像中看不清是谁发的会话消息。此外,当用户点击了“编辑”控件时,则可以进入编辑截图图像的界面。如第5个子图所示,编辑图像的界面上可以展示有“增加文字”、“裁剪”以及“p图”的操作控件,“p图”指对图片进行处理。当用户编辑完毕,点击“完成”操作控件,则如第6个子图所示,可以显示“发送好友”、“保存”、“收藏”以及“取消”等操作控件。如果点击取消,则可以取消生成截图。在一些实施例中,当目标内容的类型包括图片时,例如当目标内容均为图片时,可以获取目标内容中的图片,将各个图片按照在内容展示界面的展示顺序拼接在一起,得到目标截图。例如,如图4所示,当内容展示界面为会话界面时,在与用户“kotoba”聊天的会话界面,用户选择了多个图片,并点击了进行截图的控件,如图4中间的图所示,则可以按照会话界面的会话消息排布方式对用户选择的图片进行排布,同时还可以显示“纯图”操作控件,“纯图”操作控件用于接收对图片进行拼接的操作。如图4右边的图所示,当用户点击了“纯图”操作控件,则可以将多张图片按照会话顺序进行拼接,得到一张图。上述截图方法,当接收到截图指令时,可以获取选择的待截取的内容,将待截取的内容按照预设内容排布方式进行排布,生成目标图像,生成的目标图像的背景根据内容展示界面的背景确定,因此可以根据需要选择截图的内容得到截图图像,截图方式灵活且效率高。在一些实施例中,当内容展示界面为会话界面,会话界面上还可以展示有会话消息对应的属性信息。属性信息可以包括会话消息对应的会话用户信息或者会话时间中的至少一个。会话消息对应的会话用户信息是指发出该会话消息的用户的信息。例如可以包括用户名称以及用户头像中的至少一个。会话时间可以是指接收该会话消息的时间。在一些实施例中,当目标内容包括目标会话消息时,可以获取目标会话消息对应的属性信息,属性信息包括目标会话消息对应的会话用户信息或者会话时间中的至少一个。将目标会话消息按照会话界面的会话消息排布方式进行排布,生成目标图像包括:将目标会话消息以及对应的属性信息按照会话界面的会话消息以及属性排布方式进行排布,形成目标图像。具体地,目标会话消息是指需要进行截取的会话消息,可以获取目标会话消息对应的属性信息。目标图像中,目标会话消息以及对应的属性信息是按照会话消息以及对应的属性信息在会话界面的排布方式排布的。这样使得截图得到的图像与原内容展示界面更加相像。例如,图3中,截图图像中,用户昵称、用户头像以及会话消息的排布方式与会话界面的排布方式是一致的。在一些实施例中,截图方法还可以包括以下步骤:展示目标图像,目标图像的展示界面上展示有信息处理操作控件;接收作用于信息处理操作控件的信息处理操作,根据信息处理操作对目标图像中的会话用户信息进行信息处理,得到信息处理后的图像,信息处理的方式包括隐藏处理、模糊处理或者变换处理中的至少一种。具体地,信息处理操作控件是用于接收信息处理操作的控件。隐藏处理是指将信息从目标图像中隐藏,例如加上马赛克。模糊处理是指使会话用户信息变模糊,例如可以进行高斯模糊。变换处理是指将会话用户信息中的至少一部分变成其他的信息。例如,将用户的头像更改为其他头像,将用户的昵称中的至少一个字变成其他的文字,例如对用户进行匿名处理,变换为其他的名字。通过将会话用户信息进行信息处理,可以避免用户信息的泄漏,保护了用户的隐私。得到目标图像后,可以在终端上展示目标图像。目标图像的展示界面上可以展示信息处理操作控件。例如,如图5左边的图所示,若没有隐藏昵称,则生成的目标图像上显示有用户的头像以及昵称,如果选择隐藏了昵称,则如图5右边的图所示,用户的昵称“qaz”可以变为“匿名”,其中图5的“隐藏昵称”控件对应的信息处理方式可以包括隐藏处理、模糊处理或者变换处理的至少一种。本申请实施例中,通过作用于信息处理操作控件的信息处理操作,能够对会话用户的信息自动进行处理,操作步骤简单且可以保护用户隐私。例如,当用户需要分享聊天记录,则可以对聊天记录进行截图,并点击“隐藏昵称”按键,那么聊天记录截图中,用户的头像以及昵称上就会自动打上马赛克,因此可以实现一键对头像以及昵称进行打码。在一些实施例中,对于会话界面,还可以根据信息处理操作对会话界面的标题进行处理,处理方式也可以包括隐藏处理、模糊处理或者变换处理中的至少一种。在一些实施例中,对于会话消息,当在会话界面的会话消息之间,显示有会话时间时,则在选择会话消息时,可以自动选择该会话消息对应的时间。再如图3所示,控件“隐藏昵称”表示信息处理操作控件,当接收到对信息处理操作控件的点击操作时,则对目标图像中的会话用户信息进行信息处理,由第4个子图可以看出,信息处理后的图像中,用户的昵称以及头像都已经覆盖了其他图像,因此可以减少用户信息的泄漏,而且信息处理方式简单便捷,减少用户对图像进行手动处理操作的次数。在一些实施例中,如图6所示,待截取的目标内容的获取步骤包括:步骤s602,获取针对内容展示界面的非内容截图指令,根据非内容截图指令展示内容截图模式进入提示信息。具体地,非内容截图指令是指并不是针对内容进行截取的截图指令,针对内容的截图指令即内容截图指令可以指示获取待截取的目标内容,根据目标内容生成目标图像的截图指令。而非内容截图指令获取截图的方式不是通过获取内容,生成目标图像的方式进行截图的。例如非内容截图指令可以是针对某一个区域的截图指令,可以接收用户对界面上某一个区域的选择操作,对该区域进行截图。非内容截图指令也可以是针对整个界面进行截图的截图指令,可以接收用户对截图操作控件的操作,触发非内容截图指令,将终端中整个界面作为待截取的界面。内容截图模式是指可以通过选择内容进行截图的模式。在内容截图模式下,可以触发内容截图指令。内容截图模式进入提示信息用于提示是否进入内容截图模式。内容截图模式进入提示信息的方式可以是通过语音、视频、文字或者控件中的至少一种方式进行提示。例如,可以发出“是否需要进入内容截图模式”的文字提示信息、语音提示信息或者视频提示信息。也可以在界面上展示内容截图模式进入控件。可以理解,当接收到非内容截图指令时,终端可以执行截图步骤,得到根据非内容截图指令截图得到的图像。步骤s604,根据作用于内容截图模式进入提示信息的操作,进入内容截图模式。具体地,作用于内容截图模式进入提示信息的操作是指该操作是根据内容截图模式进入提示信息发出的。该操作可以是通过语音、手势、表情或者操作控件中的至少一个执行的。例如,当发出“是否需要进入内容截图模式”的语音提示信息时,如果接收到“是”的语音,则进入内容截图模式。在一些实施例中,当进入内容截图模式时,可以显示各个目标内容对应的内容选择控件,使得用户可以通过操作内容选择控件选择内容。在一些实施例中,在内容截图模式下,内容展示界面上的第一内容为用户已选择的内容,第一内容为根据非内容截图指令进行截图得到的内容。例如,当用户选择了a区域作为截图区域,发出非内容截图指令对a区域进行截图,则在进入内容截图模式时,将a区域中显示的内容默认作为用户已选择的内容。由于非内容截图指令对应的内容往往是用户想要截取的内容,因此,在进入内容截图模式时,将这些内容默认作为用户已选择的内容,这样,可以减少用户执行选择操作的次数。用户可以在第一内容的基础上,继续选择其他的内容作为待截取的内容。当然用户也可以通过点击对应的内容选择控件,取消选择第一内容为待截取的内容。在一些实施例中,根据非内容截图指令展示内容截图模式进入提示信息包括:根据非内容截图指令,在内容展示界面上展示内容截图模式进入控件。根据作用于内容截图模式进入提示信息的操作,进入内容截图模式包括:根据针对内容截图模式进入控件的操作,进入内容截图模式。具体地,当接收到非内容截图指令时,可以在内容展示界面上展示内容截图模式进入控件,以提示用户可以进入内容截图模式。如果接收到用户针对内容截图模式进入控件的操作,例如点击操作,则可以进入内容截图模式。如图7所示,用户可以点击终端上的非内容截图控件,例如,点击手机系统中对整个屏幕进行截图的截图控件,终端接收到该点击操作时,触发截图指令,该截图指令为非内容截图指令,终端根据该非内容截图指令进行截图,得到截图图像702,截图图像包括会话消息“aaaaa”、“bbbbbb”“ccccc”以及“ddddd”。终端根据非内容截图指令展示“长截图”控件704,如图7第一个子图所示,该控件704为内容截图模式进入控件,通过该控件提示用户是否进入内容截图模式,当接收到针对控件704的操作时,例如点击操作时,则进入内容截图模式,在内容截图模式下,非内容截图指令需要截取的内容对应的内容选择控件已默认选择,即“aaaaa”、“bbbbbb”“ccccc”以及“ddddd”对应的内容选择控件已经打“√”,如图7第二个子图所示。步骤s606,在内容截图模式下,接收对内容展示界面上的内容的选择操作,根据选择操作得到目标内容。具体地,在内容截图模式下,用户可以继续选择需要截取的内容,终端接收针对内容的选择操作,将选择的内容作为目标内容。本申请实施例中,通过在接收到非内容截图指令时,展示内容截图模式进入提示信息,可以根据作用于内容截图模式进入提示信息的操作,进入内容截图模式,因此可以快速的进入内容截图模式,方便用户灵活且便捷的选择对应的内容,生成截图图像。在一些实施例中,将目标内容按照内容展示界面的内容排布方式进行排布,生成目标图像包括:获取内容展示界面对应的背景图像;按照内容展示界面的内容排布方式,将目标内容排布在背景图像上,得到目标图像。具体地,获取的背景图像为内容展示界面的背景图像,例如,当内容展示界面中的背景图像为用户的人像图片时,则获取该人像图片。得到背景图像后,可以将目标内容排布在背景图像上,得到目标图像。目标图像上,目标内容与内容展示界面的顺序是一致的。例如,假设内容展示界面上会话消息“aaaa”排在会话消息“bbbb”的前面,则在目标图像上,会话消息“aaaa”也排在会话消息“bbbb”的前面。在一些实施例中,如图8所示,将目标内容排布在背景图像上,得到目标图像包括:步骤s802,将目标内容排布在背景图像上,得到中间图像。具体地,中间图像是指将目标内容排布在背景图像上,得到的图像。步骤s804,获取内容展示界面的界面元素对应的界面元素图像。具体地,界面元素是展示在内容展示界面的相关元素。内容展示界面上可以包括一个或多个界面元素,例如对于网页页面,界面元素可以包括网页页面上的工具栏、收藏夹、标题栏等界面元素。对于会话界面,界面元素可以包括标题栏以及底部的工具栏等,底部工具栏上可以包括用于进入获取表情的界面的操作控件、拍照操作控件等。标题栏可以显示会话界面的标题,例如群名称。可以获取内容展示界面的全部界面元素对应的界面元素图像,也可以是获取部分界面元素对应的界面元素图像。例如,可以获取标题栏界面元素对应的界面元素图像以及底部的工具栏界面元素对应的界面元素图像。步骤s806,根据界面元素以及内容在内容展示界面的位置,将中间图像与界面元素图像进行拼接,得到目标图像。具体地,将中间图像与界面元素图像进行拼接时,是按照内容与界面元素在内容展示界面的位置进行拼接的,使得目标图像中,内容与界面元素的展示位置与内容展示界面中的位置是对应的,例如,假设内容展示界面中,标题栏是在展示内容的区域的上方,工具栏是在展示内容的区域的下方,则如图9所示,在拼接时,将标题栏对应的界面元素图像放置在中间图像的上方,工具栏对应的界面元素图像放置于中间图像的下方。在一些实施例中,将目标内容排布在背景图像上,得到目标图像包括:根据屏幕展示范围从目标内容中获取第一内容,将第一内容排布在背景图像上,得到第一子图像;当目标内容未排布完全时,目标内容中获取未排布的第二内容,将第二内容排布在背景图像上,得到第二子图像将第一子图像与第二子图像进行拼接,得到目标图像。具体地,屏幕展示范围是指屏幕中展示内容的范围,屏幕中展示内容的位置范围是有限的,当目标内容过多时,屏幕上可能无法同时展示所有的目标内容,即一张背景图像可能不能排布所有的目标内容,因此目标内容需要分屏排布。因此可以根据屏幕展示范围从目标内容中获取第一内容,以将第一内容排布在背景图像上,形成一张图像,即第一子图像,如果目标内容中还包括剩余的内容,即目标内容还未排布完全,则可以获取还没有排布的第二内容,将第二内容排布在背景图像上,得到第二子图像。得到第一子图像以及第二子图像后,将第一子图像以及第二子图像拼接,可以得到目标图像。在一些实施例中,将第一子图像以及第二子图像拼接时,还可以获取界面元素图像与第一子图像以及第二子图像进行拼接,得到目标图像。在一些实施例中,如果在排布了第二内容后,目标内容还存在未排布的内容,则可以继续获取未排布的内容,排布在背景图像上,得到第三子图像。将第一子图像、第二子图像以及第三子图像进行拼接,得到目标图像。在将第一内容排布在背景图像上时,可以是先对所有的第一内容进行排布布局,确定布局后再将布局好的第一内容与背景图像叠加。也可以是将第一内容依次排布在背景图像上。第二内容的排布方式可以参照第一内容的排布方式例如,可以设置屏幕展示范围为长度为9厘米,宽度为3厘米,则可以从目标内容中依次获取内容,直至目标内容排布的高度超过9厘米,超过9厘米的部分为未排布的目标内容。如图10所示,可以在decorview上创建前景对应的listview以及背景对应的listview,按照内容展示界面的内容排布方式第一内容排布在前景对应的lsitview上,排布完成后与背景listview对应的背景图片进行叠加,得到第一子图像。其中,decorview是窗口的根视图,为window界面的最顶层视图,listview为安卓中的控件,通过此控件,可将内容组成带有或不带有列标头的列,并可以显示伴随的图标和文本。图10中的n表示第一内容的数量,一个内容可以占据一个内容框架,一个内容框架可以展示一个会话消息以及对应的属性信息。在一些实施例中,在对内容进行排布时,可以是按照内容在内容展示界面上的展示顺序依次获取目标内容。对于会话消息,可以根据会话时间的倒序依次获取目标会话消息。例如,假设包括两条会话消息,第一条会话消息的会话时间为7月15日11点,第二条会话消息的会话时间为7月15日12点,则首先可以获取第二条会话消息进行排布,并从背景图像的底部开始进行排布。在一些实施例中,当目标内容需要排布在同样的多张背景图像上时,可能存在有些内容长度过长,当前的背景图像不能完全容纳该内容的情况,则可以将该内容裁剪到相邻的两张背景图像中,这里相邻的图像是指在拼接时相邻的图像。例如,如图11所示,第一屏表示第一子图像,第二屏表示第二子图像,第三屏表示第三子图像。消息1、2、3、4、5、6、7、8、9代表有9条消息,其中消息是按照会话时间进行排序的,会话时间与当前的时间越接近,则排序越后。例如消息9表示最新的消息。由图11可以看出,消息3被裁剪到相邻的两屏了,可以将第一屏、第二屏以及第三屏拼接在一起,得到目标图像。在一些实施例中,实现本申请的截图方法的软件架构如图12所示,可以包括用户界面(userinterface,ui)层、业务逻辑层以及数据模型(model)层,数据模型层位于下层,业务逻辑层位于中间层,用户界面层位于上层。其中数据模型负责管理截图上下文的数据,包括选中的内容即截图消息(可称为messages)、截图状态(可称为state)以及截图图像(可称为bitmaps)。数据模型处理上层即业务逻辑层发送的截图请求,根据截图请求获取截图消息,并将截图消息通过监听器回调给业务逻辑层。截图状态用于指示已进入内容截图模式状态。业务逻辑层(可以称为presenter),负责管理截图上下文的业务,如拷贝选中的截图消息(可称为copy)、对listview进行分屏截图(可称为capture)、对截图进行拼接(可称为merge)等。该层接收上一层的视图发送的进入截图状态、选中截图的内容、预览、编辑以及隐藏昵称等用户点击事件,并利用底层的数据模型层的接口记录截图状态、拷贝消息列表以及拼接多屏截图等,最后通过监听器把请求的处理状态回调给视图。用户界面层负责管理截图状态下的界面元素视图,包括titleview、listview、bottomview。titleview指标题栏对应的视图,listview指内容对应的视图,bottomview指底部工具栏对应的视图。用户界面层可以接收用户的点击事件并传递给下一层,即逻辑业务层,接收逻辑业务层的回调,根据数据模型层对应的状态显示对应的用户界面元素。在一些实施例中,以安卓系统为例,截取得到内容,并生成目标图像的过程可以包括:首先可深拷贝选择的内容,即目标内容,避免目标内容对原来的listview存在引用而引起渲染状态错乱问题。深拷贝是指将一个对象赋值给另一个对象。其次可以创建新的listview和adapter(适配器)实例,绑定拷贝的消息,并挂载到控件树中decorview的背景位置进行渲染,其中decorview是窗口的根视图,为window界面的最顶层视图。背景listview在渲染时处于用户不可见的位置,对于用户而言是完全无感知。通过将listview挂载到devorview,可以解决选中的内容中,图片、视频或者应用等需要进行多次异步渲染才能渲染完成的问题。在进行分屏生成子图像时,可以循环调用android.widget中的方法abslistview#setselectionfrombottom从底部进行分屏布局和调用android.view中的getdrawingcache进行分屏截图并记录在截图集合中,用于之后的拼接。其中android.widget是指安卓系统中提供列表小部件。abslistview#setselectionfrombottom是指在视图中从底部开始进行布局。getdrawingcache是指得到截图的缓存,即可以得到多屏图像,进行缓存,当所有目标内容完成排布后,再对多屏图像进行拼接。在进行拼接时,可以包括以下流程:创建位图(bitmap)以及canvas。canvas是一个组件,可以用于绘制图像。首先可以截取标题栏对应的界面元素图像并渲染在位图的顶部,然后依次渲染各个子图像(子图像也为位图)到位图的中间,再获取底部工具栏对应的界面元素图像(bitmap)渲染在位图的底部,可以调用安卓中的位图压缩函数(android.graphics.bitmap#compress)把最终得到的图片压缩成png(portablenetworkgraphics,便携式网络图形)格式的文件,得到目标图像。以下结合一个具体的实施例对本申请提供的截图方法进行说明。1、显示内容展示界面,内容展示界面展示有至少一个内容。例如,可以显示会话界面,会话界面上展示有多条会话消息。2、接收内容选择操作,根据内容选择操作选择确定对应的目标内容。例如,用户可以长按其中的一个会话消息,则会话界面上可以显示“多选”对应的控件,当点击“多选”对应的控件时,则会话界面上展示各个会话消息分别对应的选择控件。用户可以点击该控件选择会话消息。3、接收第一截图指令,根据第一截图指令获取待截取的目标内容例如,会话界面上还可以显示进行内容截图对应的控件。当用户点击该控件时,触发第一截图指令,终端根据第一截图指令获取带截取的会话消息。4、获取内容展示界面的背景图像。例如,会话界面上设置了背景图像,则可以获取该背景图像。5、按照内容展示界面的内容排布方式,将目标内容排布在背景图像上,得到目标图像。例如,可以按照会话排布的方式,将选择的会话信息排布在背景图像上。得到目标图像。通过实施本申请实施例提供的方法,所选取的目标内容可以不是连续的,当内容展示界面上展示有多种类型的内容时,可以根据需要选择一种或多种内容,因此用户容易控制截取的范围,突破了传统截图只能截取连区域的限制,对于只需要选取屏幕中部分内容的场景,可以更加灵活。内容展示界面的内容还可以跟随对内容的滚动操作进行滚动,因此用户可以选择自由选择多个内容,灵活度高。当选择的内容超过屏幕的展示范围时,可以进行分屏排布,使得最终得到的截图图像可以包括多屏内容,即可以生成长图,突破了传统截图只能截取一个屏幕大小的截图的限制,对于需要同时截取多个屏幕最终又希望合成一张图片的场景,可以快速方便的完成,极大地提高了效率并提升了体验。如图13所示,在一些实施例中,提供了一种截图装置,该截图装置可以集成于上述的终端中,具体可以包括界面显示模块1302、第一截图指令接收模块1304以及目标图像生成模块1306。界面显示模块1302,用于显示内容展示界面,内容展示界面展示有至少一个内容。第一截图指令接收模块1304,用于接收第一截图指令,根据第一截图指令获取待截取的目标内容,待截取的目标内容是根据对内容展示界面上的内容的选择操作获取的。目标图像生成模块1306,用于将目标内容按照预设内容排布方式进行排布,生成目标图像,目标图像的背景根据内容展示界面的背景确定。在一些实施例中,内容展示界面包括会话界面,目标内容包括目标会话消息,界面显示模块1302用于:显示会话界面,会话界面上展示有至少一条会话消息;目标图像生成模块1306用于:将目标会话消息按照会话界面的会话消息排布方式进行排布,生成目标图像。在一些实施例中,截图装置还包括:属性信息获取模块,用于获取目标会话消息对应的属性信息,属性信息包括目标会话消息对应的会话用户信息或者会话时间中的至少一个。目标图像生成模块1306用于:将目标会话消息以及对应的属性信息按照会话界面的会话消息以及属性排布方式进行排布,形成目标图像。在一些实施例中,截图装置还包括:目标图像展示模块,用于展示目标图像,目标图像的展示界面上展示有信息处理操作控件。信息处理操作接收模块,用于接收作用于信息处理操作控件的信息处理操作,根据信息处理操作对目标图像中的会话用户信息进行信息处理,得到信息处理后的图像,信息处理的方式包括隐藏处理、模糊处理或者变换处理中的至少一种。在一些实施例中,待截取的目标内容的获取模块包括:提示信息展示单元,用于获取针对内容展示界面的非内容截图指令,根据非内容截图指令展示内容截图模式进入提示信息。内容截图模式进入单元,用于根据作用于内容截图模式进入提示信息的操作,进入内容截图模式。目标内容得到单元,用于在内容截图模式下,接收对内容展示界面上的内容的选择操作,根据选择操作得到目标内容。在一些实施例中,内容截图模式进入单元用于:内容截图模式下,内容展示界面上的第一内容为用户已选择的内容,第一内容为根据非内容截图指令进行截图得到的内容。在一些实施例中,提示信息展示单元,用于:根据非内容截图指令,在内容展示界面上展示内容截图模式进入控件;内容截图模式进入单元用于:根据针对内容截图模式进入控件的操作,进入内容截图模式。在一些实施例中,目标图像生成模块1306包括:背景图像获取单元,用于获取内容展示界面对应的背景图像。目标图像得到单元,用于按照内容展示界面的内容排布方式,将目标内容排布在背景图像上,得到目标图像。在一些实施例中,目标图像得到单元用于:将目标内容排布在背景图像上,得到中间图像。获取内容展示界面的界面元素对应的界面元素图像。根据界面元素以及内容在内容展示界面的位置,将中间图像与界面元素图像进行拼接,得到目标图像。在一些实施例中,目标图像得到单元用于:根据屏幕展示范围从目标内容中获取第一内容,将第一内容排布在背景图像上,得到第一子图像。当目标内容未排布完全时,目标内容中获取未排布的第二内容,将第二内容排布在背景图像上,得到第二子图像。将第一子图像与第二子图像进行拼接,得到目标图像。图14示出了一些实施例中计算机设备的内部结构图。该计算机设备具体可以是图1中的终端。如图14所示,该计算机设备包括通过系统总线连接的处理器、存储器、网络接口、输入装置和显示屏。其中,存储器包括非易失性存储介质和内存储器。该计算机设备的非易失性存储介质存储有操作系统,还可存储有计算机程序,该计算机程序被处理器执行时,可使得处理器实现截图方法。该内存储器中也可储存有计算机程序,该计算机程序被处理器执行时,可使得处理器执行截图方法。计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。本领域技术人员可以理解,图14中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。在一些实施例中,本申请提供的截图装置可以实现为一种计算机程序的形式,计算机程序可在如图14所示的计算机设备上运行。计算机设备的存储器中可存储组成该截图装置的各个程序模块,比如,图13所示界面显示模块1302、第一截图指令接收模块1304以及目标图像生成模块1306。各个程序模块构成的计算机程序使得处理器执行本说明书中描述的本申请各个实施例的截图方法中的步骤。例如,图14所示的计算机设备可以通过如图13所示的截图装置中的界面显示模块1302显示内容展示界面,内容展示界面展示有至少一个内容。通过第一截图指令接收模块1304接收第一截图指令,根据第一截图指令获取待截取的目标内容,待截取的目标内容是根据对内容展示界面上的内容的选择操作获取的。通过目标图像生成模块1306将目标内容按照预设内容排布方式进行排布,生成目标图像,目标图像的背景根据内容展示界面的背景确定。在一些实施例中,提供了一种计算机设备,包括存储器和处理器,存储器存储有计算机程序,计算机程序被处理器执行时,使得处理器执行上述截图方法的步骤。此处截图方法的步骤可以是上述各个实施例的截图方法中的步骤。在一些实施例中,提供了一种计算机可读存储介质,存储有计算机程序,计算机程序被处理器执行时,使得处理器执行上述截图方法的步骤。此处截图方法的步骤可以是上述各个实施例的截图方法中的步骤。应该理解的是,虽然本申请各实施例的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,各实施例中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(rom)、可编程rom(prom)、电可编程rom(eprom)、电可擦除可编程rom(eeprom)或闪存。易失性存储器可包括随机存取存储器(ram)或者外部高速缓冲存储器。作为说明而非局限,ram以多种形式可得,诸如静态ram(sram)、动态ram(dram)、同步dram(sdram)、双数据率sdram(ddrsdram)、增强型sdram(esdram)、同步链路(synchlink)dram(sldram)、存储器总线(rambus)直接ram(rdram)、直接存储器总线动态ram(drdram)、以及存储器总线动态ram(rdram)等。以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。当前第1页12当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1