关于ZAKER 融媒体解决方案 合作 加入

如何使用 ImageGrab.grab ( ) .load ( ) 函数或任何其他 .

CocoaChina 10-13

我一直在尝试检查屏幕上的像素是否正在更改 . 我需要做什么?

我上网已经很长时间了 , 没有成功 . 我对网络上提供的代码进行了实验 , 发现我的代码仅从运行代码时打开的屏幕中提供数据 . 也就是说 , 如果在运行代码时屏幕为白色 , 即使屏幕颜色已经更改 , 它将从白色屏幕读取像素 .

from PIL import ImageGrabpx=ImageGrab.grab ( ) .load ( ) m=px [ 613,296 ] print ( m ) while 1: if m!=px [ 613,296 ] : m=px [ 613,296 ] print ( m )

我运行了代码并开始播放了一个视频 , 我期望值会不断变化 , 但我得到的只是 ( 255,255,255 ) ( 空闲的白色屏幕 ) , 我也尝试手动更改屏幕 .

我尝试在没有控制台的情况下运行代码 , 并在文本文件中没有 while 循环的情况下输出输出 , 但我得到了正确的值 , 但是我需要完成的任务需要多次运行代码以检查像素是否更新 . 我应该如何做到这一点?

最佳答案

这对我有用:

#!/usr/bin/env python3from PIL import ImageGrabwhile True: px=ImageGrab.grab ( ) .load ( ) m=px [ 613,296 ] print ( m )

我认为 , 如果只指定一个像素 , 则只捕获一个像素会更快一些 , 因此只捕获一个像素:

#!/usr/bin/env python3from PIL import ImageGrabwhile True: screen=ImageGrab.grab ( bbox= ( 613,296,614,297 ) ) px = screen.load ( ) m=px [ 0,0 ] print ( m,screen.size )

以上内容由"CocoaChina"上传发布 查看原文
相关标签 函数屏幕

觉得文章不错,微信扫描分享好友

扫码分享