作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想使用PIL的ImageGrab来捕获特定的窗口。我下面的代码所做的是,它使用 pywin32 的 FindWindow 来获取我想要的窗口的句柄,然后使用 GetWindowRect 获取其大小和位置。然后,我将 ImageGrab 与 bbox 一起使用,该 bbox 等于我从 GetWindowRect 获得的结果。然而,这并没有捕获整个窗口;窗口的很大一部分没有显示。我做错了什么?这是我的代码和得到的结果:
import win32gui
import cv2
from PIL import ImageGrab
import numpy as np
fceuxHWND = win32gui.FindWindow(None, 'FCEUX 2.1.4a: Super Mario Bros. (JU)
[!]')
rect = win32gui.GetWindowRect(fceuxHWND)
screen = np.array(ImageGrab.grab(bbox=rect), dtype=np.uint8)
cv2.imshow('test',cv2.cvtColor(screen,cv2.COLOR_BGR2RGB))
最佳答案
您的 DPI 设置为 125%,并且您的进程无法识别 DPI。调用SetProcessDPIAware
如下
import ctypes
...
ctypes.windll.user32.SetProcessDPIAware()
关于python - 将 ImageGrab 与 pywin32 的 GetWindowRect 中的 bbox 一起使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51786794/
我正在尝试检查 PyWin 在 Excel 的 COM 接口(interface)中返回的数据是否属于“时间”类型。 这是不起作用的代码: from win32com.client import Di
我在 Win32 上使用 Python 与 OneNote 的 COM 互操作进行交互。 下面是提取笔记本层次结构的最基本代码: import win32com.client onObj = win3
我是一名优秀的程序员,十分优秀!