fixes #23: lsbset.hide cause .png transparent area lost.

This commit is contained in:
Cédric Bonhomme 2019-05-31 22:15:04 +02:00
parent c5b7df87f5
commit 48ff22476f
No known key found for this signature in database
GPG key ID: A1CB94DE57B7A70D

View file

@ -89,14 +89,14 @@ def hide(
# Save the new pixel
if img.mode == "RGBA":
img_list[generated_number] = (r, g, b, a[0])
img_list[generated_number] = (r, g, b, *a)
else:
img_list[generated_number] = (r, g, b)
index += 3
# create empty new image of appropriate format
encoded = Image.new("RGB", (img.size))
encoded = Image.new(img.mode, (img.size))
# insert saved data into the image
encoded.putdata(img_list)
@ -126,7 +126,7 @@ def reveal(
while True:
generated_number = next(generator)
# color = [r, g, b]
for color in img_list[generated_number]:
for color in img_list[generated_number][0:3]:
buff += (color & 1) << (tools.ENCODINGS[encoding] - 1 - count)
count += 1
if count == tools.ENCODINGS[encoding]: