Захват скриншота полноэкранной игры ⇐ Python
Захват скриншота полноэкранной игры
Это работает в обычном окне, но в полноэкранной игре возвращается черный экран, поэтому я изменил dtype = numpy.uint8 на dtype = numpy.uint16 и теперь я получаю эту ошибку. Я думаю, это как-то связано с цифрой 4 в кортеже.
Файл «C:\Users\phpjunkie\Python\test_debug\testing\test12.py», строка 22, в CaptureWwindow output.shape = (высота, ширина, 4) ^^^^^^^^^^^^ ValueError: невозможно преобразовать массив размером 12288000 в форму (1600,3840,4) Вот код:
импортировать phpjunkie.Win32 как Win32 импортировать cv2 как cv импортировать число импортировать Win32gui импортировать Win32UI импортировать win32con защита CaptureWwindow(hwnd: int): слева, сверху, справа, снизу = win32gui.GetWindowRect(hwnd) ширина, высота = право-лево, низ-верх wdc = win32gui.GetWindowDC(hwnd) dc = win32ui.CreateDCFromHandle(wdc) cdc = dc.CreateCompatibleDC() растровое изображение = win32ui.CreateBitmap() bitmap.CreateCompatibleBitmap(dc, ширина, высота) cdc.SelectObject(растровое изображение) cdc.BitBlt((0, 0), (ширина, высота), dc, (0, 0), win32con.SRCCOPY) вывод = numpy.frombuffer(bitmap.GetBitmapBits(True), dtype = numpy.uint16) output.shape = (высота, ширина, 4) dc.DeleteDC() cdc.DeleteDC() win32gui.ReleaseDC(hwnd, wdc) win32gui.DeleteObject(bitmap.GetHandle()) обратный вывод hwnd = Win32.GetWindowHandle(partial = «Обновленная версия Человека-паука Marvel») снимок экрана = CaptureWwindow(hwnd) снимок экрана = (скриншот >> 2).astype(numpy.uint8) cv.imshow('скриншот', скриншот) печать (screenshot.dtype) печать (screenshot.shape) cv.waitKey()
Это работает в обычном окне, но в полноэкранной игре возвращается черный экран, поэтому я изменил dtype = numpy.uint8 на dtype = numpy.uint16 и теперь я получаю эту ошибку. Я думаю, это как-то связано с цифрой 4 в кортеже.
Файл «C:\Users\phpjunkie\Python\test_debug\testing\test12.py», строка 22, в CaptureWwindow output.shape = (высота, ширина, 4) ^^^^^^^^^^^^ ValueError: невозможно преобразовать массив размером 12288000 в форму (1600,3840,4) Вот код:
импортировать phpjunkie.Win32 как Win32 импортировать cv2 как cv импортировать число импортировать Win32gui импортировать Win32UI импортировать win32con защита CaptureWwindow(hwnd: int): слева, сверху, справа, снизу = win32gui.GetWindowRect(hwnd) ширина, высота = право-лево, низ-верх wdc = win32gui.GetWindowDC(hwnd) dc = win32ui.CreateDCFromHandle(wdc) cdc = dc.CreateCompatibleDC() растровое изображение = win32ui.CreateBitmap() bitmap.CreateCompatibleBitmap(dc, ширина, высота) cdc.SelectObject(растровое изображение) cdc.BitBlt((0, 0), (ширина, высота), dc, (0, 0), win32con.SRCCOPY) вывод = numpy.frombuffer(bitmap.GetBitmapBits(True), dtype = numpy.uint16) output.shape = (высота, ширина, 4) dc.DeleteDC() cdc.DeleteDC() win32gui.ReleaseDC(hwnd, wdc) win32gui.DeleteObject(bitmap.GetHandle()) обратный вывод hwnd = Win32.GetWindowHandle(partial = «Обновленная версия Человека-паука Marvel») снимок экрана = CaptureWwindow(hwnd) снимок экрана = (скриншот >> 2).astype(numpy.uint8) cv.imshow('скриншот', скриншот) печать (screenshot.dtype) печать (screenshot.shape) cv.waitKey()
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Захват скриншота и сохранение в документе с помощью сценария фонового питона
Anonymous » » в форуме Python - 0 Ответы
- 10 Просмотры
-
Последнее сообщение Anonymous
-