原文:https://blog.csdn.net/robinzhou/article/details/6960345
當需要將一張有透明部分的圖片粘貼到一張底片上時,如果用Python處理,可能會用到PIL,但是PIL中 有說明,在粘貼RGBA模式的圖片是,alpha通道不會被帖上,也就是不會有透明的效果,當然也給出了解決方法,就是粘貼的時候,將RGBA的的alpha通道提取出來做為mask傳入。
im.paste(image, box, 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()
out_display.paste(new_img, (int(picture_display[0])+10, int(picture_display[1])+10), mask = a)
將分離出的通道貼到 out_display 圖像中並保存
plt.imshow(out_display)
plt.savefig('F:/hackathon/pic/display/image_output.png', dpi=500, bbox_inches='tight')
參考:https://blog.csdn.net/MiniCatTwo/article/details/80626330