¿Cómo hacer una captura de pantalla con python, si está conectado a múltiples monitores?Captura de pantalla Python 2+ monitores (ventanas)
me trataron:
import sys
from PyQt4.QtGui import QPixmap, QApplication
app = QApplication(sys.argv)
QPixmap.grabWindow(QApplication.desktop().winId()).save('test.png', 'png')
import ImageGrab
im = ImageGrab.grab()
im.save('test.png', 'PNG')
Ambas opciones proporcionan una captura de pantalla, sólo el monitor principal
Si uso winapi:
hWnd = win32gui.FindWindow(None, win_name)
dc = win32gui.GetWindowDC(hWnd)
i_colour = int(win32gui.GetPixel(dc,int(x),int(y)))
rgb = ((i_colour & 0xff), ((i_colour >> 8) & 0xff), ((i_colour >> 16) & 0xff))
me sale una imagen de una ventana en el segundo monitor. Pero será muy lento.
Si presiono la tecla 'printscreen' en el portapapeles habrá una captura de pantalla normal, con todos los monitores. ¿Existe una opción para obtener una captura de pantalla completa en Python?
¿Cómo no guardar el archivo, puede utilizar este mapa de bits en PIL? Image.open() – Echeg