Dessin sur interface graphique
Bonjour,
J'aimerais faire un programme python qui affiche un dessin dans une matrice de 5x5 LEDs.
Pour cela, j'aimerais que le programme ouvre une interface graphique dans laquelle je dessine ce que je veux. Puis le dessin sera pixelisé de façon à que j'ai une grille de 5x5 pixels. Ainsi chaque pixel équivaut à une LED. Et pour finir que les LED reproduise le dessin.
Mon problème est que je ne sais pas comment faire une interface graphique de dessin.
Si vous savez comment on le fait pouvez-vous m'aider s'il vous plait ?
PS: pour la pixellisation je compte utiliser la bibliothèque PIL.
J'aimerais faire un programme python qui affiche un dessin dans une matrice de 5x5 LEDs.
Pour cela, j'aimerais que le programme ouvre une interface graphique dans laquelle je dessine ce que je veux. Puis le dessin sera pixelisé de façon à que j'ai une grille de 5x5 pixels. Ainsi chaque pixel équivaut à une LED. Et pour finir que les LED reproduise le dessin.
Mon problème est que je ne sais pas comment faire une interface graphique de dessin.
Si vous savez comment on le fait pouvez-vous m'aider s'il vous plait ?
PS: pour la pixellisation je compte utiliser la bibliothèque PIL.
A voir également:
- Dessin sur interface graphique
- Changer carte graphique - Guide
- Dessin clavier zizi ✓ - Forum Programmation
- Dessin au clavier cannabis ✓ - Forum Réseaux sociaux
- Dessin chat twitch ✓ - Forum Mail
- Comment faire un graphique sur excel - Guide
3 réponses
Bonjour,
Si tu utilises un client python graphique genre
Tu peux dans ce cas directement utiliser
Ci-dessous on dessine une matrice de 2 lignes et 3 colonnes :
Quelques explications :
Bonne chance
Si tu utilises un client python graphique genre
jupyter notebookou
jupyter lab, inutile de t'embêter à faire une interface graphique, tu peux directement afficher ta matrice de pixel dans le notebook. C'est à mon avis le plus simple.
Tu peux dans ce cas directement utiliser
matplotlib(voir cette discussion).
Ci-dessous on dessine une matrice de 2 lignes et 3 colonnes :
from matplotlib import pyplot as plt
import numpy as np
pixels = [
[[255, 0, 0], [0, 255, 0], [255, 255, 0]], # red, green, yellow
[[0, 0, 255], [0, 0, 0], [255, 255, 255]] # blue, black, white
]
image = np.array(pixels, dtype=np.uint8)
plt.imshow(image, interpolation='none')
plt.axis('off')
plt.show()
Quelques explications :
- On utilise
numpy
pour avoir un tableau de taille M x N x 3 (M lignes de pixels, N colonnes de pixels, 3 canaux pour les couleurs, dans l'ordre RGB (red, green, blue)). Les entiers contenus dans ce tableaux sont des uint8 (entiers non signés sur 8 bits) ce qui signifie que les valeurs valides sont entre 0 et 255. - On efface les axes car ils ne servent à rien, puis on affiche le graphe.
Bonne chance
Comme je le disais plus haut, si tu utilises jupyter lab ou jupyter notebook (qui s'ouvrent dans ton navigateur), tu écris ton code python dans un notebook. Un notebook c'est un peu comme un interpréteur python classique, sauf que comme il est dans le navigateur, tu peux afficher des dessins.
Voilà à quoi ça ressemble :

Bonne chance
Voilà à quoi ça ressemble :

Bonne chance