У меня есть pygame Surface и вы хотите инвертировать цвета. Есть ли способ быстрее & больше pythonic, чем это? Это довольно медленно.Как инвертировать цвета изображения в pygame?
Я знаю, что вычитание значения из 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()
numpy is awesome, я использую его практически в каждом проекте python –
Отлично! Я должен научиться и использовать Numpy. –
@jsbueno Мне любопытно, почему вы сделали «дель пикселей»? –