code Python pour optimiser l'affichage sur display OLED SSD1036
Posté : mar. 12 mai 2020 22:20
Bonsoir à tous,
J'utilise un affichage OLED SSD1306 128x64 connecté sur le port I2C d'un raspberry py zero, la librairie python pour gérer l'affichage est la librairie luma (toutefois, je pense qu'avec la librairie Adafruit ma question serait la même). Le fonctionnement est OK.
Je m'interroge par contre sur la meilleure façon de coder l'affichage en python car des parties de mon affichage ne changent jamais. Par exemple : le rectangle extérieur et le rectangle partie basse des 2 premières lignes draw.rectangle ci-dessous :
with canvas(device) as draw:
draw.rectangle((0, 0 ,127, 63), outline="white", fill="black")
draw.rectangle((0, 50 ,128, 64), outline="white", fill="white")
draw.text((34, 20), 'Hello World', font=font2, fill="white")
Ma question est de savoir comment éviter de redessiner à chaque fois les 2 rectangles pour ne changer que le texte hello world dans différentes fonctions. Est-il possible avec cette librairie ou une autre de rendre persistantes des parties de l'affichage pour n'en modifier que certaines.
Un autre exemple serait l'affichage d'une image d'un thermomètre où seule la valeur de la température change, sans recharger l'image à chaque rafraîchissement de la valeur numérique de température.
Merci d'avance pour votre aide.
Thierry
J'utilise un affichage OLED SSD1306 128x64 connecté sur le port I2C d'un raspberry py zero, la librairie python pour gérer l'affichage est la librairie luma (toutefois, je pense qu'avec la librairie Adafruit ma question serait la même). Le fonctionnement est OK.
Je m'interroge par contre sur la meilleure façon de coder l'affichage en python car des parties de mon affichage ne changent jamais. Par exemple : le rectangle extérieur et le rectangle partie basse des 2 premières lignes draw.rectangle ci-dessous :
with canvas(device) as draw:
draw.rectangle((0, 0 ,127, 63), outline="white", fill="black")
draw.rectangle((0, 50 ,128, 64), outline="white", fill="white")
draw.text((34, 20), 'Hello World', font=font2, fill="white")
Ma question est de savoir comment éviter de redessiner à chaque fois les 2 rectangles pour ne changer que le texte hello world dans différentes fonctions. Est-il possible avec cette librairie ou une autre de rendre persistantes des parties de l'affichage pour n'en modifier que certaines.
Un autre exemple serait l'affichage d'une image d'un thermomètre où seule la valeur de la température change, sans recharger l'image à chaque rafraîchissement de la valeur numérique de température.
Merci d'avance pour votre aide.
Thierry