Pygame: преобразование всех белых пикселей в полностью прозрачные в png-изображении

Я пытаюсь создать программу обработки изображений, чтобы взять все белые пиксели (255,255,255) в загруженном изображении и установить их альфа-каналы на 0 (непрозрачные), а затем сохранить изображение.

Я использовал расширение pygame для Python, чтобы помочь мне достичь этого, но до сих пор я не могу найти простой способ сделать то, что я только что описал выше.

Имейте в виду, что я не пытаюсь отобразить изображение, я пытаюсь манипулировать им.

Я также предлагаю использовать PIL или ImageMagick , но вот способ сделать это в pygame:

import pygame def convert(): pygame.init() pygame.display.set_mode() image = pygame.image.load("triangle.png").convert_alpha() for x in range(image.get_width()): for y in range(image.get_height()): if image.get_at((x, y)) == (255, 255, 255, 255): image.set_at((x, y), (255, 255, 255, 0)) pygame.image.save(image, "converted.png") if __name__ == "__main__": convert() 

Вышеупомянутое работает на белом фоне. Вот как triangle.png и convert.png выглядят с использованием пурпурного вместо белого, чтобы вы могли видеть разницу:

пурпурный bgпрозрачный bg

Вместо этого с помощью утилиты ImageMagick это так же просто, как запустить это в командной строке:

 convert original.png -transparent white converted.png