我一直在尝试创建一个图像处理程序,在加载的图像中拍摄所有白色像素(255,255,255)并将其alpha通道设置为0(非不透明),然后保存图像。
我一直在使用Python的pygame扩展来帮助我实现这一目标,但到目前为止,我找不到一种简单的方法来完成我刚才描述的内容。
请记住,我不是要尝试显示图像,而是试图操纵它。
答案 0 :(得分:1)
我还建议使用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 和 converted.png 的外观,以便您可以看到差异:
使用ImageMagick实用程序,就像在命令行上运行它一样简单:
convert original.png -transparent white converted.png