为了账号安全,请及时绑定邮箱和手机立即绑定

Python PyAutoGui pixelMatchesColor 引发 windll

Python PyAutoGui pixelMatchesColor 引发 windll

皈依舞 2023-02-15 15:40:38
在尝试查看屏幕上的像素是否与 RGB 颜色匹配时遇到问题。但是,即使经过调整,我也无法获得任何好的结果。我在网上查找并尝试了不同的解决方案,但没有运气。Exception in thread Thread-2:Traceback (most recent call last):  File "C:\Python38\lib\threading.py", line 932, in _bootstrap_inner    self.run()  File "C:\Python38\lib\threading.py", line 870, in run    self._target(*self._args, **self._kwargs)  File "C:\Python38\lib\site-packages\keyboard\_generic.py", line 58, in process    if self.pre_process_event(event):  File "C:\Python38\lib\site-packages\keyboard\__init__.py", line 218, in pre_process_event    callback(event)  File "C:\Python38\lib\site-packages\keyboard\__init__.py", line 649, in <lambda>    handler = lambda e: (event_type == KEY_DOWN and e.event_type == KEY_UP and e.scan_code in _logically_pressed_keys) or (event_type == e.event_type and callback())  File "main.py", line 101, in bomb_timer    pix = pyautogui.pixelMatchesColor(959, 83, (169, 0, 0), tolerance=61)  File "C:\Python38\lib\site-packages\pyscreeze\__init__.py", line 559, in pixelMatchesColor    pix = pixel(x, y)  File "C:\Python38\lib\site-packages\pyscreeze\__init__.py", line 584, in pixel    return (r, g, b)  File "C:\Python38\lib\contextlib.py", line 120, in __exit__    next(self.gen)  File "C:\Python38\lib\site-packages\pyscreeze\__init__.py", line 113, in __win32_openDC    raise WindowsError("windll.user32.ReleaseDC failed : return 0")OSError: windll.user32.ReleaseDC failed : return 0我的代码:def clock_timer():    clock = pyautogui.locateCenterOnScreen('assets/clock2.png', grayscale=True, confidence=0.5, region=(920,10, 90, 90))    print(Style.RESET_ALL + "[" + Fore.RED + "zVal" + Style.RESET_ALL + "]" + Fore.RED + " Waiting for clock...")    while clock == None:        clock1 = pyautogui.locateCenterOnScreen('assets/clock2.png', grayscale=True, confidence=0.5, region=(920,10, 90, 90))        pix = pyautogui.pixelMatchesColor(959, 83, (169, 0, 0), tolerance=61) #PART THAT DOESNT WORK        if clock1 != None and pix == True:            clock = "Stop loop"
查看完整描述

2 回答

?
jeck猫

TA贡献1909条经验 获得超7个赞

找不到发生这种情况的确切原因,但解决方法是删除我所有的 Python 版本(3.78 和 3.83),然后我只重新安装 3.83。这解决了问题。希望这可以帮助其他人解决这个问题。



查看完整回答
反对 回复 2023-02-15
?
肥皂起泡泡

TA贡献1829条经验 获得超6个赞

可能的解决方案:

  1. 从 Python 3.8 降级到 3.7

  2. 重新安装 Python

  3. 在 python 解释器/cmd >> python 中尝试


查看完整回答
反对 回复 2023-02-15
  • 2 回答
  • 0 关注
  • 231 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号