Skip to main content

Screenshot from background windows, adb, full screen - Windows only

Project description

Capture screen from background windows and adb (Windows only)

pip install windows-adb-screen-capture



# If you get the following error during the installation

#       ModuleNotFoundError: No module named 'win32.distutils.command'

#       [end of output]

# 

#   note: This error originates from a subprocess, and is likely not a problem with pip.

# error: subprocess-exited-with-error

# 

# Try this:



pip install windows-adb-screen-capture --no-deps

pip install pywin32

pip install mss

pip install pandas

pip install opencv-python

Update 2022/11/10

Faster ADB screenshots

Update 2022/11/04

  • Screenshots can now be resized for imshow

  • Screenshots can be taken from the whole screen, and even multiple screens

  • Bugfix: Closing and reopening imshow is working now

from windows_adb_screen_capture import ScreenShots

sc2 = ScreenShots()

sc2.set_resize_ratio(50).choose_monitor_for_screenshot(0).imshow_screenshot_monitor() #0 for all screens, 1 for screen 1, 2 for screen 2...

Example with BlueStacks (using adb)

Open bluestacks

$adb connect localhost:5735  #connect to adb from shell or however you want 

from windows_adb_screen_capture import ScreenShots

sc=ScreenShots(hwnd=None, adb_path=r"C:\ProgramData\adb\adb.exe", adb_serial='localhost:5735')

sc.imshow_adb(sleep_time=0.05, quit_key="e") #show captured screen

Edit screenshots before showing

import cv2

sc.enable_show_edited_images() 



for x in range(120): #while True for endless loop

    tmpscreenshot = sc.imget_adb() #get as numpy array

    tmpscreenshort_inverted = cv2.bitwise_not(tmpscreenshot) #just an example, do your editing here

    sc.show_edited_image(tmpscreenshort_inverted) #show the edited pic



sc.disable_show_edited_images() #back to normal screen capturing

Example with BlueStacks (using hwnd)

sc2 = ScreenShots()

sc2.find_window_with_regex('[bB]lue[sS]tacks.*')

sc2.imshow_hwnd(sleep_time=0.05, quit_key="q")  #show captured screen
#capture screen and edit before showing 

sc2.enable_show_edited_images()

for x in range(1000):   #while True for endless loop

    tmpscreenshot = sc2.imget_hwnd()

    tmpscreenshort_inverted = cv2.bitwise_not(tmpscreenshot) #do your editing here

    sc2.show_edited_image(tmpscreenshort_inverted) #show the edited pic

sc2.disable_show_edited_images()    #back to normal screen capturing

Get screenshots without showing windows

from windowcapture import ScreenShots

sc=ScreenShots(hwnd=None, adb_path=r"C:\ProgramData\adb\adb.exe", adb_serial='localhost:5735')

sc.imget_adb()
sc2 = ScreenShots()

sc2.find_window_with_regex('[bB]lue[sS]tacks.*')

sc2.imget_hwnd()

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

windows_adb_screen_capture-0.17.tar.gz (7.3 kB view hashes)

Uploaded Source

Built Distribution

windows_adb_screen_capture-0.17-py3-none-any.whl (8.9 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page