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

Soyez le premier à donner votre avis sur cette source.

Vue 15 815 fois - Téléchargée 1 828 fois

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

Ajouter un commentaire

Commentaires

GabSoftware
Messages postés
72
Date d'inscription
jeudi 6 mai 2004
Statut
Membre
Dernière intervention
14 novembre 2008
-
Ah il suffisait d'enlever le S à CachedBitmaps pour trouver toute la doc rêvée.

Essaies donc de regarder ici pour voir si tu trouves ton bonheur : http://search.msdn.microsoft.com/search/Default.aspx?brand=msdn&query=cachedbitmap
GabSoftware
Messages postés
72
Date d'inscription
jeudi 6 mai 2004
Statut
Membre
Dernière intervention
14 novembre 2008
-
Alors :
- "Je maitrise GDI+" : je ne vois pas où j'ai pu écrire ça. En plus ce n'est pas vrai du tout ;)
- J'utilise GDI+ par l'intermédiaire du Framework .net
- Le Graphics managé est aussi performant que le non managé je pense
- Par CachedBitmaps, si tu veux dire, dessiner dans un buffer puis l'afficher à l'écran lorsqu'il est tout dessiné, alors c'est ce que je fais, ça évite le flickering. En ce qui concerne les CachedBitmaps, je n'ai pas réussi à trouver de documentation sur le web pour le moment (peut être que cela a été déprécié par MS ?) mais je tâcherai de me renseigner plus.
- Peux-tu dire ce que tu veux faire ? Car si on le programme bien, le Graphics managé est très performant.
Kevin.Ory
Messages postés
843
Date d'inscription
mercredi 22 octobre 2003
Statut
Membre
Dernière intervention
7 janvier 2009
5 -
Très beau rendu effectivement, je te met 9

Mais je me permet de critiquer le fait que tu prétend utiliser GDI+. Toi tu utilise les fonctions graphiques du framework .NET, qui elles utilisent GDI+, donc de la à dire "Je maitrise GDI+", c'est bcp dire ;)

En fait je suis tombé sur ta source car moi je veux vraiment utiliser GDI+, c'est à dire gdiplus.dll, car le Graphics managé n'est pas assez performant pour ce que je veux faire (me faut des CachedBitmaps)... j'y avait presque cru ;p
cs_Dnx
Messages postés
16
Date d'inscription
jeudi 9 octobre 2003
Statut
Membre
Dernière intervention
16 juillet 2007
-
Très bon boulot gabmatrix!!! vraiment excellente source!
félicitation, 10/10!

aybe81, j'ai hâte de voir ta version modifiée... :)
aybe81
Messages postés
29
Date d'inscription
lundi 20 mars 2006
Statut
Membre
Dernière intervention
10 novembre 2009
-
Je n'oublierais pas de donner crédit à mes sources,

Très bon concept, en fait il y a certaines parties
du code que je n'ai pas totalement dechiffré,
J'attends de vraiment connaître le déroulement des événements
car les rajouts que j'ai fait, doivent visiblement être placés
très précisement, sinon ca fonctionne mal.

J'ai commencé à me pencher sur des thèmes de couleurs à ajouter ...

En ce moment je fais autre chose mais
je vais m'y remettre bientôt et le finaliser :-)

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.