Vb.net 2005 et gdi+ : led display, panneau de diodes : affichez un texte comme un sur un panneau de diodes!

Description

Ce code est un contrôle écrit en VB .Net 2005 et utilise GDI+ pour dessiner. Son utilité est la même qu'un Label, hormis son côté plus graphique.
Si vous avez déjà vu un afficheur à diodes (comme dans les aéroports) ce contrôle y ressemble. Cette classe hérite de toutes les propriétés de UserControl. Le dessin du contrôle utilise un thread séparé.

Parmis les propriétés disponibles :

- Couleur des diodes (propriété ForeColor)
- Couleur du fond (propriété BackgroundColor)
- Couleur de la grille (propriété GridColor)
- Texte à afficher (propriété MyText)
- Police du texte à afficher (propriété Font)
- Type de déplacement du texte (Aucun, droite vers la gauche, gauche vers la droite : propriété MoveType)
- Vitesse du déplacement (intervalle de temps entre 2 mouvements en millisecondes: propriété TimeInterval)

Ce code sera utile pour ceux qui s'intéressent à la programmation avec GDI+, savoir comment on peut travailler avec du texte et des images en mémoire avant d'afficher le résultat, ceux qui s'intéressent à faire un dessin de contrôle dans un thread séparé...

Source / Exemple :


Trop de code à poster... Téléchargez le zip.

Sinon voici l'idée générale et simplifiée du dessin du contrôle :

En mémoire :
- Dessiner la grille dans une zone mémoire
- Dessiner le texte tel quel (couleur et police) dans une autre zone mémoire
- Copier chaque pixel du précédent texte dans une nouvelle zone mémoire, en écartant les pixels (en multipliant leur position X et Y par 3). Ceci sera nos diodes.

A l'écran :
- Dessiner la grille précédemment construite
- Dessiner les diodes

Conclusion :


Je n'ai pas trouvé de bugs, mais si vous en trouviez, merci de me le faire savoir ;)

Codes Sources

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.