python学习笔记:对图片素材进行背景透明处理


 

1.用python自带方法处理,只是把图片背景色变成底层surface同样的颜色,图片本身无变化

# ~ 如果位图是纯色背景就用convert和set_colorkey方法
# ~ 其中set_colorkey的RGB值就是图片的背景色,可以用微软画图的吸管吸取颜色值
self.image=pygame.image.load('chess.png').convert()
self.image.set_colorkey((153,217,234))
# ~ 如果位图是透明背景
# ~ self.image = pygame.image.load("chess.png").convert_alpha()

 

2.处理图片本身使其变成透明的

前提:需要导入python标准库,Python Image Library,在python3.7以后叫做pillow。命令行打开之后,如果python已经在系统变量里的话,直接pip install pillow,linux unix mac方法类似。

实际代码如下:

 1 import PIL.Image as Image
 2 
 3 def transparent_back(img):
 4     """以图片左上角的点的颜色为透明背景"""
 5     img = img.convert('RGBA')
 6     L, H = img.size
 7     color_0 = img.getpixel((0,0))
 8     for h in range(H):
 9         for l in range(L):
10             dot = (l,h)
11             color_1 = img.getpixel(dot)
12             if color_1 == color_0:
13                 color_1 = color_1[:-1] + (0,)
14                 img.putpixel(dot,color_1)
15     return img
16 
17 
18 img=Image.open('player.png')
19 img=us.transparent_back(img)
20 #~ 如果不想覆盖原图就改名
21 img.save('player.png')

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM