PYthon黑科技之透明通道隐藏图片

来源:互联网 发布:大数据前沿技术与应用 编辑:程序博客网 时间:2024/04/29 20:59
透明通道的使用
putalpha(alpha)
这个方法是一个神奇的方法,你可以将一个图片(与原图尺寸相同)写入到原图片的透明通道中,而不影响原图片的正常显示,可以用于信息隐藏哦。当然,前提是原
始图片有透明通道。不过就算不是也没有多大关系,因为有PIL提供的convert功能,可以把一个图片先转换成RGBA模式,然后把要隐藏的信息文件转成“L”或者“1”模
式,最后使用这个putalpha将其叠加。而在图片的使用方,只需要简单的抽取其中的透明通道就可以看到隐藏信息了,哈哈。
Python代码  收藏代码
  1. def hideInfoInImage(img, info):  
  2.     if img.mode != "RGBA":  
  3.         img = img.convert("RGBA")  
  4.     if info.mode != "L" and info.mode != "1":  
  5.         info = info.convert("L")  
  6.     img.putalpha(info)  
  7.   
  8.     return img  

 


测试之

Python代码  收藏代码
  1. if __name__ == "__main__":  
  2.     img = Image.open("green.png")  
  3.     band = Image.open("antelope_inhalf.jpg")  
  4.   
  5.     img = hideInfoInImage(img, band)  
  6.     img.show()#可以看到,原图片没有显式变化  
  7.     img.split()[3].show()#抽取出透明通道中的图片并显示  

1 0