Pygame获取光标所在像素的颜色

时间:2015-12-29 18:21:48

标签: python python-2.7 pygame

如何在pygame中直接获取指针下的像素颜色?

我做了很多研究,但答案相当害羞。

2 个答案:

答案 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()