如何解决如何编辑此代码以便输入 GIF 文件?它允许我使用 JPG 和 PNG 但不允许使用 GIF
完整代码:https://paste.pythondiscord.com/kenatayuce.py
我在 GIF 上尝试使用 LSB 隐写术时遇到此错误:
pix = [imdata 中值的值。next()[:3] + # 一次提取的 3 个像素
TypeError: 'int' 对象不可下标
def modPix(pix,data): # Pixels are modified from 8-bit binary
Link to full code: https://paste.pythondiscord.com/kenatayuce.py
datalist = genData(data)
lendata = len(datalist)
imdata = iter(pix)
for i in range(lendata):
pix = [value for value in imdata.__next__()[:3] + # 3 pixels extracted at one time
imdata.__next__()[:3] +
imdata.__next__()[:3]]
for j in range(0,8):
if (datalist[i][j] == '0' and pix[j]% 2 != 0): # Pixel value = 1 for odd,0 for even
pix[j] -= 1
elif (datalist[i][j] == '1' and pix[j] % 2 == 0):
if(pix[j] != 0):
pix[j] -= 1
else:
pix[j] += 1
if (i == lendata - 1): # 8th pixel will state whether to stop or to carry on reading
if (pix[-1] % 2 == 0): # 0 = Keep reading.
if(pix[-1] != 0): # 1 = Stop. Message is over.
pix[-1] -= 1
else:
pix[-1] += 1
else:
if (pix[-1] % 2 != 0):
pix[-1] -= 1
pix = tuple(pix)
yield pix[0:3]
yield pix[3:6]
yield pix[6:9]
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。