Ajoutez le code suivant au fichier qr.py
def bit(n, i):
return (n >> i) & 1
def couleur_module(b):
if b == 1:
return NOIR
return BLANC
def placer_modules_format(img, format_encode):
for i in range(6):
placer_module(img, 8, i, couleur_module(bit(format_encode, i)))
placer_module(img, 8, 7, couleur_module(bit(format_encode, 6)))
placer_module(img, 8, 8, couleur_module(bit(format_encode, 7)))
placer_module(img, 7, 8, couleur_module(bit(format_encode, 8)))
for i in range(6):
couleur = couleur_module(bit(format_encode, 9 + i))
placer_module(img, 5 - i, 8, couleur)
for i in range(8):
placer_module(img, 20 - i, 8, couleur_module(bit(format_encode, i)))
for i in range(7):
placer_module(img, 8, 14 + i, couleur_module(bit(format_encode, 8 + i)))Ajouter le code suivant au fichier galois.py
def modulo(dividende, diviseur):
degre_diviseur = degre(diviseur)
degre_dividende = degre(dividende)
while degre_dividende >= degre_diviseur:
dividende = dividende ^ (diviseur << (degre_dividende - degre_diviseur))
degre_dividende = degre(dividende)
return dividendeAjouter le code suivant au fichier encodeur.py
import galois
def encode_format(mode, masque):
donnees = ((mode << 3) ^ masque) << 10
extra = galois.modulo(donnees, 0b10100110111)
return (donnees + extra) ^ 0b101010000010010