CN105988688A - 一种截图的方法及装置 - Google Patents

一种截图的方法及装置 Download PDF

Info

Publication number
CN105988688A
CN105988688A CN201610042112.2A CN201610042112A CN105988688A CN 105988688 A CN105988688 A CN 105988688A CN 201610042112 A CN201610042112 A CN 201610042112A CN 105988688 A CN105988688 A CN 105988688A
Authority
CN
China
Prior art keywords
sectional drawing
screen
real time
terminal
time screen
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.)
Pending
Application number
CN201610042112.2A
Other languages
English (en)
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 CN201610042112.2A priority Critical patent/CN105988688A/zh
Publication of CN105988688A publication Critical patent/CN105988688A/zh
Priority to PCT/CN2016/108686 priority patent/WO2017124842A1/zh
Priority to US16/001,446 priority patent/US10949158B2/en
Pending legal-status Critical Current

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/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
    • 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/14Digital output to display device ; Cooperation and interconnection of the display device with other functional units
    • G06F3/1454Digital output to display device ; Cooperation and interconnection of the display device with other functional units involving copying of the display data of a local workstation or window to a remote workstation or window so that an actual copy of the data is displayed simultaneously on two or more displays, e.g. teledisplay
    • 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/14Digital output to display device ; Cooperation and interconnection of the display device with other functional units
    • G06F3/1454Digital output to display device ; Cooperation and interconnection of the display device with other functional units involving copying of the display data of a local workstation or window to a remote workstation or window so that an actual copy of the data is displayed simultaneously on two or more displays, e.g. teledisplay
    • G06F3/1462Digital output to display device ; Cooperation and interconnection of the display device with other functional units involving copying of the display data of a local workstation or window to a remote workstation or window so that an actual copy of the data is displayed simultaneously on two or more displays, e.g. teledisplay with means for detecting differences between the image stored in the host and the images displayed on the remote displays
    • 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
    • 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
    • G06F9/452Remote windowing, e.g. X-Window System, desktop virtualisation
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/36Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of a graphic pattern, e.g. using an all-points-addressable [APA] memory
    • G09G5/39Control of the bit-mapped memory
    • G09G5/395Arrangements specially adapted for transferring the contents of the bit-mapped memory to the screen
    • 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/14Digital output to display device ; Cooperation and interconnection of the display device with other functional units
    • G06F3/1415Digital output to display device ; Cooperation and interconnection of the display device with other functional units with means for detecting differences between the image stored in the host and the images displayed on the displays
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras

Landscapes

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

Abstract

本发明实施例公开了一种截图的方法及装置,本发明实施例方法包括:接收远程终端发送的远程屏幕截图指令,所述远程屏幕截图指令为在一段时间内持续进行实时屏幕截图的指令;执行所述远程屏幕截图指令对应的截图逻辑进行实时屏幕截图,所述截图逻辑为预先配置在所述终端的操作系统内,且与所述操作系统的版本对应的逻辑;向所述远程终端发送所述实时屏幕截图。本发明实施例提高了截图处理速度和效率。

Description

一种截图的方法及装置
技术领域
本发明涉及截图技术领域,特别涉及一种截图的方法及装置。
背景技术
截图功能在软件中使用非常广泛,在使用移动终端时经常会使用截图功能,通过截屏功能可以将当前的屏幕画面截取下来保存,也可以将截取的图片内容分享给他人。
目前,移动终端内一种主要的通过接收远程终端指令进行截图方式是通过调用终端中screen cap命令实现截图,screen cap命令是安卓系统中提供的截图工具,截图速度较慢,对于屏幕实时显示而传输视频流的场景或者远程调试这样的场景无法满足。
发明内容
本发明实施例提供了一种截图的方法及装置,提高了截图处理速度和效率。
本发明实施例中第一方面提供了一种截图的方法,应用于终端,包括:
接收远程终端发送的远程屏幕截图指令,所述远程屏幕截图指令为在一段时间内持续进行实时屏幕截图的指令;
执行所述远程屏幕截图指令对应的截图逻辑进行实时屏幕截图,所述截图逻辑为预先配置在所述终端的操作系统内,且与所述操作系统的版本对应的逻辑;
向所述远程终端发送所述实时屏幕截图。
本发明实施例中第二方面提供一种截图装置,应用于终端,包括:
接收单元,用于接收远程终端发送的远程屏幕截图指令,所述远程屏幕截图指令为在一段时间内持续进行实时屏幕截图的指令;
截图单元,用于执行所述远程屏幕截图指令对应的截图逻辑进行实时屏幕截图,所述截图逻辑为预先配置在所述终端的操作系统内,且与所述操作系统的版本对应的逻辑;
发送单元,用于向所述远程终端发送所述实时屏幕截图。
从以上技术方案可以看出,本发明实施例具有以下优点:
本发明实施例中,通过接收的远程终端发送的远程屏幕截图指令,执行所述远程屏幕截图指令对应的截图逻辑进行实时屏幕截图,向所述远程终端发送所述实时屏幕截图,由于截图逻辑为预先配置在所述终端的操作系统内,且与所述操作系统的版本对应的逻辑,提高了截图处理速度和效率。
附图说明
图1是本发明实施例中截图的方法的一个实施例示意图;
图2是本发明实施例中实现截图的方法一个场景示意图;
图3是本发明实施例中实现截图的方法另一个场景示意图;
图4是本发明实施例中实现截图的方法一个架构示意图;
图5是本发明实施例中执行截图逻辑进行实时截图的一个具体场景实施例示意图;
图6是本发明实施例中执行截图逻辑进行实时截图的另一个具体场景实施例示意图;
图7是本发明实施例中截图装置的一个实施例示意图;
图8是本发明实施例中截图装置所在终端的一个实施例示意图。
具体实施方式
本发明实施例提供了一种截图的方法及装置,提高了截图处理速度和效率。
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
下面首先介绍本发明实施例中截图的方法的实施例。
本发明实施例中截图的方法的执行主体为截图装置,该截图装置具体可以集成在客户端中,该客户端可以装载在终端中,该终端具体可以为智能手机、平板电脑等等。
本申请中具有下述本发明实施例所描述的具有截图功能的手机可以是安卓系统的云手机,通过针对不同的安卓操作系统设置不同的截图流程,实现快速截图,从而实现与其他远程终端在线视频、远程测试等功能。安卓操作系统通常有Android 4.2以上的版本(包括Android 4.2版本)和Android 4.2以下的版本,在本发明实施例中,Android 4.2以上的版本称为第一版本,Android 4.2以下的版本称为第二版本。
请参阅图1,本发明实施例中截图的方法一个实施例包括:
101、接收远程终端发送的远程屏幕截图指令,所述远程屏幕截图指令为在一段时间内持续进行实时屏幕截图的指令;
本发明实施例中,一种在线视频使用场景如图2所示:终端通过服务器(例如云服务器等)和远程终端交互数据,终端内的截图装置通过服务器接收远程终端发送的远程屏幕截图指令,所述远程屏幕截图指令为在一段时间内持续进行实时屏幕截图的指令。
另一种远程测试使用场景如图3所示:终端与一个接入终端连接(例如通过USB接口连接),该接入终端可以是个人电脑或者平板等具有通用接口(例如USB接口,Micro USB接口或者如Type-C接口等USB3.1接口)的终端,所述接入终端通过服务器(例如云服务器等)和远程终端交互数据,进而间接实现终端与远程终端的数据交互,此时,所述远程截图指令可以是所述远程终端通过服务器发送到所述接入终端,再通过所述接入终端发送的,例如如下具体场景:用户通过连接服务器的一个远程终端(如电脑)的Web界面远程操作云端另一侧的本终端(即本实施例中的截图装置所在的终端,其如手机、平板电脑可以安装APP应用的终端等),本终端用于供远程终端远程进行软件测试,例如,手机应用(Application,APP)测试等,本终端可以通过USB连接到接入终端(如个人电脑等)上,并通过该接入终端与服务器建立连接,远程终端在web界面操作,通过服务器向接入终端发送远程截图指令,再通过接入终端发送到本终端。
图3所示的场景中一种更具体的场景即云真机技术,具体即:所述终端上安装调试桥(Android Debug Bridge,ADB)客户端程序,所述接入终端上安装有ADB服务端程序,接入终端和终端通过USB接口连接,接入终端通过云服务器与远程终端连接,此时,所述远程屏幕截图指令可以是:所述接入终端通过云服务器接收所述远程终端发送的截图指令,向所述终端发送的ADB shell指令,可以通过ADB shell指令执行所述截图逻辑进行实时屏幕截图,发送给远程终端,云真机场景在远程终端实时显示了终端上的软件测试情况,例如,APP应用测试等。
ADB shell指令供安装ADB服务端程序的接入终端(如桌面电脑)直接操作管理android终端(如手机)的指令。
一般情况下,Android系统里面按照权限分类,里面的用户组主要有root权限、system权限、shell权限等,这些用户组具备的权限要大于普通的APP应用,通过ADB shell命令来执行截图逻辑(或程序),即可获得shell用户组的权限,这个权限可以具有获取显示屏、输入、日志、scard读写、蓝牙、网络等的权限,此时,该截图逻辑(或程序)即可执行获取显示屏等操作,达到一般APP应用无权限执行的操作,普通应用也可通过调用该截图逻辑实现获取屏幕等一般应用无法直接执行的操作。
102、执行所述远程屏幕截图指令对应的截图逻辑进行实时屏幕截图;
其中,所述截图逻辑为预先配置在所述终端操作系统内,且与所述操作系统的版本对应的逻辑,如图4所示,图2场景下的远程终端内或者图3场景下的接入终端内,动态库中可以配置好多个不同终端操作系统对应的截图逻辑,在确定终端的操作系统版本后,向终端发送与所述终端操作系统的版本对应的截图逻辑,即实现在终端操作系统内配置截图逻辑。不同的操作系统对应不同的截图逻辑,但它们对应的都能实现终端实时屏幕的截图,即它们可以设计定义成面向所有操作系统版本的统一抽象接口,提供给不同的图片处理应用处理实现。
本发明实施例中,在图2所示的场景下,所述截图逻辑可以是终端在实时屏幕截图之前,所述远程终端获取所述终端的操作系统版本后与所述操作系统对应的发送的,即在实时屏幕截图之前,远程终端获取所述终端的操作系统版本,在预置的截图逻辑中选择与所述操作系统版本对应的截图逻辑,发送给所述终端进行接收。
本发明实施例中,在图3所示的场景下,当所述远程屏幕截图指令是所述接入终端通过云服务器接收所述远程终端发送的截图指令,向所述终端发送的ADB shell指令时,所述截图逻辑可以是所述接入终端获取所述终端的操作系统版本后,在预置的截图逻辑中选择与所述操作系统版本对应的截图逻辑发送的,具体的,所述ADB shell指令可以是:adb shell+"截图逻辑名",终端接收该ADB shell指令就可以在终端上执行所述截图逻辑,此时,所述执行所述远程屏幕截图指令对应的截图逻辑,该截图逻辑即具有shell权限,可以获取终端显示屏,进行实时屏幕截图,
103、向所述远程终端发送所述实时屏幕截图。
本实施例中,所述远程屏幕截图指令中可以包括除所述远程终端外的至少一个终端的通信地址,在向所述远程终端发送所述实时屏幕截图的同时,可以同时向所述至少一个终端发送所述实时屏幕截图,实现多个终端对所述终端屏幕的同步显示。
本发明实施例中,通过接收的远程终端发送的远程屏幕截图指令,执行所述远程屏幕截图指令对应的截图逻辑进行实时屏幕截图,向所述远程终端发送所述实时屏幕截图,由于截图逻辑为预先配置在所述终端的操作系统内,且与所述操作系统的版本对应的逻辑,提高了截图处理速度和效率。
可选的,当所述操作系统的版本为第一版本时,所述执行所述远程屏幕截图指令对应的截图逻辑进行实时屏幕截图,包括:
创建用于显示所述终端屏幕的虚拟屏幕和截图缓存区;
通过所述虚拟屏幕对所述终端屏幕进行实时屏幕截图;
将所述实时屏幕截图保存到所述截图缓存区。
本发明实施例中,第一版本即为操作系统Android 4.2以上的版本。以图3所示的场景为例,如图5所示,所述执行所述远程屏幕截图指令对应的截图逻辑进行实时屏幕截图具体可以包括如下步骤:
501、创建用于显示所述终端屏幕的虚拟屏幕VirtualDisplay和截图缓存区;
面向管理者SurfaceFlinger是android的一个服务,其负责管理应用端的surface,将所有的surface复合,它是介于图形库和应用之间的一层,每个应用在它自己的surface完成各种图形操作后,请求SurfaceFlinger显示到屏幕,surfaceflinger就会将所有的surface叠加起来,并且反映到帧缓冲区framebuffer(如下面描述的BufferQueue)。
Android 4.2版本以上的操作系统中,支持虚拟屏幕VirtualDisplay的显示,在创建用于显示所述终端屏幕的虚拟屏幕VirtualDisplay前,需要先请求Surface Flinger服务,建立与Surface Flinger连接,才能通过请求SurfaceFlinger显示到屏幕,本实施例中,可以通过构造一个Surface-Composer-Client对象请求Surface Flinger服务,建立与Surface Flinger连接;
在创建截图缓存区BufferQueue时,可以绑定与BufferQueue关联的生产者(BufferQueueProducer))和消费者(BufferQueueConsumer),BufferQueue的生产者来自Surface(通过SurfaceFlinger管理),消费者为刚创建的虚拟屏幕Virtual Display。
502、通过Virtual Display对所述终端屏幕进行实时屏幕截图。
503、将所述实时屏幕截图保存到所述BufferQueue。
可选的,在本发明实施例中,还可以创建一个监听对象,对截图缓存区中进行监听,因此所述方法还可以包括:监听所述截图缓存区;
此时,所述向所述远程终端发送所述实时屏幕截图,包括:
当所述截图缓存区中存在所述实时屏幕截图时,向所述远程终端发送所述实时屏幕截图。
例如,可以创建Cpu-Consumer对象,对所述BufferQueue进行监听,在所述BufferQueue中包括新的屏幕截图时,向所述远程终端发送所述新的屏幕截图。
可选的,如果使用虚拟屏幕VirtualDisplay的方案进行实时截图,截图时需要考虑屏幕方向的变化,因此,所述方法还可以包括:根据所述当前实时屏幕截图确定所述终端屏幕的方向;当所述终端屏幕的方向相对上一个实时屏幕截图发生变化,则设置所述虚拟屏幕截图的宽高信息以适应所述终端屏幕的方向。即每当获取一张新的屏幕截图图片,会根据该新的图片判断当前屏幕的方向是横屏还是竖屏,如果该新的屏幕截图图片相对之前方向发生变化,则重新设置所述虚拟屏幕截图的宽高信息以适应所述终端屏幕的方向,按新的设置进行屏幕截图。
因此,在实时屏幕截图过程中还可以包括如下步骤:
504、根据所述当前实时屏幕截图确定所述终端屏幕的方向;
505、判断所述终端屏幕的方向相对上一个实时屏幕截图是否发生变化,若是,则执行步骤506;
506、设置所述虚拟屏幕截图的宽高信息以适应所述终端屏幕的方向;
此时,指示步骤502中按照新的设置进行实时截图。
可选的,当所述操作系统版本为第二版本时,所述第二版本的操作系统中包括屏幕共享内存和用于将所述终端的屏幕截图到所述屏幕共享内存的截图代理对象;
所述执行所述远程屏幕截图指令对应的截图逻辑进行实时屏幕截图,可以包括:
获取截图代理对象;
使用所述截图代理对象获取所述终端的实时屏幕截图,并将所述实时屏幕截图保存到所述屏幕共享内存;
所述向所述远程终端发送所述实时屏幕截图,可以包括:
从所述屏幕共享内存调取所述实时屏幕截图,向所述远程终端发送。
本发明实施例中,第一版本即为操作系统Android 4.2以下的操作系统版本,以图3所示的场景为例,如图6所示,所述执行所述远程屏幕截图指令对应的截图逻辑进行实时屏幕截图具体可以包括如下步骤:
601、获取SurfaceFlinger服务的截图代理对象ISurfaceComposer;
本实施例中,可以通过调用ComposerService::getComposerService()函数获取SurfaceFlinger服务的截图代理对象ISurfaceComposer。
在Android 4.2以下的操作系统版本中,每个应用程序进程在请求SurfaceFlinger服务时,首先需要获取SurfaceFlinger服务的代理对象,通过该代理对象请求SurfaceFlinger为该应用程序进程在SurfaceFlinger服务端创建一个Client对象,该对象专门接收处理当前应用程序的请求,本实施例中,由于是执行截图逻辑,因此,需要获取截图代理对象,如ISurfaceComposer。
602、通过截图代理对象ISurfaceComposer获取所述终端的实时屏幕截图;
603、将所述实时屏幕截图保存到所述屏幕共享内存IMemoryHeap。
IMemoryHeap是在SurfaceFlinger启动过程中创建的一块匿名共享内存,用于保存系统显示屏幕信息,并共享给系统中的所有进程访问。
IMemoryHeap中的屏幕截图也可以进一步保存到其他内存空间,此处不作限定。此时,可以从所述IMemoryHeap或者另外保存的其他内存空间获取所述实时屏幕截图,向所述远程终端发送。
下面介绍本发明实施例中截图装置的实施例,所述截图装置应用于终端。
请参阅图7,本发明实施例中截图装置700的一个实施例包括:
接收单元701,用于接收远程终端发送的远程屏幕截图指令,所述远程屏幕截图指令为在一段时间内持续进行实时屏幕截图的指令;
截图单元702,用于执行所述远程屏幕截图指令对应的截图逻辑进行实时屏幕截图,所述截图逻辑为预先配置在所述终端的操作系统内,且与所述操作系统的版本对应的逻辑;
发送单元703,用于向所述远程终端发送所述实时屏幕截图。
本发明实施例中,截图单元702执行所述远程屏幕截图指令对应的截图逻辑进行实时屏幕截图,发送单元703向所述远程终端发送所述实时屏幕截图,由于截图逻辑为预先配置在所述终端的操作系统内,且与所述操作系统的版本对应的逻辑,提高了截图处理速度和效率。
可选的,当所述操作系统的版本为第一版本时,所述截图单元702具体用于:
创建用于显示所述终端屏幕的虚拟屏幕和截图缓存区;
通过所述虚拟屏幕对所述终端屏幕进行实时屏幕截图;
将所述实时屏幕截图保存到所述截图缓存区。
可选的,所述装置还包括:
监听单元,用于监听所述截图缓存区;
所述发送单元703具体用于当所述截图缓存区中存在所述实时屏幕截图时,向所述远程终端发送所述实时屏幕截图。
可选的,所述装置还包括:
调整单元,用于根据所述当前实时屏幕截图确定所述终端屏幕的方向,当所述终端屏幕的方向相对上一个实时屏幕截图发生变化,则设置所述虚拟屏幕截图的宽高信息以适应所述终端屏幕的方向。
可选的,当所述操作系统版本为第二版本时,所述第二版本的操作系统中包括屏幕共享内存和用于将所述终端的屏幕截图到所述屏幕共享内存的截图代理对象;
所述截图单元702具体用于获取截图代理对象,使用所述截图代理对象获取所述终端的实时屏幕截图,并将所述实时屏幕截图保存到所述屏幕共享内存;
所述发送单元703具体用于从所述屏幕共享内存调取所述实时屏幕截图,向所述远程终端发送。
上面从单元化功能实体的角度对本发明实施例中的截图装置进行了描述,下面从硬件处理的角度对本发明实施例中截图装置所在的终端进行描述,请参阅图8,本发明实施例中的终端800包括:
输入装置801、输出装置802、处理器803和存储器804(其中处理器803的数量可以一个或多个,图8中以一个处理器803为例)。在本发明的一些实施例中,输入装置801、输出装置802、处理器803和存储器804可通过总线或其它方式连接,其中,图8中以通过总线连接为例。
本发明实施例涉及的终端可以具有比图8所示出的更多或更少的部件,可以组合两个或更多个部件,或者可以具有不同的部件配置或设置,各个部件可以在包括一个或多个信号处理和/或专用集成电路在内的硬件、软件或硬件和软件的组合实现。
其中,通过调用存储器804存储的操作指令,处理器803用于执行如下步骤:
通过所述输入装置801接收远程终端发送的远程屏幕截图指令,所述远程屏幕截图指令为在一段时间内持续进行实时屏幕截图的指令;
执行所述远程屏幕截图指令对应的截图逻辑进行实时屏幕截图,所述截图逻辑为预先配置在所述终端的操作系统内,且与所述操作系统的版本对应的逻辑;
通过所述输出装置802向所述远程终端发送所述实时屏幕截图。
可选的,当所述操作系统的版本为第一版本时,通过调用存储器804存储的操作指令,处理器803具体用于执行如下步骤:
创建用于显示所述终端屏幕的虚拟屏幕和截图缓存区;
通过所述虚拟屏幕对所述终端屏幕进行实时屏幕截图;
将所述实时屏幕截图保存到所述截图缓存区。
可选的,通过调用存储器804存储的操作指令,处理器803还用于执行如下步骤:
监听所述截图缓存区;
此时,通过调用存储器804存储的操作指令,处理器803具体用于执行如下步骤:
当所述截图缓存区中存在所述实时屏幕截图时,向所述远程终端发送所述实时屏幕截图。
可选的,通过调用存储器804存储的操作指令,处理器803还用于执行如下步骤:
根据所述当前实时屏幕截图确定所述终端屏幕的方向;
当所述终端屏幕的方向相对上一个实时屏幕截图发生变化,则设置所述虚拟屏幕截图的宽高信息以适应所述终端屏幕的方向。
可选的,当所述操作系统版本为第二版本时,所述第二版本的操作系统中包括屏幕共享内存和用于将所述终端的屏幕截图到所述屏幕共享内存的截图代理对象;通过调用存储器804存储的操作指令,处理器803具体用于执行如下步骤:
获取截图代理对象;
使用所述截图代理对象获取所述终端的实时屏幕截图,并将所述实时屏幕截图保存到所述屏幕共享内存;
此时,通过调用存储器804存储的操作指令,处理器803具体用于执行如下步骤:
从所述屏幕共享内存调取所述实时屏幕截图,向所述远程终端发送。
本发明实施例还提供一种计算机存储介质,其中,该计算机存储介质可存储有程序,该程序执行时包括上述方法实施例中记载的至少截图的方法的部分或全部步骤。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

Claims (10)

1.一种截图的方法,其特征在于,应用于终端,所述方法包括:
接收远程终端发送的远程屏幕截图指令,所述远程屏幕截图指令为在一段时间内持续进行实时屏幕截图的指令;
执行所述远程屏幕截图指令对应的截图逻辑进行实时屏幕截图,所述截图逻辑为预先配置在所述终端的操作系统内,且与所述操作系统的版本对应的逻辑;
向所述远程终端发送所述实时屏幕截图。
2.根据权利要求1所述的方法,其特征在于,当所述操作系统的版本为第一版本时,所述执行所述远程屏幕截图指令对应的截图逻辑进行实时屏幕截图,包括:
创建用于显示所述终端屏幕的虚拟屏幕和截图缓存区;
通过所述虚拟屏幕对所述终端屏幕进行实时屏幕截图;
将所述实时屏幕截图保存到所述截图缓存区。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
监听所述截图缓存区;
所述向所述远程终端发送所述实时屏幕截图,包括:
当所述截图缓存区中存在所述实时屏幕截图时,向所述远程终端发送所述实时屏幕截图。
4.根据权利要求1至3任一所述的方法,其特征在于,所述方法还包括:
根据所述当前实时屏幕截图确定所述终端屏幕的方向;
当所述终端屏幕的方向相对上一个实时屏幕截图发生变化,则设置所述虚拟屏幕截图的宽高信息以适应所述终端屏幕的方向。
5.根据权利要求1所述的方法,其特征在于,当所述操作系统版本为第二版本时,所述第二版本的操作系统中包括屏幕共享内存和用于将所述终端的屏幕截图到所述屏幕共享内存的截图代理对象;
所述执行所述远程屏幕截图指令对应的截图逻辑进行实时屏幕截图,包括:
获取截图代理对象;
使用所述截图代理对象获取所述终端的实时屏幕截图,并将所述实时屏幕截图保存到所述屏幕共享内存;
所述向所述远程终端发送所述实时屏幕截图,包括:
从所述屏幕共享内存调取所述实时屏幕截图,向所述远程终端发送。
6.一种截图装置,其特征在于,应用于终端,所述装置包括:
接收单元,用于接收远程终端发送的远程屏幕截图指令,所述远程屏幕截图指令为在一段时间内持续进行实时屏幕截图的指令;
截图单元,用于执行所述远程屏幕截图指令对应的截图逻辑进行实时屏幕截图,所述截图逻辑为预先配置在所述终端的操作系统内,且与所述操作系统的版本对应的逻辑;
发送单元,用于向所述远程终端发送所述实时屏幕截图。
7.根据权利要求6所述的装置,其特征在于,当所述操作系统的版本为第一版本时,所述截图单元具体用于:
创建用于显示所述终端屏幕的虚拟屏幕和截图缓存区;
通过所述虚拟屏幕对所述终端屏幕进行实时屏幕截图;
将所述实时屏幕截图保存到所述截图缓存区。
8.根据权利要求7所述的装置,其特征在于,所述装置还包括:
监听单元,用于监听所述截图缓存区;
所述发送单元具体用于当所述截图缓存区中存在所述实时屏幕截图时,向所述远程终端发送所述实时屏幕截图。
9.根据权利要求6至8中任一所述的装置,其特征在于,所述装置还包括:
调整单元,用于根据所述当前实时屏幕截图确定所述终端屏幕的方向,当所述终端屏幕的方向相对上一个实时屏幕截图发生变化,则设置所述虚拟屏幕截图的宽高信息以适应所述终端屏幕的方向。
10.根据权利要求6所述的装置,其特征在于,当所述操作系统版本为第二版本时,所述第二版本的操作系统中包括屏幕共享内存和用于将所述终端的屏幕截图到所述屏幕共享内存的截图代理对象;
所述截图单元具体用于获取截图代理对象,使用所述截图代理对象获取所述终端的实时屏幕截图,并将所述实时屏幕截图保存到所述屏幕共享内存;
所述发送单元具体用于从所述屏幕共享内存调取所述实时屏幕截图,向所述远程终端发送。
CN201610042112.2A 2016-01-22 2016-01-22 一种截图的方法及装置 Pending CN105988688A (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN201610042112.2A CN105988688A (zh) 2016-01-22 2016-01-22 一种截图的方法及装置
PCT/CN2016/108686 WO2017124842A1 (zh) 2016-01-22 2016-12-06 一种截图的方法及装置
US16/001,446 US10949158B2 (en) 2016-01-22 2018-06-06 Screenshot method and apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610042112.2A CN105988688A (zh) 2016-01-22 2016-01-22 一种截图的方法及装置

Publications (1)

Publication Number Publication Date
CN105988688A true CN105988688A (zh) 2016-10-05

Family

ID=57039868

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610042112.2A Pending CN105988688A (zh) 2016-01-22 2016-01-22 一种截图的方法及装置

Country Status (3)

Country Link
US (1) US10949158B2 (zh)
CN (1) CN105988688A (zh)
WO (1) WO2017124842A1 (zh)

Cited By (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017124842A1 (zh) * 2016-01-22 2017-07-27 腾讯科技(深圳)有限公司 一种截图的方法及装置
CN107239208A (zh) * 2017-05-27 2017-10-10 努比亚技术有限公司 处理屏幕截图的方法、设备及计算机可读存储介质
CN107645561A (zh) * 2017-10-12 2018-01-30 湖南红手指信息技术有限公司 一种云手机的图片预览方法
WO2018032696A1 (zh) * 2016-08-19 2018-02-22 广州视睿电子科技有限公司 桌面截屏控制方法及系统
CN108924219A (zh) * 2018-06-29 2018-11-30 深圳臻迪信息技术有限公司 远程操作终端的方法、装置及系统
CN109302637A (zh) * 2018-11-05 2019-02-01 腾讯科技(成都)有限公司 图像处理方法、图像处理装置和电子设备
CN109600282A (zh) * 2018-12-26 2019-04-09 世纪龙信息网络有限责任公司 基于云真机的测试系统及测试方法
CN109766163A (zh) * 2019-01-17 2019-05-17 网易(杭州)网络有限公司 同步显示方法及装置、存储介质和电子装置
CN111049893A (zh) * 2019-12-06 2020-04-21 广州微算互联信息技术有限公司 一种定期对虚拟设备进行截图的方法
CN111338735A (zh) * 2020-02-26 2020-06-26 深信服科技股份有限公司 一种虚拟化应用截图方法、装置、服务器及可读存储介质
CN111866143A (zh) * 2020-07-22 2020-10-30 京东数字科技控股股份有限公司 一种远程数据传输方法、装置及监控系统
CN112565311A (zh) * 2019-09-10 2021-03-26 辽宁瑞思科技有限公司 一种针对电信诈骗案件被害人的快速证据取证方法
CN112579244A (zh) * 2021-02-25 2021-03-30 全时云商务服务股份有限公司 在移动终端截取远程桌面中区域图片的方法及系统
CN113221866A (zh) * 2021-04-30 2021-08-06 东方蓝天钛金科技有限公司 一种基于图像识别的设备数据采集系统及方法
CN113821433A (zh) * 2021-08-31 2021-12-21 北京百度网讯科技有限公司 云手机应用程序的测试方法、装置、设备、介质及产品
WO2022057362A1 (zh) * 2020-09-18 2022-03-24 深圳市欢太科技有限公司 图像处理方法及装置、云真机系统、存储介质和电子设备
CN114938408A (zh) * 2022-04-30 2022-08-23 苏州浪潮智能科技有限公司 一种云手机的数据传输方法、系统、设备及介质
CN116095250A (zh) * 2022-05-30 2023-05-09 荣耀终端有限公司 用于视频裁剪的方法和装置

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110581919B (zh) * 2018-06-11 2021-10-15 阿里巴巴集团控股有限公司 信息传输与数据处理方法、设备、系统及存储介质
TWI740208B (zh) * 2019-09-17 2021-09-21 圓展科技股份有限公司 影像傳輸裝置、具有遠端畫面擷取功能的影像顯示系統及遠端畫面影像擷取方法
KR20220056500A (ko) * 2020-10-28 2022-05-06 삼성에스디에스 주식회사 원격 지원 서비스를 위한 장치 및 방법
CN115706820A (zh) * 2021-08-10 2023-02-17 北京小米移动软件有限公司 录屏方法、装置及终端
CN114900514B (zh) * 2022-04-26 2023-12-01 深圳市宝泽科技有限公司 一种远程截屏控制方法及系统

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105094777A (zh) * 2014-05-14 2015-11-25 腾讯科技(深圳)有限公司 实现应用截屏的方法及装置
CN105117337A (zh) * 2015-08-26 2015-12-02 小米科技有限责任公司 应用调试方法、客户端及调试平台

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020080171A1 (en) * 2000-12-22 2002-06-27 Laferriere Robert James Method and apparatus for coordinating screen views in a collaborative computing environment
US8707289B2 (en) * 2011-07-20 2014-04-22 Google Inc. Multiple application versions
US9215266B2 (en) * 2012-01-26 2015-12-15 Zoom International S.R.O. System and method for zero-footprint screen capture
CN103000015B (zh) * 2012-12-13 2016-12-21 深圳Tcl新技术有限公司 基于无线传屏的显示设备精确遥控方法和装置
CN105988688A (zh) * 2016-01-22 2016-10-05 腾讯科技(深圳)有限公司 一种截图的方法及装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105094777A (zh) * 2014-05-14 2015-11-25 腾讯科技(深圳)有限公司 实现应用截屏的方法及装置
CN105117337A (zh) * 2015-08-26 2015-12-02 小米科技有限责任公司 应用调试方法、客户端及调试平台

Non-Patent Citations (6)

* Cited by examiner, † Cited by third party
Title
CHALLEN537: "BufferQueue/consumer/producer", 《HTTPS://BLOG.CSDN.NET/CHALLEN537/ARTICLE/DETAILS/16889099》 *
CSDN博客: "关于Android5.0以上屏幕截图探索总结", 《HTTPS://BLOG.CSDN.NET/GULINXIEYING/ARTICLE/DETAILS/50164469》 *
SOFTSPIDER,新浪博客: "[转载]Android截屏浅析", 《HTTP://BLOG.SINA.COM.CN/S/BLOG_414E587F0101IURG.HTML》 *
世事难料,保持低调: "Android中的GraphicBuffer同步机制-Fence", 《HTTP://WWW.2CTO.COM/KF/201410/339590.HTML》 *
我不是咸蛋: "浅谈android截屏问题", 《浅谈ANDROID截屏问题",HTTPS://MY.OSCHINA.NET/JUMPLONG/BLOG/75556》 *
林学森: "GUI系统之SurfaceFlinger(5)BufferQueue内部原理", 《HTTPS://BLOG.CSDN.NET/XUESEN_LIN/ARTICLE/DETAILS/8954803》 *

Cited By (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10949158B2 (en) 2016-01-22 2021-03-16 Tencent Technology (Shenzhen) Company Limited Screenshot method and apparatus
WO2017124842A1 (zh) * 2016-01-22 2017-07-27 腾讯科技(深圳)有限公司 一种截图的方法及装置
WO2018032696A1 (zh) * 2016-08-19 2018-02-22 广州视睿电子科技有限公司 桌面截屏控制方法及系统
CN107239208A (zh) * 2017-05-27 2017-10-10 努比亚技术有限公司 处理屏幕截图的方法、设备及计算机可读存储介质
CN107645561A (zh) * 2017-10-12 2018-01-30 湖南红手指信息技术有限公司 一种云手机的图片预览方法
CN107645561B (zh) * 2017-10-12 2020-06-02 湖南微算互联信息技术有限公司 一种云手机的图片预览方法
CN108924219A (zh) * 2018-06-29 2018-11-30 深圳臻迪信息技术有限公司 远程操作终端的方法、装置及系统
CN108924219B (zh) * 2018-06-29 2021-04-30 深圳臻迪信息技术有限公司 远程操作终端的方法、装置及系统
CN109302637A (zh) * 2018-11-05 2019-02-01 腾讯科技(成都)有限公司 图像处理方法、图像处理装置和电子设备
CN109302637B (zh) * 2018-11-05 2023-02-17 腾讯科技(成都)有限公司 图像处理方法、图像处理装置和电子设备
CN109600282A (zh) * 2018-12-26 2019-04-09 世纪龙信息网络有限责任公司 基于云真机的测试系统及测试方法
US11340859B2 (en) 2019-01-17 2022-05-24 Netease (Hangzhou) Network Co., Ltd. Synchronous display method, storage medium and electronic device
WO2020147246A1 (zh) * 2019-01-17 2020-07-23 网易(杭州)网络有限公司 同步显示方法及装置、存储介质和电子装置
CN109766163A (zh) * 2019-01-17 2019-05-17 网易(杭州)网络有限公司 同步显示方法及装置、存储介质和电子装置
CN112565311A (zh) * 2019-09-10 2021-03-26 辽宁瑞思科技有限公司 一种针对电信诈骗案件被害人的快速证据取证方法
CN111049893A (zh) * 2019-12-06 2020-04-21 广州微算互联信息技术有限公司 一种定期对虚拟设备进行截图的方法
CN111049893B (zh) * 2019-12-06 2022-06-28 广州微算互联信息技术有限公司 一种定期对虚拟设备进行截图的方法和系统
CN111338735A (zh) * 2020-02-26 2020-06-26 深信服科技股份有限公司 一种虚拟化应用截图方法、装置、服务器及可读存储介质
CN111338735B (zh) * 2020-02-26 2024-05-31 深信服科技股份有限公司 一种虚拟化应用截图方法、装置、服务器及可读存储介质
CN111866143A (zh) * 2020-07-22 2020-10-30 京东数字科技控股股份有限公司 一种远程数据传输方法、装置及监控系统
WO2022057362A1 (zh) * 2020-09-18 2022-03-24 深圳市欢太科技有限公司 图像处理方法及装置、云真机系统、存储介质和电子设备
CN112579244B (zh) * 2021-02-25 2021-06-18 全时云商务服务股份有限公司 在移动终端截取远程桌面中区域图片的方法及系统
CN112579244A (zh) * 2021-02-25 2021-03-30 全时云商务服务股份有限公司 在移动终端截取远程桌面中区域图片的方法及系统
CN113221866A (zh) * 2021-04-30 2021-08-06 东方蓝天钛金科技有限公司 一种基于图像识别的设备数据采集系统及方法
CN113821433A (zh) * 2021-08-31 2021-12-21 北京百度网讯科技有限公司 云手机应用程序的测试方法、装置、设备、介质及产品
CN114938408A (zh) * 2022-04-30 2022-08-23 苏州浪潮智能科技有限公司 一种云手机的数据传输方法、系统、设备及介质
CN114938408B (zh) * 2022-04-30 2023-07-14 苏州浪潮智能科技有限公司 一种云手机的数据传输方法、系统、设备及介质
CN116095250A (zh) * 2022-05-30 2023-05-09 荣耀终端有限公司 用于视频裁剪的方法和装置
CN116095250B (zh) * 2022-05-30 2023-10-31 荣耀终端有限公司 用于视频裁剪的方法和装置

Also Published As

Publication number Publication date
WO2017124842A1 (zh) 2017-07-27
US20180285053A1 (en) 2018-10-04
US10949158B2 (en) 2021-03-16

Similar Documents

Publication Publication Date Title
CN105988688A (zh) 一种截图的方法及装置
WO2022160886A1 (en) Task allocation method, apparatus, storage medium, and electronic device
CN104536899B (zh) 一种基于智能集群的软件部署及其维护方法
CN106302008A (zh) 数据更新方法和装置
CN106161145A (zh) 一种服务器系统运行状态信息的监控方法和系统
CN104735030B (zh) 应用开启方法、装置和系统
CN108768730A (zh) 用于操作智能网卡的方法和装置
CN105094983A (zh) 计算机,控制设备和数据处理方法
CN104486234A (zh) 一种将业务交换机卸载到物理网卡的方法及服务器
CN106330986B (zh) 消息传输方法及装置
CN103685608A (zh) 一种自动配置安全虚拟机ip地址的方法及装置
CN110362474A (zh) 一种分布式游戏测试方法、系统、装置及存储介质
CN110442502A (zh) 一种埋点的方法、装置、设备及存储介质
CN113867600A (zh) 处理流式数据的开发方法、装置和计算机设备
CN105975367A (zh) 移动设备的测试方法和装置
CN105338545B (zh) 一台移动终端同时测试多台移动终端的方法及装置
CN110224897A (zh) 应用程序的弱网络测试方法、装置、移动设备及存储介质
CN113852426A (zh) 一种远程测试方法、装置及系统
CN115658301A (zh) 存储资源调度方法、装置、存储介质以及电子设备
Varghese et al. A survey on edge benchmarking
CN109510740A (zh) 一种自动监控网卡mtu值的方法、装置、终端及存储介质
CN107656814A (zh) 一种中间件服务实现方法和装置
CN107749814A (zh) 设备的运行状态数据更新方法、装置及终端
CN116319492A (zh) 交换机的测试方法、装置、存储介质及电子设备
CN103118248A (zh) 监控方法、监控代理、监控服务器和系统

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20161005