gpt4 book ai didi

python - 将 ImageGrab 与 pywin32 的 GetWindowRect 中的 bbox 一起使用

转载 作者:行者123 更新时间:2023-12-01 09:09:27 26 4
gpt4 key购买 nike

我想使用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))

Result of code

最佳答案

您的 DPI 设置为 125%,并且您的进程无法识别 DPI。调用SetProcessDPIAware如下

import ctypes
...
ctypes.windll.user32.SetProcessDPIAware()

关于python - 将 ImageGrab 与 pywin32 的 GetWindowRect 中的 bbox 一起使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51786794/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com