CN102830963A - 一种匹配截图方法和系统 - Google Patents

一种匹配截图方法和系统 Download PDF

Info

Publication number
CN102830963A
CN102830963A CN2012102221442A CN201210222144A CN102830963A CN 102830963 A CN102830963 A CN 102830963A CN 2012102221442 A CN2012102221442 A CN 2012102221442A CN 201210222144 A CN201210222144 A CN 201210222144A CN 102830963 A CN102830963 A CN 102830963A
Authority
CN
China
Prior art keywords
window
edge
coordinate points
regional
zone
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.)
Granted
Application number
CN2012102221442A
Other languages
English (en)
Other versions
CN102830963B (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.)
3600 Technology Group Co ltd
Original Assignee
Beijing Qihoo Technology Co Ltd
Qizhi Software Beijing 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 Beijing Qihoo Technology Co Ltd, Qizhi Software Beijing Co Ltd filed Critical Beijing Qihoo Technology Co Ltd
Priority to CN201210222144.2A priority Critical patent/CN102830963B/zh
Publication of CN102830963A publication Critical patent/CN102830963A/zh
Application granted granted Critical
Publication of CN102830963B publication Critical patent/CN102830963B/zh
Active - Reinstated legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • User Interface Of Digital Computer (AREA)

Abstract

本发明提供了一种匹配截图方法和系统,涉及计算机技术领域。所述方法包括:记录光标轨迹所划定的候选区域;从所述候选区域的区域边沿出发,查找是否存在窗口边沿均在所述区域边沿内的UI窗口;所述窗口边沿为UI窗口的边沿;如果存在,则查找所述区域边沿内最外层的UI窗口,自动匹配所述UI窗口对应的区域作为截图区域;将所述截图区域对应的图像进行保存。本发明通过从对光标轨迹对应的区域边沿出发,自动向内匹配区域边沿内存在的UI窗口,然后自动匹配所述UI窗口对应的区域作为截图区域,并将所述截图区域对应的图像进行保存。通过本发明,可正确匹配窗口界面,及除矩形窗口以外其他形状窗口。

Description

一种匹配截图方法和系统
技术领域
本发明涉及计算机技术领域,尤其是涉及一种匹配截图方法和系统。
背景技术
图像是计算机用户用来表达信息的有效手段,文档和软件中使用图像能够提供丰富直观的信息。屏幕截图能够直接记录当前屏幕的显示状态,迅速准确的反映软件状态,而且能够记录一些无法通过拷贝文本提供的内容。
但由于现今的UI(User Interface,用户界面)设计往往不是直角边缘,使得常用截图工具,例如矩形、椭圆形状截图时,截取的窗口角落可能会有多余的背景图,截的窗口图片会存有空白区域,用户在截图时,为了得到符合自己希望的图片,往往是先大范围的对整个图像所在区域进行粗略截图,之后对截取的图片进行编辑后,得到自己想要的图像。比如用户在截取屏幕时,可能只想让对方看到屏幕某部分内容而其它是不能给看到,用矩形形状选取的屏幕截图就不能很灵活的处理这样的问题。
发明内容
本发明提供一种匹配截图方法和系统,以解决现有技术不能正确匹配窗口界面,或除矩形窗口以外其他形状窗口的问题。
为了解决上述问题,本发明公开了一种匹配截图方法,包括:
记录光标轨迹所划定的候选区域;
从所述候选区域的区域边沿出发,查找是否存在窗口边沿均在所述区域边沿内的UI窗口;所述窗口边沿为UI窗口的边沿;
如果存在,则查找所述区域边沿内最外层的UI窗口,自动匹配所述UI窗口对应的区域作为截图区域;
将所述截图区域对应的图像进行保存。
优选的,所述查找所述区域边沿内最外层的UI窗口,自动匹配所述UI窗口对应的区域作为截图区域进一步包括:
接收对所述候选区域的范围进行缩放调整的指令,当所述候选区域的范围缩小时,自动匹配当前UI窗口的子UI窗口,并将重新匹配后的UI窗口对应的区域作为截图区域。
优选的,自动匹配当前UI窗口的子UI窗口,并将重新匹配后的UI窗口对应的区域作为截图区域包括:
调用子窗口获取API函数获取当前UI窗口的下一层UI窗口;
判断所述下一层UI窗口是否在用户范围缩放指令对应的范围之内;
如果在,则将所述下一层UI窗口对应的区域作为截图区域。
优选的,其特征在于,所述从所述候选区域的区域边沿出发,自动向内匹配查找是否存在窗口边沿均在所述区域边沿内的UI窗口包括:
步骤A1,记录所述区域边沿的坐标点;
步骤A2,在所述区域边沿的坐标点围成的区域内,选择一坐标点,并根据所述坐标点确认包括当前坐标点的UI窗口;
步骤A3,获取当前UI窗口的窗口边沿的各坐标点,并遍历所述窗口边沿的各坐标点,判断所述窗口边沿的各坐标点是否在区域边沿的坐标点所围成的范围之内;
步骤A4,当存在一个窗口边沿的坐标点在区域边沿的坐标点所围成的范围之外,则获取当前UI窗口的下一层子UI窗口,转入步骤A3;否则,转入步骤A5;
步骤A5,当所述窗口边沿的各坐标点均在区域边沿的坐标点所围成的范围之内,则判断所述区域边沿之内存在UI窗口。
优选的,所述如果存在,则查找所述区域边沿内最外层的UI窗口包括:
步骤A6,当所述窗口边沿的各坐标点均在区域边沿的坐标点所围成的范围之内,则获取所述UI窗口的上一层父UI窗口,转入步骤A7;
步骤A7,获取当前UI窗口的窗口边沿的各坐标点,并遍历所述窗口边沿的各坐标点,判断所述窗口边沿的各坐标点是否在区域边沿的坐标点所围成的范围之内;
步骤A8,当上一层父UI窗口存在一个窗口边沿的坐标点在区域边沿的坐标点所围成的范围之外,那么确认所述上一层父UI窗口的UI窗口为区域边沿内最外层的UI窗口;
步骤A9,当上一层父UI窗口的窗口边沿的各坐标点均在区域边沿的坐标点所围成的范围之内,则转入步骤A6。
优选的,所述自动匹配所述UI窗口对应的区域作为截图区域包括:
将包括所述UI窗口的窗口边沿外,至少一圈坐标所围成的区域作为截图区域。
优选的,所述记录光标轨迹所划定的候选区域包括:
将光标点击的至少三个坐标点连接形成的范围确定为候选区域;
或将光标滑动轨迹的起点和终点作为对角线坐标构成的矩形区域确定为候选区域;
或将光标滑动轨迹围成的任意图形区域确定为候选区域。
相应的,本发明公开了一种匹配截图系统,包括:
候选区域划定模块,适于记录光标轨迹所划定的候选区域;
窗口存在判断模块,适于从所述候选区域的区域边沿出发,查找是否存在窗口边沿均在所述区域边沿内的UI窗口;所述窗口边沿为UI窗口的边沿;
截图区域确认模块,适于如果所述窗口存在判断模块查找到存在窗口边沿均在区域边沿内的UI窗口,则查找所述区域边沿内最外层的UI窗口,自动匹配所述UI窗口对应的区域作为截图区域;
图形保存模块,适于将所述截图区域对应的图像进行保存。
优选的,所述截图区域确认模块进一步包括:
区域调整模块,适于接收对所述候选区域的范围进行缩放调整的指令,当所述候选区域的范围缩小时,自动匹配当前UI窗口的子UI窗口,并将重新匹配后的UI窗口对应的区域作为截图区域。
优选的,所述窗口存在判断模块包括:
第一下层窗口获取模块,适于调用子窗口获取API函数获取当前UI窗口的下一层子UI窗口;
第一判断模块,适于判断所述下一层子UI窗口是否在用户范围缩放指令对应的范围之内;
第一截图区域确认模块,适于如果所述下一层子UI窗口在用户范围缩放指令对应的范围之内,则将所述下一层子UI窗口对应的区域作为截图区域。
优选的,其特征在于,所述窗口存在判断模块包括:
区域边沿坐标范围记录模块,适于记录所述区域边沿的坐标点;
初始窗口选择模块,适于在所述区域边沿的坐标点围成的区域内,选择一坐标点,并根据所述坐标点确认包括当前坐标点的UI窗口;
第二判断模块,适于获取当前UI窗口的窗口边沿的各坐标点,并遍历所述窗口边沿的各坐标点,判断所述窗口边沿的各坐标点是否在区域边沿的坐标点所围成的范围之内;
第二下层窗口获取模块,适于当存在一个窗口边沿的坐标点在区域边沿的坐标点所围成的范围之外,则获取当前UI窗口的下一层子UI窗口,转入第二判断模块;否则,转入第一UI窗口判断模块;
第一UI窗口判断模块,当所述窗口边沿的各坐标点均在区域边沿的坐标点所围成的范围之内,则判断所述区域边沿之内存在UI窗口。
优选的,所述截图区域确认模块包括:
第一上层窗口获取模块,适于当所述窗口边沿的各坐标点均在区域边沿的坐标点所围成的范围之内,则获取所述UI窗口的上一层父UI窗口,转入第三判断模块;
第三判断模块,用于获取当前UI窗口的窗口边沿的各坐标点,并遍历所述窗口边沿的各坐标点,判断所述窗口边沿的各坐标点是否在区域边沿的坐标点所围成的范围之内;
第三截图区域确认模块,适于当上一层父UI窗口存在一个窗口边沿的坐标点在区域边沿的坐标点所围成的范围之外,那么确认所述上一层父UI窗口的UI窗口为区域边沿内最外层的UI窗口;
第四判断模块,适于当上一层父UI窗口的窗口边沿的各坐标点均在区域边沿的坐标点所围成的范围之内,则转入第一上层窗口获取模块。
优选的,所述截图区域确认模块包括:
第四截图区域确认模块,适于将包括所述UI窗口的窗口边沿外,至少一圈坐标所围成的区域作为截图区域。
优选的,所述候选区域划定模块包括:
第一候选区域划定模块,适于将光标点击的至少三个坐标点连接形成的范围确定为候选区域;或将光标滑动轨迹的起点和终点作为对角线坐标构成的矩形区域确定为候选区域;或将光标滑动轨迹围成的任意图形区域确定为候选区域。
与现有技术相比,本发明具有以下优点:
本发明通过从对光标轨迹对应的区域边沿出发,自动向内匹配区域边沿内存在的UI窗口,然后自动匹配所述UI窗口对应的区域作为截图区域,并将所述截图区域对应的图像进行保存。通过本发明,可正确匹配窗口界面,及除矩形窗口以外其他形状窗口。
附图说明
图1是本发明方法实施例中的流程图;
图2是本发明方法实施例中采用矩形框选工具选取屏幕图像的示意图;
图3是本发明方法实施例中初步截图边缘处留有空白的示意图;
图4是本发明方法实施例中精度调整区域按钮的示意图;
图5是本发明方法实施例中使用精度调整区域按钮后截取的图像的示意图;
图6是本发明系统实施例中的结构图。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
本发明提出一种匹配截图方法,可正确匹配窗口界面,也可准确匹配除矩形窗口以外其他形状窗口,使本发明可以准确的截图屏幕图像,从而使得用户能一次就截取到自己想要的图像,并且不再需要通过粗略截图再进行编辑才能得到用户想要的图像。
下面通过实施例进行详细说明。
参照图1,是本发明实施例1所述一种匹配截图方法流程图,可以包括:
步骤110,记录光标轨迹所划定的候选区域;
用户发起截图请求后,可操作光标划定候选区域,即按下光标左键在背景区域中进行拖动,系统即可根据光标的移动轨迹划定候选区域。在确定截图区域时,可以通过光标移动轨迹所围成的区域确定为候选区域。
优选的,记录光标轨迹所划定的候选区域包括:
步骤A11,将光标点击的至少三个坐标点连接形成的范围确定为候选区域;
或将光标滑动轨迹的起点和终点作为对角线坐标构成的矩形区域确定为候选区域;
或将光标滑动轨迹围成的任意图形区域确定为候选区域。
对于将光标滑动轨迹的起点和终点作为对角线坐标构成的矩形区域确定为候选区域比如,左上角坐标为(100,100),右下角坐标为(110.90)对角线坐标,其构成的矩形区域的四个顶角为(100,100),(110,100),(100,90)(110,90)。
本发明还可以是将光标点击的至少三个坐标点连接形成的范围确定为候选区域,或将光标滑动轨迹围成的任意图形区域确定为候选区域。用户也可以采用圆形、椭圆形或者矩形框选工具选取需要截取的屏幕图像,下面就以最常用的矩形框选工具为例说明如何通过光标移动轨迹所围成的区域确定为候选区域。图2是采用矩形框选工具选取屏幕图像的示意图。当采用矩形框选工具选取屏幕图像时,只需要确定对角线上第一定位点201和第二定位点202的位置,即可确定矩形203的大小,也就是说,用户只需要确定第一定位点201和第二定位点202的位置即可确定候选区域。
步骤120,从所述候选区域的区域边沿出发,查找是否存在窗口边沿均在所述区域边沿内的UI窗口;所述窗口边沿为UI窗口的边沿;
当划定候选区域后,首先判断是否候选区域内是否存在至少一个边沿完全在候选区域的区域边沿内的UI窗口。如果不存在,则将当前候选区域作为截图区域,并将截图区域对应的图像进行保存。即如果不存在,则按照传统的截图方法进行截图。
优选的,所述从所述候选区域的区域边沿出发,自动向内匹配查找是否存在窗口边沿均在所述区域边沿内的UI窗口包括:
步骤A1,记录所述区域边沿的坐标点;
比如前述通过光标获得的矩形候选区域,其四个顶角为(100,100),(110,100),(100,90)(110,90),则可由该四个坐标点确定了矩形候选区域的区域边沿的各坐标点,即由四个坐标点连接而成的边上的坐标点。
步骤A2,在所述区域边沿的坐标点围成的区域内,选择一坐标点,并根据所述坐标点确认包括当前坐标点的UI窗口;
在本实施例中,选择的坐标点可为区域中心位置的坐标点。比如选择(105,95)。然后根据该坐标点,调用窗口获取API函数,确认包括当前坐标点的UI窗口,将该UI窗口作为初始UI窗口。所述窗口获取函数比如WindowFromPoint,WindowFromPoint函数功能:该函数获得包含指定点的窗口的句柄;
函数原型:HWND WindowFromPoint(POINT Point);
参数:
Point:指定一个被检测的点的POINT结构。
返回值S:返回值为包含该点的窗口的句柄。如果包含指定点的窗口不存在,返回值为NULL。如果该点在静态文本控件之上,返回值是在该静态文本控件的下面的窗口的句柄。
步骤A3,获取当前UI窗口的窗口边沿的各坐标点,并遍历所述窗口边沿的各坐标点,判断所述窗口边沿的各坐标点是否在区域边沿的坐标点所围成的范围之内;
通过前述步骤获取了UI窗口的句柄,那么即可根据所述句柄获取UI窗口的窗口边沿的坐标。在实际中,可通过GetWindowRect(CHWND,Rect)函数获取当前UI窗口界面的坐标,从而确认UI窗口的窗口边沿的坐标。
在获取UI窗口边沿的各坐标点后,则可遍历各坐标点,判断其是否在区域边沿的坐标点所围成的范围之内。
其中,判断每个窗口边沿的坐标是否在区域边沿的坐标点所围成的范围之内可为:
判断窗口边沿的当前坐标点的上、下、左、右方是否存在区域边沿的坐标点,如果四方均存在区域边沿的坐标点,则该窗口边沿的坐标点在区域边沿的坐标点所围成的范围之内;如果存在至少一方不存在区域边沿的坐标点,那么该窗口边沿的坐标点在区域边沿的坐标点所围成的范围之外。
步骤A4,当存在一个窗口边沿的坐标点在区域边沿的坐标点所围成的范围之外,则获取当前UI窗口的下一层子UI窗口,转入步骤A3;否则,转入步骤A5。
当步骤A3初始UI窗口的窗口边沿的坐标点中有一个点在候选区域的区域边沿的坐标点所围成的范围之外,那么即可判断当前UI窗口不在候选区域内,然后获取当前UI窗口的下一层子UI窗口,循环步骤A3,直至转入步骤A5。
其中,可通过子窗口获取函数ChildWindowFromPointEx,获取当前窗口的下一层子UI窗口。
步骤A5,当所述窗口边沿的各坐标点均在区域边沿的坐标点所围成的范围之内,则判断所述区域边沿之内存在UI窗口。
当所述UI窗口的窗口边沿的各坐标点均在区域边沿的坐标点所围成的范围之内,则判断所述区域边沿之内存在UI窗口。
步骤130,如果存在,则查找所述区域边沿内最外层的UI窗口,自动匹配所述UI窗口对应的区域作为截图区域。
即当步骤120判断获知当前候选区域内存在边沿完全在候选区域内容的UI窗口,那么则可查找候选区域内最外一层的UI窗口,自动匹配所述UI窗口对应的区域作为截图区域。
优选的,所述如果存在,则查找所述区域边沿内最外层的UI窗口包括:
步骤A6,当所述窗口边沿的各坐标点均在区域边沿的坐标点所围成的范围之内,则获取所述UI窗口的上一层父UI窗口,转入步骤A7;
在前述步骤判断当前UI窗口在区域边沿之内后,则可获取当前窗口的上一层父UI窗口。
步骤A7,获取当前UI窗口的窗口边沿的各坐标点,并遍历所述窗口边沿的各坐标点,判断所述窗口边沿的各坐标点是否在区域边沿的坐标点所围成的范围之内;
本步骤与步骤A3类似。
步骤A8,当上一层父UI窗口存在一个窗口边沿的坐标点在区域边沿的坐标点所围成的范围之外,那么确认所述上一层父UI窗口的UI窗口为区域边沿内最外层的UI窗口。
判断上一层父UI窗口是否在区域边沿内,如果不在,则判断该上一层父窗口的下一层子UI窗口为候选区域内最外一层UI窗口;如果在,则需要继续判断,即步骤A9。
步骤A9,当上一层父UI窗口的窗口边沿的各坐标点均在区域边沿的坐标点所围成的范围之内,则转入步骤A6。
即比如当前UI窗口A,在当所述UI窗口A的窗口边沿的各坐标点均在区域边沿的坐标点所围成的范围之内,则获取所述UI窗口的上一层父UI窗口B;
获取UI窗口B的窗口边沿的各坐标点,并遍历所述UI窗口B的窗口边沿的各坐标点,判断所述UI窗口B的窗口边沿的各坐标点是否在区域边沿的坐标点所围成的范围之内;
当UI窗口B存在一个窗口边沿的坐标点在区域边沿的坐标点所围成的范围之外,那么确认所述UI窗口A为区域边沿内最外层的UI窗口;
当上UI窗口B的窗口边沿的各坐标点均在区域边沿的坐标点所围成的范围之内,则继续转入步骤A6进行循环,直至匹配的区域边沿内最大的UI窗口,即最外层UI窗口。
优选的,所述则查找所述区域边沿内最外层的UI窗口,自动匹配所述UI窗口对应的区域作为截图区域进一步包括:
步骤S131,根据用户在所述候选区域内的范围缩放指令,自动匹配当前UI窗口的子UI窗口,并自动匹配所述UI窗口对应的区域作为截图区域。
即用户初步选择了初始的候选区域后,可在候选区域内继续进行小区域选择,那么,即可根据初始的候选区域的UI窗口,去判断该UI窗口的子UI窗口是否在用户缩小的区域之内。如果在,则表明匹配上,即可自动匹配所述UI窗口对应的区域作为截图区域。
进一步的,自动匹配当前UI窗口的子UI窗口,并将重新匹配后的UI窗口对应的区域作为截图区域包括:
步骤B11,调用子窗口获取API函数获取当前UI窗口的下一层UI窗口;
子窗口获取API函数比如ChildWindowFromPointEx。
步骤B12,判断所述下一层UI窗口是否在用户范围缩放指令对应的范围之内;
步骤B13,如果在,则将所述下一层UI窗口对应的区域作为截图区域。
优选的,所述自动匹配所述UI窗口对应的区域作为截图区域包括:
步骤C1,将包括所述UI窗口的窗口边沿外,至少一圈坐标所围成的区域作为截图区域。
在选择截图区域时,难免因为精度原因会在边缘处留有空白,(参见图3);那么本发明可设置在UI窗体之外的一圈坐标或多圈坐标与UI窗体一起作为截图区域,即使用“精度调整区域”(参见图4)保证截图的完整性,并将UI窗体之外的一圈坐标或多圈坐标像素设为空白。
然后在步骤140中截图进行保存时可对精度调整区域进行处理,这样经过精度调整区域处理后截取的图像在边缘处就没有空白了(参见图5)。
在具体实施时,在选择的截图区域内捕捉图像可以包括捕捉GDI(Graphics Device Interface,图形设备接口)图像。捕捉GDI图像可以调用微软公司推荐的Mirror Driver(镜像驱动技术)抓取GDI图像;将捕捉的GDI图像保存在预先创建的图像缓存区中。Mirror Driver是专门用于捕捉经过图形设备接口输入的图像的驱动程序,Mirror Driver在运行时,会从图形设备接口获取GDI图像数据,并创建图像缓冲区缓存获取的所述GDI图像数据。当然,在实际应用中,捕捉GDI图像的方法并不限于使用Mirror Driver技术,还可以用本领域内的其它GDI图像获取技术,例如用HookAPI技术拦截图形设备接口递交显示的GDI图像等。
步骤140,将所述截图区域对应的图像进行保存。
具体实施时,优选的方法还可以每次选择截图区域之后对每次截取的图片进行编辑或涂鸦操作。在对截图进行编辑时,与一般图像编辑软件所具有的功能相似,例如铅笔、橡皮擦、直线、直线箭头、矩形、圆形、文本框、颜色选择和高亮等。在编辑时会出现一条编辑栏,该编辑栏上显示与这些功能才相应的按钮。
基于上述内容,本发明实施例还提供了相应的系统实施例。
参照图6是本发明实施例所述一种匹配截图系统的结构图,可以包括:
候选区域划定模块610,适于记录光标轨迹所划定的候选区域;
窗口存在判断模块620,适于从所述候选区域的区域边沿出发,查找是否存在窗口边沿均在所述区域边沿内的UI窗口;所述窗口边沿为UI窗口的边沿;
截图区域确认模块630,适于如果所述窗口存在判断模块查找到存在窗口边沿均在区域边沿内的UI窗口,则查找所述区域边沿内最外层的UI窗口,自动匹配所述UI窗口对应的区域作为截图区域;
图形保存模块640,适于将所述截图区域对应的图像进行保存。
优选的,所述截图区域确认模块进一步包括:
区域调整模块,适于接收对所述候选区域的范围进行缩放调整的指令,当所述候选区域的范围缩小时,自动匹配当前UI窗口的子UI窗口,并将重新匹配后的UI窗口对应的区域作为截图区域。
优选的,所述窗口存在判断模块包括:
第一下层窗口获取模块,适于调用子窗口获取API函数获取当前UI窗口的下一层子UI窗口;
第一判断模块,适于判断所述下一层子UI窗口是否在用户范围缩放指令对应的范围之内;
第一截图区域确认模块,适于如果所述下一层子UI窗口在用户范围缩放指令对应的范围之内,则将所述下一层子UI窗口对应的区域作为截图区域。
优选的,所述窗口存在判断模块包括:
区域边沿坐标范围记录模块,适于记录所述区域边沿的坐标点;
初始窗口选择模块,适于在所述区域边沿的坐标点围成的区域内,选择一坐标点,并根据所述坐标点确认包括当前坐标点的UI窗口;
第二判断模块,适于获取当前UI窗口的窗口边沿的各坐标点,并遍历所述窗口边沿的各坐标点,判断所述窗口边沿的各坐标点是否在区域边沿的坐标点所围成的范围之内;
第二下层窗口获取模块,适于当存在一个窗口边沿的坐标点在区域边沿的坐标点所围成的范围之外,则获取当前UI窗口的下一层子UI窗口,转入第二判断模块;否则,转入第一UI窗口判断模块;
第一UI窗口判断模块,当所述窗口边沿的各坐标点均在区域边沿的坐标点所围成的范围之内,则判断所述区域边沿之内存在UI窗口。
优选的,所述截图区域确认模块包括:
第一上层窗口获取模块,适于当所述窗口边沿的各坐标点均在区域边沿的坐标点所围成的范围之内,则获取所述UI窗口的上一层父UI窗口,转入第三判断模块;
第三判断模块,用于获取当前UI窗口的窗口边沿的各坐标点,并遍历所述窗口边沿的各坐标点,判断所述窗口边沿的各坐标点是否在区域边沿的坐标点所围成的范围之内;
第三截图区域确认模块,适于当上一层父UI窗口存在一个窗口边沿的坐标点在区域边沿的坐标点所围成的范围之外,那么确认所述上一层父UI窗口的UI窗口为区域边沿内最外层的UI窗口;
第四判断模块,适于当上一层父UI窗口的窗口边沿的各坐标点均在区域边沿的坐标点所围成的范围之内,则转入第一上层窗口获取模块。
优选的,所述截图区域确认模块包括:
第四截图区域确认模块,适于将包括所述UI窗口的窗口边沿外,至少一圈坐标所围成的区域作为截图区域。
优选的,所述候选区域划定模块包括:
第一候选区域划定模块,适于将光标点击的至少三个坐标点连接形成的范围确定为候选区域;
或将光标滑动轨迹的起点和终点作为对角线坐标构成的矩形区域确定为候选区域;
或将光标滑动轨迹围成的任意图形区域确定为候选区域。
基于上述匹配屏幕截图系统,本发明实施例还提供了一种即时通讯客户端,该即时通讯客户端可包括上述的匹配屏幕截图系统,从而支持准确的截图屏幕图像的需求。所述匹配屏幕截图系统的具体结构可参照图6所示,在此不再详述。
所述即时通讯客户端可以是PC机、笔记本电脑、平板电脑、手写板等桌面操作系统终端,也可以是掌上电脑、手机、PAD、PDA、小屏手机或者横屏手机等智能移动终端,还可以是具有多任务系统的各类终端。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于系统实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的系统。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令系统的制造品,该指令系统实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本申请的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。
以上对本发明所提供的一种匹配截图方法和系统,进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

Claims (14)

1.一种匹配截图方法,其特征在于,包括:
记录光标轨迹所划定的候选区域;
从所述候选区域的区域边沿出发,查找是否存在窗口边沿均在所述区域边沿内的UI窗口;所述窗口边沿为UI窗口的边沿;
如果存在,则查找所述区域边沿内最外层的UI窗口,自动匹配所述UI窗口对应的区域作为截图区域;
将所述截图区域对应的图像进行保存。
2.根据权利要求1所述的方法,其特征在于,所述查找所述区域边沿内最外层的UI窗口,自动匹配所述UI窗口对应的区域作为截图区域进一步包括:
接收对所述候选区域的范围进行缩放调整的指令,当所述候选区域的范围缩小时,自动匹配当前UI窗口的子UI窗口,并将重新匹配后的UI窗口对应的区域作为截图区域。
3.根据权利要求1或2所述的方法,其特征在于,自动匹配当前UI窗口的子UI窗口,并将重新匹配后的UI窗口对应的区域作为截图区域包括:
调用子窗口获取API函数获取当前UI窗口的下一层UI窗口;
判断所述下一层UI窗口是否在用户范围缩放指令对应的范围之内;
如果在,则将所述下一层UI窗口对应的区域作为截图区域。
4.根据权利要求1-3之中任一项权利要求所述的方法,其特征在于,所述从所述候选区域的区域边沿出发,自动向内匹配查找是否存在窗口边沿均在所述区域边沿内的UI窗口包括:
步骤A1,记录所述区域边沿的坐标点;
步骤A2,在所述区域边沿的坐标点围成的区域内,选择一坐标点,并根据所述坐标点确认包括当前坐标点的UI窗口;
步骤A3,获取当前UI窗口的窗口边沿的各坐标点,并遍历所述窗口边沿的各坐标点,判断所述窗口边沿的各坐标点是否在区域边沿的坐标点所围成的范围之内;
步骤A4,当存在一个窗口边沿的坐标点在区域边沿的坐标点所围成的范围之外,则获取当前UI窗口的下一层子UI窗口,转入步骤A3;否则,转入步骤A5;
步骤A5,当所述窗口边沿的各坐标点均在区域边沿的坐标点所围成的范围之内,则判断所述区域边沿之内存在UI窗口。
5.根据权利要求1至4之中任一项所述的方法,其特征在于,所述如果存在,则查找所述区域边沿内最外层的UI窗口包括:
步骤A6,当所述窗口边沿的各坐标点均在区域边沿的坐标点所围成的范围之内,则获取所述UI窗口的上一层父UI窗口,转入步骤A7;
步骤A7,获取当前UI窗口的窗口边沿的各坐标点,并遍历所述窗口边沿的各坐标点,判断所述窗口边沿的各坐标点是否在区域边沿的坐标点所围成的范围之内;
步骤A8,当上一层父UI窗口存在一个窗口边沿的坐标点在区域边沿的坐标点所围成的范围之外,那么确认所述上一层父UI窗口的UI窗口为区域边沿内最外层的UI窗口;
步骤A9,当上一层父UI窗口的窗口边沿的各坐标点均在区域边沿的坐标点所围成的范围之内,则转入步骤A6。
6.根据权利要求1所述的方法,其特征在于,所述自动匹配所述UI窗口对应的区域作为截图区域包括:
将包括所述UI窗口的窗口边沿外,至少一圈坐标所围成的区域作为截图区域。
7.根据权利要求1所述的方法,其特征在于,所述记录光标轨迹所划定的候选区域包括:
将光标点击的至少三个坐标点连接形成的范围确定为候选区域;
或将光标滑动轨迹的起点和终点作为对角线坐标构成的矩形区域确定为候选区域;
或将光标滑动轨迹围成的任意图形区域确定为候选区域。
8.一种匹配截图系统,其特征在于,包括:
候选区域划定模块,适于记录光标轨迹所划定的候选区域;
窗口存在判断模块,适于从所述候选区域的区域边沿出发,查找是否存在窗口边沿均在所述区域边沿内的UI窗口;所述窗口边沿为UI窗口的边沿;
截图区域确认模块,适于如果所述窗口存在判断模块查找到存在窗口边沿均在区域边沿内的UI窗口,则查找所述区域边沿内最外层的UI窗口,自动匹配所述UI窗口对应的区域作为截图区域;
图形保存模块,适于将所述截图区域对应的图像进行保存。
9.根据权利要求8所述的系统,其特征在于,所述截图区域确认模块进一步包括:
区域调整模块,适于接收对所述候选区域的范围进行缩放调整的指令,当所述候选区域的范围缩小时,自动匹配当前UI窗口的子UI窗口,并将重新匹配后的UI窗口对应的区域作为截图区域。
10.根据权利要求8或9所述的系统,其特征在于,所述窗口存在判断模块包括:
第一下层窗口获取模块,适于调用子窗口获取API函数获取当前UI窗口的下一层子UI窗口;
第一判断模块,适于判断所述下一层子UI窗口是否在用户范围缩放指令对应的范围之内;
第一截图区域确认模块,适于如果所述下一层子UI窗口在用户范围缩放指令对应的范围之内,则将所述下一层子UI窗口对应的区域作为截图区域。
11.根据权利要求8-10之中任一项权利要求所述的系统,其特征在于,所述窗口存在判断模块包括:
区域边沿坐标范围记录模块,适于记录所述区域边沿的坐标点;
初始窗口选择模块,适于在所述区域边沿的坐标点围成的区域内,选择一坐标点,并根据所述坐标点确认包括当前坐标点的UI窗口;
第二判断模块,适于获取当前UI窗口的窗口边沿的各坐标点,并遍历所述窗口边沿的各坐标点,判断所述窗口边沿的各坐标点是否在区域边沿的坐标点所围成的范围之内;
第二下层窗口获取模块,适于当存在一个窗口边沿的坐标点在区域边沿的坐标点所围成的范围之外,则获取当前UI窗口的下一层子UI窗口,转入第二判断模块;否则,转入第一UI窗口判断模块;
第一UI窗口判断模块,当所述窗口边沿的各坐标点均在区域边沿的坐标点所围成的范围之内,则判断所述区域边沿之内存在UI窗口。
12.根据权利要求8-11之中任一项所述的系统,其特征在于,所述截图区域确认模块包括:
第一上层窗口获取模块,适于当所述窗口边沿的各坐标点均在区域边沿的坐标点所围成的范围之内,则获取所述UI窗口的上一层父UI窗口,转入第三判断模块;
第三判断模块,用于获取当前UI窗口的窗口边沿的各坐标点,并遍历所述窗口边沿的各坐标点,判断所述窗口边沿的各坐标点是否在区域边沿的坐标点所围成的范围之内;
第三截图区域确认模块,适于当上一层父UI窗口存在一个窗口边沿的坐标点在区域边沿的坐标点所围成的范围之外,那么确认所述上一层父UI窗口的UI窗口为区域边沿内最外层的UI窗口;
第四判断模块,适于当上一层父UI窗口的窗口边沿的各坐标点均在区域边沿的坐标点所围成的范围之内,则转入第一上层窗口获取模块。
13.根据权利要求8所述的系统,其特征在于,所述截图区域确认模块包括:
第四截图区域确认模块,适于将包括所述UI窗口的窗口边沿外,至少一圈坐标所围成的区域作为截图区域。
14.根据权利要求8所述的系统,其特征在于,所述候选区域划定模块包括:
第一候选区域划定模块,适于将光标点击的至少三个坐标点连接形成的范围确定为候选区域;或将光标滑动轨迹的起点和终点作为对角线坐标构成的矩形区域确定为候选区域;或将光标滑动轨迹围成的任意图形区域确定为候选区域。
CN201210222144.2A 2012-06-28 2012-06-28 一种匹配截图方法和系统 Active - Reinstated CN102830963B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201210222144.2A CN102830963B (zh) 2012-06-28 2012-06-28 一种匹配截图方法和系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210222144.2A CN102830963B (zh) 2012-06-28 2012-06-28 一种匹配截图方法和系统

Publications (2)

Publication Number Publication Date
CN102830963A true CN102830963A (zh) 2012-12-19
CN102830963B CN102830963B (zh) 2016-03-30

Family

ID=47334113

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210222144.2A Active - Reinstated CN102830963B (zh) 2012-06-28 2012-06-28 一种匹配截图方法和系统

Country Status (1)

Country Link
CN (1) CN102830963B (zh)

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103092524A (zh) * 2013-01-31 2013-05-08 广东欧珀移动通信有限公司 一种通过触摸屏实现截图的方法及移动终端
CN103365988A (zh) * 2013-07-05 2013-10-23 百度在线网络技术(北京)有限公司 对移动终端的图片文字朗读的方法、装置和移动终端
CN103500066A (zh) * 2013-09-30 2014-01-08 北京奇虎科技有限公司 一种适用于触屏设备的截图装置和方法
CN104281382A (zh) * 2013-07-09 2015-01-14 三星电子株式会社 用于在便携式终端中处理信息的设备和方法
CN104391681A (zh) * 2014-03-21 2015-03-04 贵阳朗玛信息技术股份有限公司 基于移动终端的图片擦除实现方法及装置
CN105045604A (zh) * 2015-08-25 2015-11-11 广州视睿电子科技有限公司 绘制图形的方法和系统
CN105700790A (zh) * 2016-01-11 2016-06-22 广东欧珀移动通信有限公司 一种截图方法及终端设备
CN107436714A (zh) * 2017-09-20 2017-12-05 任文 一种获取手机屏幕截图的方法
CN109542546A (zh) * 2018-10-08 2019-03-29 广州市保伦电子有限公司 一种应用进程窗口及界面的投屏方法及装置
US11151309B1 (en) 2020-07-21 2021-10-19 International Business Machines Corporation Screenshot-based memos
WO2021254510A1 (zh) * 2020-06-20 2021-12-23 华为技术有限公司 一种确定截图区域的方法及相关装置
CN113900750A (zh) * 2021-09-26 2022-01-07 珠海豹好玩科技有限公司 确定窗口界面边界的方法、装置、存储介质及电子设备
CN114546229A (zh) * 2022-01-14 2022-05-27 阿里巴巴(中国)有限公司 信息处理方法、截屏方法及电子设备
CN116700554A (zh) * 2022-10-24 2023-09-05 荣耀终端有限公司 信息的显示方法、电子设备及可读存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102263706A (zh) * 2010-05-26 2011-11-30 腾讯科技(深圳)有限公司 一种截取图像的方法及装置
CN102520865A (zh) * 2011-12-19 2012-06-27 深圳桑菲消费通信有限公司 一种手机自适应图片剪裁的实现方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102263706A (zh) * 2010-05-26 2011-11-30 腾讯科技(深圳)有限公司 一种截取图像的方法及装置
CN102520865A (zh) * 2011-12-19 2012-06-27 深圳桑菲消费通信有限公司 一种手机自适应图片剪裁的实现方法

Cited By (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103092524B (zh) * 2013-01-31 2015-09-30 广东欧珀移动通信有限公司 一种通过触摸屏实现截图的方法及移动终端
CN103092524A (zh) * 2013-01-31 2013-05-08 广东欧珀移动通信有限公司 一种通过触摸屏实现截图的方法及移动终端
CN103365988A (zh) * 2013-07-05 2013-10-23 百度在线网络技术(北京)有限公司 对移动终端的图片文字朗读的方法、装置和移动终端
CN104281382A (zh) * 2013-07-09 2015-01-14 三星电子株式会社 用于在便携式终端中处理信息的设备和方法
CN103500066A (zh) * 2013-09-30 2014-01-08 北京奇虎科技有限公司 一种适用于触屏设备的截图装置和方法
CN103500066B (zh) * 2013-09-30 2019-12-24 北京奇虎科技有限公司 一种适用于触屏设备的截图装置和方法
CN104391681A (zh) * 2014-03-21 2015-03-04 贵阳朗玛信息技术股份有限公司 基于移动终端的图片擦除实现方法及装置
CN104391681B (zh) * 2014-03-21 2017-11-17 贵阳朗玛信息技术股份有限公司 基于移动终端的图片擦除实现方法及装置
CN105045604A (zh) * 2015-08-25 2015-11-11 广州视睿电子科技有限公司 绘制图形的方法和系统
CN105700790A (zh) * 2016-01-11 2016-06-22 广东欧珀移动通信有限公司 一种截图方法及终端设备
CN107436714B (zh) * 2017-09-20 2020-05-22 任文 一种获取手机屏幕截图的方法
CN107436714A (zh) * 2017-09-20 2017-12-05 任文 一种获取手机屏幕截图的方法
CN109542546A (zh) * 2018-10-08 2019-03-29 广州市保伦电子有限公司 一种应用进程窗口及界面的投屏方法及装置
WO2021254510A1 (zh) * 2020-06-20 2021-12-23 华为技术有限公司 一种确定截图区域的方法及相关装置
US11151309B1 (en) 2020-07-21 2021-10-19 International Business Machines Corporation Screenshot-based memos
CN113900750A (zh) * 2021-09-26 2022-01-07 珠海豹好玩科技有限公司 确定窗口界面边界的方法、装置、存储介质及电子设备
CN113900750B (zh) * 2021-09-26 2024-02-23 珠海豹好玩科技有限公司 确定窗口界面边界的方法、装置、存储介质及电子设备
CN114546229A (zh) * 2022-01-14 2022-05-27 阿里巴巴(中国)有限公司 信息处理方法、截屏方法及电子设备
CN114546229B (zh) * 2022-01-14 2023-09-22 阿里巴巴(中国)有限公司 信息处理方法、截屏方法及电子设备
CN116700554A (zh) * 2022-10-24 2023-09-05 荣耀终端有限公司 信息的显示方法、电子设备及可读存储介质
CN116700554B (zh) * 2022-10-24 2024-05-24 荣耀终端有限公司 信息的显示方法、电子设备及可读存储介质

Also Published As

Publication number Publication date
CN102830963B (zh) 2016-03-30

Similar Documents

Publication Publication Date Title
CN102830963A (zh) 一种匹配截图方法和系统
US11592980B2 (en) Techniques for image-based search using touch controls
US9424668B1 (en) Session-based character recognition for document reconstruction
US11042294B2 (en) Display device and method of displaying screen on said display device
US8619049B2 (en) Monitoring interactions between two or more objects within an environment
US10649647B2 (en) Device and method of providing handwritten content in the same
DE112013002803B4 (de) Verfahren, System und Einrichtung zum Liefern einer dreidimensionalen Übergangsanimation für eine Änderung einer Kartenansicht
US20140253592A1 (en) Method for providing augmented reality, machine-readable storage medium, and portable terminal
US20150154442A1 (en) Handwriting drawing apparatus and method
US20160203194A1 (en) User terminal for displaying image and image display method thereof
CN108475221B (zh) 用于提供多任务处理视图的方法和装置
US20130132878A1 (en) Touch enabled device drop zone
CN105204745A (zh) 用于移动终端的截屏方法和装置
KR20160055177A (ko) 깊이 센서들을 사용하는 구조적 모델링
US10565299B2 (en) Electronic apparatus and display control method
US10403054B2 (en) Deconstructing and recombining three-dimensional graphical objects
US20140380191A1 (en) Method and apparatus for design review collaboration across multiple platforms
US11205286B2 (en) Techniques for optimizing creation of digital diagrams
CN108492349B (zh) 书写笔画的处理方法、装置、设备和存储介质
US20160139802A1 (en) Electronic device and method for processing handwritten document data
US20180341375A1 (en) Display control program, display control method, and display control apparatus
CN104777981A (zh) 信息快速分享方法及装置
CN101655839B (zh) 窗口选择式即时翻译系统及其方法
US11269418B2 (en) Proximity selector
US20170060407A1 (en) Electronic apparatus and method

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20160330

Termination date: 20190628

CF01 Termination of patent right due to non-payment of annual fee
RR01 Reinstatement of patent right

Former decision: termination of patent right due to unpaid annual fee

Former decision publication date: 20200623

RR01 Reinstatement of patent right
TR01 Transfer of patent right

Effective date of registration: 20220819

Address after: No. 9-3-401, No. 39, Gaoxin 6th Road, Binhai Science and Technology Park, High-tech Zone, Binhai New District, Tianjin 300000

Patentee after: 3600 Technology Group Co.,Ltd.

Address before: 100088 room 112, block D, 28 new street, new street, Xicheng District, Beijing (Desheng Park)

Patentee before: BEIJING QIHOO TECHNOLOGY Co.,Ltd.

Patentee before: Qizhi software (Beijing) Co.,Ltd.

TR01 Transfer of patent right