mirror of
https://github.com/cedricbonhomme/Stegano.git
synced 2025-05-12 17:18:30 +02:00
Closes #4.
This commit is contained in:
parent
eeb8132b4b
commit
6cd22dfe72
2 changed files with 11 additions and 8 deletions
|
@ -55,18 +55,17 @@ def hide(input_image_file, message, auto_convert_rgb=False):
|
||||||
index = 0
|
index = 0
|
||||||
|
|
||||||
message = str(len(message)) + ":" + str(message)
|
message = str(len(message)) + ":" + str(message)
|
||||||
#message_bits = tools.a2bits(message)
|
|
||||||
message_bits = "".join(tools.a2bits_list(message))
|
message_bits = "".join(tools.a2bits_list(message))
|
||||||
message_bits += '0' * ((3 - (len(message_bits) % 3)) % 3)
|
message_bits += '0' * ((3 - (len(message_bits) % 3)) % 3)
|
||||||
|
|
||||||
npixels = width * height
|
npixels = width * height
|
||||||
if len(message_bits) > npixels * 3:
|
len_message_bits = len(message_bits)
|
||||||
|
if len_message_bits > npixels * 3:
|
||||||
raise Exception("""The message you want to hide is too long (%s > %s).""" % (len(message_bits), npixels * 3))
|
raise Exception("""The message you want to hide is too long (%s > %s).""" % (len(message_bits), npixels * 3))
|
||||||
|
|
||||||
for row in range(height):
|
for row in range(height):
|
||||||
for col in range(width):
|
for col in range(width):
|
||||||
|
if index + 3 <= len_message_bits :
|
||||||
if index + 3 <= len(message_bits) :
|
|
||||||
|
|
||||||
# Get the colour component.
|
# Get the colour component.
|
||||||
(r, g, b) = img.getpixel((col, row))
|
(r, g, b) = img.getpixel((col, row))
|
||||||
|
@ -79,7 +78,10 @@ def hide(input_image_file, message, auto_convert_rgb=False):
|
||||||
# Save the new pixel
|
# Save the new pixel
|
||||||
encoded.putpixel((col, row), (r, g , b))
|
encoded.putpixel((col, row), (r, g , b))
|
||||||
|
|
||||||
index += 3
|
index += 3
|
||||||
|
else:
|
||||||
|
img.close()
|
||||||
|
return encoded
|
||||||
|
|
||||||
img.close()
|
img.close()
|
||||||
return encoded
|
return encoded
|
||||||
|
|
|
@ -62,12 +62,13 @@ def hide(input_image_file, message, generator_function, auto_convert_rgb=False):
|
||||||
message_bits += '0' * ((3 - (len(message_bits) % 3)) % 3)
|
message_bits += '0' * ((3 - (len(message_bits) % 3)) % 3)
|
||||||
|
|
||||||
npixels = width * height
|
npixels = width * height
|
||||||
if len(message_bits) > npixels * 3:
|
len_message_bits = len(message_bits)
|
||||||
raise Exception("""The message you want to hide is too long (%s > %s).""" % (len(message_bits), npixels * 3))
|
if len_message_bits > npixels * 3:
|
||||||
|
raise Exception("""The message you want to hide is too long (%s > %s).""" % (len_message_bits, npixels * 3))
|
||||||
|
|
||||||
generator = getattr(generators, generator_function)()
|
generator = getattr(generators, generator_function)()
|
||||||
|
|
||||||
while index + 3 <= len(message_bits) :
|
while index + 3 <= len_message_bits :
|
||||||
generated_number = next(generator)
|
generated_number = next(generator)
|
||||||
(r, g, b) = img_list[generated_number]
|
(r, g, b) = img_list[generated_number]
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue