Python Win32 API: 判断屏幕颜色是否与目标颜色相同
以下是一个使用 win32 进行屏幕位置判断和颜色判断的代码示例:
import win32gui
import win32api
import win32con
def get_pixel_color(x, y):
hdc = win32gui.GetDC(0)
color = win32gui.GetPixel(hdc, x, y)
win32gui.ReleaseDC(0, hdc)
r = color & 0xff
g = (color >> 8) & 0xff
b = (color >> 16) & 0xff
return (r, g, b)
def compare_color(color1, color2):
return color1 == color2
def get_screen_resolution():
user32 = win32api.GetSystemMetrics
width = user32(win32con.SM_CXSCREEN)
height = user32(win32con.SM_CYSCREEN)
return (width, height)
def is_pixel_color(x, y, target_color):
screen_width, screen_height = get_screen_resolution()
if x < 0 or x >= screen_width or y < 0 or y >= screen_height:
return False
pixel_color = get_pixel_color(x, y)
return compare_color(pixel_color, target_color)
# 示例使用方法
target_color = (255, 0, 0) # 指定的颜色,这里是红色
x = 100 # 屏幕位置的 x 坐标
y = 200 # 屏幕位置的 y 坐标
if is_pixel_color(x, y, target_color):
print('屏幕位置 ({}, {}) 的颜色与指定颜色相同'.format(x, y))
else:
print('屏幕位置 ({}, {}) 的颜色与指定颜色不同'.format(x, y))
这段代码会通过调用get_pixel_color()函数来获取屏幕上指定位置的像素颜色,并通过compare_color()函数来判断该颜色是否与指定颜色相同。get_screen_resolution()函数用于获取屏幕分辨率。最后,使用is_pixel_color()函数来判断屏幕位置的颜色是否与指定颜色相同。
原文地址: https://www.cveoy.top/t/topic/qrso 著作权归作者所有。请勿转载和采集!