txlyre 7 months ago
parent
commit
73e92c5c28
1 changed files with 12 additions and 2 deletions
  1. 12 2
      main.py

+ 12 - 2
main.py

@@ -78,7 +78,17 @@ def extract_image(path):
         for j in range(cols):
             r, g, b = im[i, j]
 
-            data.append(((r << 16) + (g << 8) + b) & 255)
+            byte = 0
+            byte |= 1 << (r & 1)
+            byte |= 1 << ((r >> 1) & 1)
+            byte |= 1 << ((g >> 1) & 1)
+            byte |= 1 << ((g >> 1) & 1)
+            byte |= 1 << ((b >> 1) & 1)
+            byte |= 1 << ((b >> 1) & 1)
+            byte |= 1 << ((r >> 2) & 1)
+            byte |= 1 << ((r >> 2) & 1)
+
+            data.append(byte & 255)
 
     return bytes(data)
 
@@ -122,7 +132,7 @@ def extract_lsbs(data):
         tmp_byte = 0
         for byte in chunk:
             for n in range(4):
-                tmp_byte = (tmp_byte << 1) | ((byte >> n) & 1)
+                tmp_byte |= 1 << ((byte >> n) & 1)
 
         buffer.append(tmp_byte & 255)