Afficher une image en Python sur l'écran de la brique EV3
Le logiciel de programmation par briques graphiques livré avec le kit du robot Lego MindStorm dispose de nombreuses images. Pour les utiliser, il faut le recopier dans le projet du programme.
En principe les fichiers des images Lego se trouvent dans le répertoire C:\Program Files\LEGO Software\LEGO MINDSTORMS EV3 Home Edition\Resources\BrickResources\Retail\Images\files.
Une bonne pratique consiste à créer un répertoire res dans le projet pour les ressources, que l'on peut subdiviser en deux sous répertoires images qui contient tous les fichiers des images utilisées par le projet et sounds pour les fichiers des sons.
Méthode d'affichage des images de la classe Display
L'affichage d'un fichier image s'effectue par l'invocation de la méthode display_image() de la classe Display. Cette instruction est équivalente à la brique graphique ci-dessous :
Elle est déclarée comme ci-dessous :
image_filename(filename, clear_screen=True, x1=0, y1=0, x2=None, y2=None)
Elle est déclarée comme ci-dessous :
image_filename(filename, clear_screen=True, x1=0, y1=0, x2=None, y2=None)
Programmation
import time
from ev3dev2.display import Display
SCREEN = Display()
def display_image(filename):
SCREEN.image_filename(filename)
SCREEN.update()
if __name__ == '__main__':
display_image('res/images/Eyes/Neutral.bmp')
time.sleep(3)
from ev3dev2.display import Display
SCREEN = Display()
def display_image(filename):
SCREEN.image_filename(filename)
SCREEN.update()
if __name__ == '__main__':
display_image('res/images/Eyes/Neutral.bmp')
time.sleep(3)
Explications
- La classe Display est importée à partir du module display de la bibliothèque ev3dev2.
- La classe Display n'est instanciée qu'une seule fois. Cette instance est affecté à une constante globale SCREEN.
- Pour afficher une image à partir d'un fichier, on invoque la méthode display_image() de la classe Display sur l'instance SCREEN. L'affichage n'est effectif que par l'invocation de la méthode update().
- Le paramètre de la méthode display_image() est une chaîne de caractères contenant le chemin relatif par rapport au fichier du programme Python qui l'utilise.
Commentaires
Enregistrer un commentaire