在pygame中获得1像素RGB颜色

时间:2014-11-12 15:44:58

标签: python colors pygame rgb

如何在2D游戏中获得一种像素RGB颜色?我需要将它与红色(255,0,0)进行比较,所以我需要它(R,G,B)。我尝试使用这样的get_at()方法:

if background.get_at(x,y) == (255,0,0):
    print("same")
else:
    print("not same")

但它没有用。

2 个答案:

答案 0 :(得分:0)

代码:

import pygame
pygame.init()
background = pygame.display.set_mode([640,480])
background_colour = (3, 3, 251)
background.fill(background_colour)
pygame.display.flip()

print(background.get_at(2,2))
if background.get_at(background(2,2)) == background_colour:
   print("Same")
else:
   print("Not same:")

错误:

Traceback (most recent call last):
File "C:/Users/Kaspar/Desktop/proov13.py", line 8, in <module>
print(background.get_at(2,2))
TypeError: function takes exactly 1 argument (2 given)

答案 1 :(得分:0)

查看Pygame文档:http://www.pygame.org/docs/ref/surface.html#pygame.Surface.get_at 你需要这样做:

background.get_at((2,2))

这是将一个参数传递给函数,在这种情况下,参数是元组(2,2)

此外,如果您想要表单中的颜色(255,0,0),则需要调用tuple(background.get_at((2,2)))(假设您使用的是pygame版本&gt; 1.9.0)。