我的最终目标是在图像中找到一种颜色(在本例中为白色)并将其替换为另一种颜色(基于特定情况)。因此,随着某个变量的变化,白色会被特定的颜色所取代。
然而,为了到达那里,我目前只是在玩图像(使用教程等)。我正在尝试使用以下代码打印图像的调色板。我的理解是颜色是代表 RGB 的 3 个整数的“元组”。 0 = 最暗,255 = 白色。所以,我正在测试的图像是黑白图像。我期待类似“(0,0,0),(255,255,255)”的东西。所以,我想如果我能做到这一点,那么我可以编写代码用适当的颜色替换“(255,255,255)”。
我提到最终目标是因为我很清楚我的方法可能不是最好的,也许有人有更好的方法可以解决这个问题。如果没有,我至少希望能够打印一个引用图像包含的颜色的字符串。 “NOFRAME”是我在这个网站上找到的一个很好的建议,因为我实际上并没有“使用”图像/图形——只是使用它们的属性。
image1=r"C:\Python27\Lib\site-packages\pygame\examples\data\image1.jpg"
image2=r"C:\Python27\Lib\site-packages\pygame\examples\data\image2.png"
import pygame, sys
from pygame.locals import *
pygame.init()
pygame.display.set_mode((1,1), pygame.NOFRAME)
background = pygame.image.load(image1).convert()
mouse_c=pygame.image.load(image2).convert_alpha()
colorpal = pygame.Surface.get_palette(mouse_c)
print colorpal
最佳答案
你想要做的是需要大量的像素级工作,所以我建议你使用 pygame.PixelArray
用于表面直接像素访问的对象。
对于您特别想做的事情,听起来您可以使用 pygame.PixelArray.replace()
方法。
关于Python (pygame) : Get image color information?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16872624/