加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

python – Pygame:在png图像中将所有白色像素转换为完全透明

发布时间:2020-12-20 13:32:16 所属栏目:Python 来源:网络整理
导读:我一直在尝试创建一个图像处理程序,在加载的图像中获取所有白色像素(255,255,255)并将其alpha通道设置为0(非不透明),然后保存图像. 我一直在使用Python的pygame扩展来帮助我实现这一目标,但到目前为止,我找不到一种简单的方法来完成我刚才描述的内容. 请记住
我一直在尝试创建一个图像处理程序,在加载的图像中获取所有白色像素(255,255,255)并将其alpha通道设置为0(非不透明),然后保存图像.

我一直在使用Python的pygame扩展来帮助我实现这一目标,但到目前为止,我找不到一种简单的方法来完成我刚才描述的内容.

请记住,我不是要尝试显示图像,我正试图操纵它.

解决方法

我还建议使用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):
                image.set_at((x,y),(255,0))
    pygame.image.save(image,"converted.png")

if __name__ == "__main__":
    convert()

以上工作为白色背景.以下是使用洋红色而不是白色的triangle.png和converted.png外观,以便您可以看到差异:

?

使用ImageMagick实用程序,就像在命令行上运行它一样简单:

convert original.png -transparent white converted.png

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读