Informações

Autores Rémi Van Boxem
Contact Contact link
Prazo de entrega 13/03/2026 23:59:59
Limite de submissão No limitation
Category tags devoir1

Entrar

Question 6 (2 points)

En vous basant sur vos connaissances du format BMP acquises précédemment, écrivez un programme Python qui génère un fichier BMP représentant la matrice de points jaunes.

Votre programme doit prendre en entrée :

  • La date et l'heure d'impression
  • Le numéro de série de l'imprimante (6 caractères ASCII).
  • Le nom d'utilisateur (6 caractères ASCII).
  • Une image BMP ayant 300 pixels de large et 200 pixels de hauteur. Il peut s'agir par exemple du drapeau Belge généré précédemment.

Votre programme doit générer un nouveau fichier BMP reprenant l'image BMP donnée en entrée, à laquelle certains pixels sont modifiés en un ensemble de points jaunes encodant les autres informations données en entrée (date, heure, numéro de série, nom d'utilisateur).

Le point jaune au coin supérieur gauche se situe à la coordonnée \((30,160)\) de l'image BMP.

Par construction, les informations se trouvent dans une zone de taille \(8 \times 22\) de l'image originale.


Questão 1: Complétez le script ci-dessous
  • Le code doit pouvoir fonctionner sous Python 3.8.8.
  • Une seule soumission est enregistrée par étudiant : seule la dernière sera évaluée.
  • De plus, INGInious vérifie que votre rendu est interprétable, mais pas qu'il est solution du problème. Une note de 100 ne sera donc pas représentative de votre note finale. Un code non interprétable entraînera directement une note de 0 pour l'exercice.

Vous trouverez ci-dessous un snippet de code contenant une base pour vous aider. Vous pouvez si vous le souhaitez la réutiliser ou, au contraire, commencer de zéro.

Nous attendons l'usage suivant :

usage: embed_dots.py [-h] DATETIME SERIAL USERNAME INPUT_BMP OUTPUT_BMP

Example: python3 embed_dots.py "15/11/2025 14:42" "S3CUR3" "R3MI_X" belgian_flag.bmp output.bmp

Questão 2: Insérer ici votre BMP en Base 64

Sur macOS et Linux, vous pouvez utiliser l'utilitaire base64 pour vous aider.

  • Sur Linux : base64 image.bmp
  • Sur macOS : base64 -i image.bmp
  • Sur Windows (via PowerShell) : [Convert]::ToBase64String([IO.File]::ReadAllBytes("image.bmp"))