image_reader_160x120.py

Created by diage-77

Created on October 23, 2026

37.8 KB

Décodeur Hexadécimal & Afficheur d’Images (NumWorks)

Un script d’optimisation bas niveau permettant d’afficher des images en nuances de gris sur l’écran de la calculatrice NumWorks à partir de données condensées en hexadécimal*.

(Note : Projet né d’un défi entre amis — « impossible de faire une galerie photo sur la NumWorks » — résolu le lendemain avec une démo technique fonctionnelle !)

Ce que contient ce fichier

  • Données d’images condensées : Stockage des pixels sous forme de chaînes de caractères hexadécimales (m = [...]), réduisant drastiquement l’empreinte mémoire pour tenir dans les 45 Ko de stockage SSD.

  • Parsing dynamique à la volée : Lecture et extraction des paires d’octets hexadécimaux pour les convertir instantanément en niveaux de gris (v = int("0x" + b[i:i+2], 0))).

  • Rendu matriciel adaptatif : Utilisation du module graphique kandinsky pour tracer les pixels mis à l’échelle (160x120 pixels logiques étirés sur 320x240).

Détails techniques & Astuces

  • Contournement des limites natives : MicroPython sur NumWorks ne possède pas de bibliothèque de gestion d’images pures ; ce script crée donc son propre format de compression bas niveau sans dépendance externe.

  • Mise à l’échelle matérielle : Le tracé en blocs 2x2 via fill_rect() permet de doubler la vitesse de rendu tout en conservant une excellente netteté visuelle.

(À noter : un plus gros projet de jeu RPG est en cours ce décodeur d’images n’est qu’une fondation de son fonctionnement.)


During your visit to our site, NumWorks needs to install "cookies" or use other technologies to collect data about you in order to:

With the exception of Cookies essential to the operation of the site, NumWorks leaves you the choice: you can accept Cookies for audience measurement by clicking on the "Accept and continue" button, or refuse these Cookies by clicking on the "Continue without accepting" button or by continuing your browsing. You can update your choice at any time by clicking on the link "Manage my cookies" at the bottom of the page. For more information, please consult our cookies policy.