gpt4 book ai didi

python - 如何在pygame中反转图像的颜色?

转载 作者:太空狗 更新时间:2023-10-29 21:23:02 25 4
gpt4 key购买 nike

我有一个 pygame Surface 并且想要反转颜色。有没有比这更快更 pythonic 的方法?它相当慢。

我知道从 255 中减去该值并不是“反转颜色”的唯一定义,但这是我现在想要的。

我很惊讶 pygame 没有内置这样的东西!

感谢您的帮助!

import pygame

def invertImg(img):
"""Inverts the colors of a pygame Screen"""

img.lock()

for x in range(img.get_width()):
for y in range(img.get_height()):
RGBA = img.get_at((x,y))
for i in range(3):
# Invert RGB, but not Alpha
RGBA[i] = 255 - RGBA[i]
img.set_at((x,y),RGBA)

img.unlock()

最佳答案

取自:http://archives.seul.org/pygame/users/Sep-2008/msg00142.html

def inverted(img):
inv = pygame.Surface(img.get_rect().size, pygame.SRCALPHA)
inv.fill((255,255,255,255))
inv.blit(img, (0,0), None, BLEND_RGB_SUB)
return inv

这可能会使 alpha channel 出错,但您应该能够通过额外的调整使其正常工作。

关于python - 如何在pygame中反转图像的颜色?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5891808/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com