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

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

Info

Publication number
WO2017124842A1
WO2017124842A1 PCT/CN2016/108686 CN2016108686W WO2017124842A1 WO 2017124842 A1 WO2017124842 A1 WO 2017124842A1 CN 2016108686 W CN2016108686 W CN 2016108686W WO 2017124842 A1 WO2017124842 A1 WO 2017124842A1
Authority
WO
WIPO (PCT)
Prior art keywords
screenshot
terminal
remote
screen
version
Prior art date
Application number
PCT/CN2016/108686
Other languages
English (en)
French (fr)
Inventor
方亮
荆彦青
孙大伟
杨希锋
黄琰
杨君
Original Assignee
腾讯科技(深圳)有限公司
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 腾讯科技(深圳)有限公司 filed Critical 腾讯科技(深圳)有限公司
Publication of WO2017124842A1 publication Critical patent/WO2017124842A1/zh
Priority to US16/001,446 priority Critical patent/US10949158B2/en

Links

Images

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

Definitions

  • the present application relates to the field of screenshot technology, and in particular, to a method and apparatus for screenshots.
  • the screenshot function is very widely used in software. When using a mobile terminal, the screen capture function is often used.
  • the screen capture function can be used to capture the current screen image, or the captured image content can be shared with others.
  • a main way of taking screenshots by receiving remote terminal commands in a mobile terminal is to implement a screenshot by calling a screen cap command in the terminal.
  • the screen cap command is a screenshot tool provided in the Android system.
  • the screenshot speed is slow. For some scenes, such as real-time display of the screen to transmit video stream or remote debugging, the speed requirement cannot be met.
  • the embodiment of the invention provides a method and a device for screenshots, which improve the processing speed and efficiency of the screenshot.
  • the first aspect of the embodiment of the present invention provides a method for a screenshot, which is applied to a terminal, and includes:
  • the remote screenshot instruction is An instruction indicating that the screenshot is continued for a period of time
  • screenshot logic is logic configured in an operating system of the terminal and corresponding to a version of the operating system
  • the second aspect of the embodiment of the present invention provides a screenshot device, which is applied to a terminal, and includes:
  • a receiving unit configured to receive a remote screenshot instruction sent by the remote terminal, where the remote screenshot instruction is an instruction indicating that the screenshot is continued for a period of time;
  • a screenshot unit configured to execute screenshot logic corresponding to the remote screenshot instruction to perform a screenshot, where the screenshot logic is logic configured in an operating system of the terminal and corresponding to a version of the operating system;
  • a sending unit configured to send a screenshot to the remote terminal.
  • FIG. 1 is a schematic diagram of an embodiment of a method for a screenshot in an embodiment of the present invention
  • FIG. 2 is a schematic diagram of a scenario of a method for implementing a screenshot in an embodiment of the present invention
  • FIG. 3 is another schematic diagram of a method for implementing a screenshot in an embodiment of the present invention.
  • FIG. 4 is a schematic structural diagram of a method for implementing a screenshot in an embodiment of the present invention.
  • FIG. 5 is a schematic diagram of a specific scenario embodiment in which screenshot logic is executed to perform screenshots in an embodiment of the present invention
  • FIG. 6 is another specific scenario in which the screenshot logic is executed to perform a screenshot in the embodiment of the present invention.
  • FIG. 7 is a schematic diagram of an embodiment of a screenshot device according to an embodiment of the present invention.
  • FIG. 8 is a schematic diagram of an embodiment of a terminal where a screenshot device is located in an embodiment of the present invention.
  • the embodiment of the invention provides a method and a device for screenshots, which improve the processing speed and efficiency of the screenshot.
  • the execution body of the method of the screenshot in this embodiment is a screenshot device.
  • the screenshot device can be integrated in a client that can be loaded in the terminal.
  • the terminal may specifically be a smartphone, a tablet, or the like.
  • the mobile phone having the screenshot function described in the following embodiments in the present application may be an Android system.
  • the cloud mobile phone realizes fast screenshots by setting different screenshot processes for different Android operating systems, thereby realizing online video and remote testing with other remote terminals.
  • Android operating systems usually have Android 4.2 or higher (including Android 4.2 version) and Android 4.2 and below.
  • the version of Android 4.2 or higher is referred to as the first version
  • the version of Android 4.2 or lower is referred to as the second version.
  • an embodiment of the method of the screenshot includes:
  • S101 Receive a remote screenshot instruction sent by a remote terminal, where the remote screenshot instruction is an instruction indicating that the screenshot is continued for a period of time.
  • an online video usage scenario is as shown in FIG. 2: the terminal interacts with the remote terminal through a server (such as a cloud server, etc.), and the screenshot device in the terminal receives the remote screenshot instruction sent by the remote terminal through the server.
  • the remote screenshot instruction is an instruction that indicates that the screenshot is continued for a period of time.
  • the terminal is connected to an access terminal (for example, through a USB interface), and the access terminal may be a universal interface such as a personal computer or a tablet (such as a USB interface, a Micro USB interface).
  • the terminal of the USB 3.1 interface such as the Type-C interface
  • the access terminal interacts with the remote terminal through a server (for example, a cloud server, etc.), thereby indirectly implementing data interaction between the terminal and the remote terminal.
  • the remote screenshot instruction may be sent by the remote terminal to the access terminal through a server, and then sent by the access terminal.
  • the user remotely operates the terminal on the other side of the cloud through a web interface of a remote terminal (such as a computer) connected to the server (that is, the terminal where the screenshot device is located in this embodiment, such as a mobile phone or a tablet computer can install an APP.
  • the terminal of the application, etc. is used for remote testing of the remote terminal by a remote terminal, for example, a mobile application (Application, APP) test, etc., and the terminal can be connected to an access terminal (such as a personal computer, etc.) through a USB.
  • the remote terminal operates on the web interface, sends a remote screenshot instruction to the access terminal through the server, and then sends the remote screenshot instruction to the terminal through the access terminal.
  • a more specific scenario in the scenario shown in Figure 3 is the cloud real machine technology.
  • the terminal is installed with an Android Debug Bridge (ADB) client program
  • the access terminal is installed with an ADB server program
  • the access terminal and the terminal are connected through a USB interface, and the access terminal passes through the cloud server.
  • the access terminal receives the screenshot instruction sent by the remote terminal through the cloud server, and then sends an ADB shell command to the terminal, and the ADB shell instruction instructs the terminal to execute the screenshot logic to perform a screenshot.
  • the software test situation on the terminal is displayed in real time on the remote terminal, for example, APP application test.
  • the ADB shell command is used by an access terminal (such as a desktop computer) that installs the ADB server program to directly manipulate the commands of the android terminal (such as a mobile phone).
  • an access terminal such as a desktop computer
  • the ADB server program to directly manipulate the commands of the android terminal (such as a mobile phone).
  • the Android system is classified according to the authority.
  • the user groups in the user group mainly have root authority, system authority, shell authority, etc. These user groups have higher authority than ordinary APP applications.
  • the screenshot logic (or program) By executing the screenshot logic (or program) through the ADB shell command, you can get the permissions of the shell user group. This permission can have the ability to get display, input, log, card read and write, Bluetooth, network, and so on.
  • the screenshot logic (or program) can perform operations such as obtaining a display screen to achieve an operation that the general APP application does not have permission to perform, and the ordinary application can also obtain an operation that cannot be directly performed by a general application such as a screen by calling the screenshot logic.
  • the screenshot is a real-time screenshot.
  • the screenshot logic is logic configured in the terminal operating system and corresponding to the version of the operating system.
  • the screenshot logic corresponding to multiple different terminal operating systems may be configured in the dynamic library, after determining the operating system version of the terminal, Sending screenshot logic corresponding to the version of the terminal operating system to the terminal, that is, implementing the screenshot logic in the terminal operating system.
  • Different operating systems correspond to different screenshot logics, but they all correspond to screenshots of the terminal's real-time screen, ie they can be designed to be defined for all operating systems.
  • the unified abstract interface of the unified version is provided to different image processing application processing implementations.
  • the screenshot logic may be sent by the terminal before the screenshot, and after the remote terminal acquires the operating system version of the terminal, corresponding to the operating system, That is, before the screenshot, the remote terminal acquires the operating system version of the terminal, selects the screenshot logic corresponding to the operating system version in the preset screenshot logic, and sends the screenshot logic to the terminal for receiving.
  • the ADB shell command is sent to the terminal.
  • the screenshot logic may be that after the access terminal acquires the operating system version of the terminal, the screenshot logic selected in the preset screenshot logic is corresponding to the operating system version.
  • the ADB shell command may be: adb shell+"screenshot logical name", and the terminal may execute the screenshot logic on the terminal by receiving the ADB shell command, and at this time, execute the screenshot logic corresponding to the remote screenshot instruction.
  • the screenshot logic has shell permissions to get the terminal display and take a real-time screenshot.
  • the remote screenshot instruction may include a communication address of at least one terminal other than the remote terminal, and when the screenshot is sent to the remote terminal, the at least one terminal may be simultaneously Sending the screenshot to realize synchronous display of the terminal screen by a plurality of terminals.
  • the remote screenshot command sent by the remote terminal is received, the screenshot logic corresponding to the remote screenshot instruction is executed to perform a real-time screenshot, and a real-time screenshot is sent to the remote terminal. Since the screenshot logic is logic pre-configured in the operating system of the terminal and corresponding to the version of the operating system, the screenshot processing speed and efficiency are improved.
  • performing the screenshot logic corresponding to the remote screenshot instruction to perform a screenshot including:
  • the first version is the version of the operating system Android 4.2 or higher.
  • the performing the screenshot logic corresponding to the remote screenshot instruction to perform the screenshot may specifically include the following steps:
  • SurfaceFlinger for administrators is a service of android. It is responsible for managing the surface of the application. It is a composite of all surfaces. It is a layer between the graphics library and the application. Each application performs various graphics operations on its own surface. After requesting SurfaceFlinger to display to the screen, surfaceflinger will superimpose all the surfaces and reflect them to the framebuffer framebuffer (such as the BufferQueue described below).
  • the display of the virtual screen VirtualDisplay is supported in the operating system of Android 4.2 or higher.
  • the Surface Flinger service needs to be requested to establish a connection with the Surface Flinger in order to display the screen to the screen by requesting SurfaceFlinger.
  • the Surface Flinger service can be requested by constructing a Surface-Composer-Client object to establish a connection with the Surface Flinger.
  • a listener object may be created to monitor the screenshot buffer area, so the method may further include: listening to the screenshot buffer area.
  • the sending a screenshot to the remote terminal includes:
  • the screenshot is sent to the remote terminal.
  • a Cpu-Consumer object can be created to listen to the BufferQueue, and when the BufferQueue includes a new screenshot, the new screenshot is sent to the remote terminal.
  • the method may further include: determining a direction of the terminal screen according to the current screenshot; The direction of the terminal screen changes relative to the previous screenshot, and the width and height information of the virtual screenshot is set to adapt to the direction of the terminal screen. That is, whenever a new screenshot image is acquired, it is determined whether the current screen orientation is a horizontal screen or a vertical screen according to the new image, and if the new screenshot image changes relative to the previous direction, the virtual screen is reset. The width and height information of the screenshot is adapted to the direction of the terminal screen, and the screenshot is taken according to the new setting.
  • step 502 a screenshot is taken in accordance with the new settings.
  • the second version of the operating system includes a screen shared memory and a screenshot for the terminal to the screen share Save the screenshot proxy object.
  • the performing screenshot logic corresponding to the remote screenshot instruction to perform a screenshot may include:
  • the sending the screenshot to the remote terminal may include:
  • the screenshot is retrieved from the screen shared memory and sent to the remote terminal.
  • the first version is an operating system version of the operating system Android 4.2 or lower, and the scenario shown in FIG. 3 is taken as an example.
  • the screenshot logic corresponding to the remote screenshot instruction is executed.
  • the specific steps may include the following steps:
  • the screenshot proxy object ISurfaceComposer of the SurfaceFlinger service can be obtained by calling the ComposerService::getComposerService() function.
  • each application process needs to obtain the proxy object of the SurfaceFlinger service when requesting the SurfaceFlinger service, and request the SurfaceFlinger to create a Client object for the application process on the SurfaceFlinger server through the proxy object.
  • the object specifically receives a request to process the current application.
  • the screenshot logic since the screenshot logic is executed, it is necessary to acquire a screenshot proxy object, such as ISurfaceComposer.
  • IMemoryHeap is an anonymous shared memory created during the startup of SurfaceFlinger to save the system display screen information and share it with all process accesses in the system.
  • the screenshots in IMemoryHeap can be further saved to other memory spaces, which are not limited here.
  • the screenshot may be obtained from the IMemoryHeap or other memory space saved separately, and sent to the remote terminal.
  • the following describes an embodiment of the screenshot device in the embodiment of the present invention, and the screenshot device is applied to the terminal.
  • an embodiment of the screenshot device 700 in the embodiment of the present invention includes:
  • the receiving unit 701 is configured to receive a remote screenshot instruction sent by the remote terminal, where the remote screenshot instruction is an instruction indicating that the screenshot is continued for a period of time;
  • the screenshot unit 702 is configured to execute screenshot logic corresponding to the remote screenshot instruction to perform a screenshot, where the screenshot logic is logic configured in an operating system of the terminal and corresponding to a version of the operating system;
  • the sending unit 703 is configured to send a screenshot to the remote terminal.
  • the screenshot unit 702 executes screenshot logic corresponding to the remote screenshot instruction to perform a screenshot, and the sending unit 703 sends a screenshot to the remote terminal. Since the screenshot logic is logic pre-configured in the operating system of the terminal and corresponding to the version of the operating system, the screenshot processing speed and efficiency are improved.
  • the screenshot unit 702 is specifically configured to:
  • the device further includes:
  • a monitoring unit configured to monitor the screenshot buffer area
  • the sending unit 703 is specifically configured to send the screenshot to the remote terminal when the screenshot is present in the screenshot buffer.
  • the device further includes:
  • An adjusting unit configured to determine a direction of the terminal screen according to the current screenshot, and when the direction of the terminal screen changes relative to the previous screenshot, setting the width and height information of the virtual screenshot to adapt to the terminal screen direction.
  • the second version of the operating system includes a screen shared memory and a screenshot proxy object for screening a screenshot of the terminal to the screen shared memory;
  • the screenshot unit 702 is specifically configured to acquire a screenshot proxy object, obtain a screenshot of the terminal by using the screenshot proxy object, and save the screenshot to the screen shared memory;
  • the sending unit 703 is specifically configured to retrieve the screenshot from the screen shared memory and send the screenshot to the remote terminal.
  • Terminal 800 includes:
  • the input device 801, the output device 802, the processor 803, and the memory 804 (wherein the number of the processors 803 may be one or more, and one processor 803 is taken as an example in FIG. 8).
  • the input device 801, the output device 802, the processor 803, and the memory 804 may be connected by a bus or other means, wherein the bus connection is taken as an example in FIG.
  • the terminal according to an embodiment of the present invention may have more or less components than those shown in FIG. 8, may combine two or more components, or may have different component configurations or settings, and each component may include one Hardware, software, or a combination of hardware and software, including multiple signal processing and/or application specific integrated circuits.
  • the processor 803 is configured to perform the following steps by calling an operation instruction stored in the memory 804:
  • a remote screenshot instruction sent by a remote terminal the remote screenshot instruction being an instruction indicating that the screenshot is continued for a period of time
  • screenshot logic is logic configured in an operating system of the terminal and corresponding to a version of the operating system
  • a screenshot is sent to the remote terminal by the output device 802.
  • the processor 803 is specifically configured to perform the following steps by using an operation instruction stored in the memory 804:
  • the processor 803 is further configured to perform the following steps by calling an operation instruction stored in the memory 804:
  • the processor 803 is specifically configured to perform the following steps:
  • the screenshot is sent to the remote terminal.
  • the processor 803 is further configured to perform the following steps by calling an operation instruction stored in the memory 804:
  • the width and height information of the virtual screenshot is set to adapt to the direction of the terminal screen.
  • the second version of the operating system includes a screen shared memory and a screenshot for the terminal to the screen share
  • the stored screenshot proxy object by calling the operation instruction stored in the memory 804, the processor 803 is specifically configured to perform the following steps:
  • the processor 803 is specifically configured to perform the following steps:
  • the screenshot is retrieved from the screen shared memory and sent to the remote terminal.
  • the embodiment of the present invention further provides a computer storage medium, wherein the computer storage medium can store a program, and the program includes some or all of the steps of the method of at least the screenshot recorded in the foregoing method embodiment.
  • the disclosed system, apparatus, and method may be implemented in other manners.
  • the device embodiments described above are merely illustrative.
  • the division of the unit is only a logical function division.
  • there may be another division manner for example, multiple units or components may be combined or Can be integrated into another system, or some features can be ignored or not executed.
  • Another point, shown or discussed The coupling or direct coupling or communication connection between the two may be an indirect coupling or communication connection through some interface, device or unit, and may be in an electrical, mechanical or other form.
  • the units described as separate components may or may not be physically separated, and the components displayed as units may or may not be physical units, that is, may be located in one place, or may be distributed to multiple network units. Some or all of the units may be selected according to actual needs to achieve the purpose of the solution of the embodiment.
  • each functional unit in each embodiment of the present invention may be integrated into one processing unit, or each unit may exist physically separately, or two or more units may be integrated into one unit.
  • the above integrated unit can be implemented in the form of hardware or in the form of a software functional unit.
  • the integrated unit if implemented in the form of a software functional unit and sold or used as a standalone product, may be stored in a computer readable storage medium.
  • the technical solution of the present invention which is essential or contributes to the prior art, or all or part of the technical solution, may be embodied in the form of a software product stored in a storage medium.
  • a number of instructions are included to cause a computer device (which may be a personal computer, server, or network device, etc.) to perform all or part of the steps of the methods described in various embodiments of the present invention.
  • the foregoing storage medium includes: a U disk, a mobile hard disk, a read-only memory (ROM), a random access memory (RAM), a magnetic disk, or an optical disk, and the like. .

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

一种截图的方法及装置(700),方法包括:接收远程终端发送的远程屏幕截图指令(101),所述远程屏幕截图指令为指示在一段时间内持续进行屏幕截图的指令;执行所述远程屏幕截图指令对应的截图逻辑来进行屏幕截图(102),所述截图逻辑为配置在终端(800)的操作系统内,且与所述操作系统的版本对应的逻辑;向所述远程终端发送屏幕截图(103)。该方法提高了截图处理速度和效率。

Description

一种截图的方法及装置
本申请要求于2016年1月22日提交中国专利局、申请号为201610042112.2、发明名称为“一种截图的方法及装置”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本申请涉及截图技术领域,特别涉及一种截图的方法及装置。
背景技术
截图功能在软件中使用非常广泛。在使用移动终端时经常会使用截屏功能,通过截屏功能可以将当前的屏幕画面截取下来保存,也可以将截取的图片内容分享给他人。
目前,移动终端内一种主要的通过接收远程终端指令进行屏幕截图的方式是通过调用终端中的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,截图的方法的一个实施例包括:
S101、接收远程终端发送的远程屏幕截图指令,所述远程屏幕截图指令为指示在一段时间内持续进行屏幕截图的指令。
本发明实施例中,一种在线视频使用场景如图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应用无权限执行的操作,普通应用也可通过调用该截图逻辑实现获取屏幕等一般应用无法直接执行的操作。
S102、执行所述远程屏幕截图指令对应的截图逻辑来进行屏幕截图。
其中,所述截图为实时屏幕截图。所述截图逻辑为配置在所述终端操作系统内,且与所述操作系统的版本对应的逻辑。如图4所示,图2场景下的远程终端内或者图3场景下的接入终端内,动态库中可以配置好多个不同终端操作系统对应的截图逻辑,在确定终端的操作系统版本后,向终端发送与所述终端操作系统的版本对应的截图逻辑,即实现在终端操作系统内配置截图逻辑。不同的操作系统对应不同的截图逻辑,但它们对应的都能实现终端实时屏幕的截图,即它们可以设计定义成面向所有操作系 统版本的统一抽象接口,提供给不同的图片处理应用处理实现。
本发明实施例中,在图2所示的场景下,所述截图逻辑可以是终端在屏幕截图之前,所述远程终端获取所述终端的操作系统版本后与所述操作系统对应的发送的,即在屏幕截图之前,远程终端获取所述终端的操作系统版本,在预置的截图逻辑中选择与所述操作系统版本对应的截图逻辑,发送给所述终端进行接收。
本发明实施例中,在图3所示的场景下,当所述远程屏幕截图指令是所述接入终端通过云服务器接收所述远程终端发送的截图指令,向所述终端发送的ADB shell指令时,所述截图逻辑可以是所述接入终端获取所述终端的操作系统版本后,在预置的截图逻辑中选择与所述操作系统版本对应的截图逻辑发送的。具体的,所述ADB shell指令可以是:adb shell+"截图逻辑名",终端接收该ADB shell指令就可以在终端上执行所述截图逻辑,此时,执行所述远程屏幕截图指令对应的截图逻辑,该截图逻辑即具有shell权限,可以获取终端显示屏,进行实时屏幕截图,
S103、向所述远程终端发送屏幕截图。
本实施例中,所述远程屏幕截图指令中可以包括除所述远程终端外的至少一个终端的通信地址,在向所述远程终端发送所述屏幕截图的同时,可以同时向所述至少一个终端发送所述屏幕截图,实现多个终端对所述终端屏幕的同步显示。
本发明实施例中,接收远程终端发送的远程屏幕截图指令,执行所述远程屏幕截图指令对应的截图逻辑进行实时屏幕截图,并向所述远程终端发送实时屏幕截图。由于截图逻辑为预先配置在所述终端的操作系统内,且与所述操作系统的版本对应的逻辑,提高了截图处理速度和效率。
可选的,当所述操作系统的版本为第一版本时,所述执行所述远程屏幕截图指令对应的截图逻辑来进行屏幕截图,包括:
创建用于显示所述终端屏幕的虚拟屏幕和截图缓存区;
通过所述虚拟屏幕对所述终端屏幕进行实时屏幕截图;
将所述实时屏幕截图保存到所述截图缓存区。
在一种实现方式中,第一版本即为操作系统Android 4.2以上的版本。以图3所示的场景为例,如图5所示,所述执行所述远程屏幕截图指令对应的截图逻辑来进行屏幕截图具体可以包括如下步骤:
S501、创建用于显示所述终端屏幕的虚拟屏幕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。
S502、通过Virtual Display对所述终端屏幕进行实时屏幕截图。
S503、将实时屏幕截图保存到所述BufferQueue。
可选的,在本发明实施例中,还可以创建一个监听对象,对截图缓存区进行监听,因此所述方法还可以包括:监听所述截图缓存区。
此时,所述向所述远程终端发送屏幕截图,包括:
当所述截图缓存区中存在所述屏幕截图时,向所述远程终端发送所述屏幕截图。
例如,可以创建Cpu-Consumer对象,对所述BufferQueue进行监听,在所述BufferQueue中包括新的屏幕截图时,向所述远程终端发送所述新的屏幕截图。
可选的,如果使用虚拟屏幕VirtualDisplay的方案进行实时截图,截图时需要考虑屏幕方向的变化,因此,所述方法还可以包括:根据所述当前屏幕截图确定所述终端屏幕的方向;当所述终端屏幕的方向相对上一个屏幕截图发生变化,则设置所述虚拟屏幕截图的宽高信息以适应所述终端屏幕的方向。即每当获取一张新的屏幕截图图片,会根据该新的图片判断当前屏幕的方向是横屏还是竖屏,如果该新的屏幕截图图片相对之前方向发生变化,则重新设置所述虚拟屏幕截图的宽高信息以适应所述终端屏幕的方向,按新的设置进行屏幕截图。
因此,在屏幕截图过程中还可以包括如下步骤:
S504、根据所述当前屏幕截图确定所述终端屏幕的方向;
S505、判断所述终端屏幕的方向相对上一个实时屏幕截图是否发生变化,若是,则执行步骤506;
S506、设置所述虚拟屏幕截图的宽高信息以适应所述终端屏幕的方向。
此时,指示步骤502中按照新的设置进行截图。
可选的,当所述操作系统版本为第二版本时,所述第二版本的操作系统中包括屏幕共享内存和用于将所述终端的屏幕截图到所述屏幕共享内 存的截图代理对象。
所述执行所述远程屏幕截图指令对应的截图逻辑来进行屏幕截图,可以包括:
获取截图代理对象;
使用所述截图代理对象获取所述终端的屏幕截图,并将所述屏幕截图保存到所述屏幕共享内存;
所述向所述远程终端发送所述屏幕截图,可以包括:
从所述屏幕共享内存调取所述屏幕截图,向所述远程终端发送。
本发明实施例中,第一版本即为操作系统Android 4.2以下的操作系统版本,以图3所示的场景为例,如图6所示,所述执行所述远程屏幕截图指令对应的截图逻辑来进行屏幕截图具体可以包括如下步骤:
S601、获取SurfaceFlinger服务的截图代理对象ISurfaceComposer。
本实施例中,可以通过调用ComposerService::getComposerService()函数获取SurfaceFlinger服务的截图代理对象ISurfaceComposer。
在Android 4.2以下的操作系统版本中,每个应用程序进程在请求SurfaceFlinger服务时,首先需要获取SurfaceFlinger服务的代理对象,通过该代理对象请求SurfaceFlinger为该应用程序进程在SurfaceFlinger服务端创建一个Client对象,该对象专门接收处理当前应用程序的请求,本实施例中,由于是执行截图逻辑,因此,需要获取截图代理对象,如ISurfaceComposer。
S602、通过截图代理对象ISurfaceComposer获取所述终端的屏幕截图。
S603、将所述屏幕截图保存到所述屏幕共享内存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-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

Claims (14)

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

Priority Applications (1)

Application Number Priority Date Filing Date Title
US16/001,446 US10949158B2 (en) 2016-01-22 2018-06-06 Screenshot method and apparatus

Applications Claiming Priority (2)

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

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US16/001,446 Continuation US10949158B2 (en) 2016-01-22 2018-06-06 Screenshot method and apparatus

Publications (1)

Publication Number Publication Date
WO2017124842A1 true WO2017124842A1 (zh) 2017-07-27

Family

ID=57039868

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2016/108686 WO2017124842A1 (zh) 2016-01-22 2016-12-06 一种截图的方法及装置

Country Status (3)

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

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114900514A (zh) * 2022-04-26 2022-08-12 深圳市宝泽科技有限公司 一种远程截屏控制方法及系统

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105988688A (zh) 2016-01-22 2016-10-05 腾讯科技(深圳)有限公司 一种截图的方法及装置
CN106302760B (zh) * 2016-08-19 2019-07-09 广州视睿电子科技有限公司 桌面截屏控制方法及系统
CN107239208B (zh) * 2017-05-27 2020-03-27 努比亚技术有限公司 处理屏幕截图的方法、设备及计算机可读存储介质
CN107645561B (zh) * 2017-10-12 2020-06-02 湖南微算互联信息技术有限公司 一种云手机的图片预览方法
CN110581919B (zh) * 2018-06-11 2021-10-15 阿里巴巴集团控股有限公司 信息传输与数据处理方法、设备、系统及存储介质
CN108924219B (zh) * 2018-06-29 2021-04-30 深圳臻迪信息技术有限公司 远程操作终端的方法、装置及系统
CN109302637B (zh) * 2018-11-05 2023-02-17 腾讯科技(成都)有限公司 图像处理方法、图像处理装置和电子设备
CN109600282A (zh) * 2018-12-26 2019-04-09 世纪龙信息网络有限责任公司 基于云真机的测试系统及测试方法
CN109766163B (zh) * 2019-01-17 2020-02-07 网易(杭州)网络有限公司 同步显示方法及装置、存储介质和电子装置
CN112565311A (zh) * 2019-09-10 2021-03-26 辽宁瑞思科技有限公司 一种针对电信诈骗案件被害人的快速证据取证方法
TWI740208B (zh) * 2019-09-17 2021-09-21 圓展科技股份有限公司 影像傳輸裝置、具有遠端畫面擷取功能的影像顯示系統及遠端畫面影像擷取方法
CN111049893B (zh) * 2019-12-06 2022-06-28 广州微算互联信息技术有限公司 一种定期对虚拟设备进行截图的方法和系统
CN111866143A (zh) * 2020-07-22 2020-10-30 京东数字科技控股股份有限公司 一种远程数据传输方法、装置及监控系统
CN112085828B (zh) * 2020-09-18 2024-04-26 深圳市欢太科技有限公司 图像处理方法及装置、云真机系统、存储介质和电子设备
KR20220056500A (ko) * 2020-10-28 2022-05-06 삼성에스디에스 주식회사 원격 지원 서비스를 위한 장치 및 방법
CN112579244B (zh) * 2021-02-25 2021-06-18 全时云商务服务股份有限公司 在移动终端截取远程桌面中区域图片的方法及系统
CN113221866B (zh) * 2021-04-30 2022-11-15 东方蓝天钛金科技有限公司 一种基于图像识别的设备数据采集系统及方法
CN115706820A (zh) * 2021-08-10 2023-02-17 北京小米移动软件有限公司 录屏方法、装置及终端
CN113821433A (zh) * 2021-08-31 2021-12-21 北京百度网讯科技有限公司 云手机应用程序的测试方法、装置、设备、介质及产品
CN114938408B (zh) * 2022-04-30 2023-07-14 苏州浪潮智能科技有限公司 一种云手机的数据传输方法、系统、设备及介质
CN116095250B (zh) * 2022-05-30 2023-10-31 荣耀终端有限公司 用于视频裁剪的方法和装置

Citations (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
CN103000015A (zh) * 2012-12-13 2013-03-27 深圳Tcl新技术有限公司 基于无线传屏的显示设备精确遥控方法和装置
CN105094777A (zh) * 2014-05-14 2015-11-25 腾讯科技(深圳)有限公司 实现应用截屏的方法及装置
CN105117337A (zh) * 2015-08-26 2015-12-02 小米科技有限责任公司 应用调试方法、客户端及调试平台
CN105988688A (zh) * 2016-01-22 2016-10-05 腾讯科技(深圳)有限公司 一种截图的方法及装置

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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

Patent Citations (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
CN103000015A (zh) * 2012-12-13 2013-03-27 深圳Tcl新技术有限公司 基于无线传屏的显示设备精确遥控方法和装置
CN105094777A (zh) * 2014-05-14 2015-11-25 腾讯科技(深圳)有限公司 实现应用截屏的方法及装置
CN105117337A (zh) * 2015-08-26 2015-12-02 小米科技有限责任公司 应用调试方法、客户端及调试平台
CN105988688A (zh) * 2016-01-22 2016-10-05 腾讯科技(深圳)有限公司 一种截图的方法及装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114900514A (zh) * 2022-04-26 2022-08-12 深圳市宝泽科技有限公司 一种远程截屏控制方法及系统
CN114900514B (zh) * 2022-04-26 2023-12-01 深圳市宝泽科技有限公司 一种远程截屏控制方法及系统

Also Published As

Publication number Publication date
US20180285053A1 (en) 2018-10-04
CN105988688A (zh) 2016-10-05
US10949158B2 (en) 2021-03-16

Similar Documents

Publication Publication Date Title
WO2017124842A1 (zh) 一种截图的方法及装置
CA2922867C (en) Desktop-cloud-based media control method and device
US9251040B2 (en) Remote debugging in a cloud computing environment
WO2019169913A1 (zh) 一种数据处理的方法、装置、服务器和系统
US10120705B2 (en) Method for implementing GPU virtualization and related apparatus, and system
US20140188977A1 (en) Appratus, method for deploying applications in a virtual desktop interface system
WO2016177079A1 (zh) 云桌面资源的处理方法及装置
US9838371B2 (en) Method and system for securely transmitting volumes into cloud
TWI553485B (zh) 串列輸出之系統及其方法
US11789765B2 (en) Collaborative hosted virtual systems and methods
US9801146B2 (en) Terminal and synchronization control method among terminals
US9766913B2 (en) Method and system for managing peripheral devices for virtual desktops
TW201444320A (zh) 主從裝置環境的部署方法與系統
US10698705B2 (en) Method and device for managing virtual desktops virtualized by a host server and allocated to terminal users, and virtual desktop server
WO2019119315A1 (zh) 基于多操作系统的输入处理方法、装置及电子设备
US10637915B1 (en) Storage services configured for storage-oriented applications
TW201440476A (zh) 畫面分享系統及方法
WO2016061890A1 (zh) 一种资源共享方法、终端、系统及计算机存储介质
WO2023035619A1 (zh) 一种场景渲染方法、装置、设备及系统
KR20170105317A (ko) 하드웨어 기반의 gpu를 이용한 가상머신의 화면 전송 방법 및 이를 이용한 장치
US20230006850A1 (en) Automatic repair of web conference session recording
WO2015123986A1 (zh) 一种数据记录的方法、系统以及接入服务器
TW201433980A (zh) 用於電腦系統之文件轉換方法
KR20200056557A (ko) 원격 접속을 위한 장치, 시스템 및 방법
TWI530795B (zh) 分享隨插即用裝置的方法及其電子裝置

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 16886102

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 16886102

Country of ref document: EP

Kind code of ref document: A1