Python用PIL合成图片

2018-12-24  本文已影响0人  qinbatista

今天查PIL合成图片国内的资料不是太复杂就是相互抄,搞股了半天也没一个能用的,用渣渣英语查了一下谷歌,秒解决。

准备工作:

1: 确保两张图片是一个格式,图片在生成的时候, 不知道会用什么压缩工具,会导致格式不一致,这是我花了好长时间才发现的坑,如何看格式图片格式:

foreground= Image.open("./a.png")

background= Image.open("./b.png")

print(background)

print(foreground)

这时会打印log

<PIL.PngImagePlugin.PngImageFile image mode=RGBA size=512x512 at 0x117C249E8>

<PIL.PngImagePlugin.PngImageFile image mode=RGBA size=512x512 at 0x10AA30E48>

mode = RGBA就说明现在可以完美合成图片了,这样既可以合成透明通道部分,也可以合成普通图片合成。

2: 图片准备完毕就合成图片,代码就三行

final2 = Image.new("RGBA", background.size)

final2 = Image.alpha_composite(final2, background)

final2 = Image.alpha_composite(final2, foreground)

final2.show()

final2.save("./my.png")

图片的合成就我这几行代码全部搞定,中文搜索图片合成全是看不懂的天书,希望能帮到大家。

借鉴文章,做一个有素质的简书er:

https://stackoverflow.com/questions/5324647/how-to-merge-a-transparent-png-image-with-another-image-using-pil

https://juejin.im/post/5a5c51f7f265da3e498007be

上一篇 下一篇

猜你喜欢

热点阅读