本文主要是介绍使用python处理RGBA格式的透明图片的粘贴,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
当需要将一张有透明部分的图片粘贴到一张底片上时,如果用Python处理,可能会用到PIL,但是PIL中 有说明,在粘贴RGBA模式的图片是,alpha通道不会被帖上,也就是不会有透明的效果,当然也给出了解决方法,就是粘贴的时候,将RGBA的的alpha通道提取出来做为mask传入。
im.paste(image, box, mask)
Same as above, but updates only the regions indicated by the mask. You can use either "1", "L" or "RGBA" images (in the latter case, the alpha band is used as mask). Where the mask is 255, the given image is copied as is. Where the mask is 0, the current value is preserved. Intermediate values can be used for transparency effects.
Note that if you paste an "RGBA" image, the alpha band is ignored. You can work around this by using the same image as both source image and mask.
代码如下:
#读取底片imp = Image.open('20111110_170002.jpg')#读取要粘贴的图片 RGBA模式imq = Image.open('attachment.png')#分离通道r,g,b,a = imq.split()#粘贴imp.paste(imq,(100, 100, 171, 172),mask = a)显示:imp.show()
这篇关于使用python处理RGBA格式的透明图片的粘贴的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!