如何在pygame中直接获取指针下的像素颜色?
我做了很多研究,但答案相当害羞。
答案 0 :(得分:3)
如果使用pygame.display.set_mode
创建的屏幕表面为surface
,那么您可以执行此操作:
color = surface.get_at(pygame.mouse.get_pos()) # get the color of pixel at mouse position
答案 1 :(得分:0)
@Malik的回答非常正确。这是一个有效的演示:
import pygame
import sys
pygame.init()
surface = pygame.display.set_mode( (200, 200) )
last_color = None
while True:
for event in pygame.event.get():
if event.type == pygame.QUIT:
pygame.quit()
sys.exit()
surface.fill( (0,0,255) )
pygame.draw.rect( surface, (255,0,0), (0, 0, 100, 100) )
pygame.draw.rect( surface, (0,255,0), (100, 100, 100, 100) )
color = surface.get_at(pygame.mouse.get_pos())
if last_color != color:
print(color)
last_color = color
pygame.display.update()
pygame.quit()