Virtualdc ==> dessiner sans picturebox (bitblt, print, gradient, ellipse...) avec gdi32

Soyez le premier à donner votre avis sur cette source.

Vue 8 961 fois - Téléchargée 1 097 fois

Description

Salut, ce code est une classe qui permet de dessiner "en mémoire", donc en se passant d'une picturebox, puis d'appliquer ensuite notre dessin sur un contrôle grâce à son hDC.

L'avantage est évidemment la performance (bien plus rapide que de faire Picture1.Print....).

Cette classe comporte les fonctions suivantes :

- définition d'un Pen pour les dessins
- définition d'un Brush pour les dessins
- CreateMyDC (création du DC)
- PaintToDC (permet d'afficher l'image créée dans un controle)
- DrawImageToVirtualDC (permet d'ajouter une image dans le DC virtuel)
- DrawText (affichage de texte)
- DrawLine (traçage d'une ligne)
- DrawGradient (traçage d'un gradient)
- FillArea (remplissage d'une zone)
- InvertArea (inversion d'une zone)
- CreateFromPictureBox (création d'un DC virtuel directement depuis une PictureBox)
- Cls (efface)
- SetPixel (change la couleur d'un pixel)
- GetPixel (récupère la couleur d'un pixel)
- DrawFocusRect (trace un rectangle de focus)
- DrawEllipse (trace une ellipse)
- DrawRectangle (trace un rectangle)
- DrawRoundRectangle (rectangle à bords arrondis)
- DestroyDC (supprime le DC)

Cela a bien évidemment pour but d'optimiser les dessins (je l'ai fait pour mes vkUserControls).

Je tiens à préciser que je n'ai pas copié/volé le travail de PCPT !!
Je me suis inspiré de son travail (solide) pour débuter dans le domaine de GDI et réaliser ce que je voulais (ensemble complet de fonctions pour dessiner "en mémoire").
Cette source est donc issue du travail de PCPT (http://www.vbfrance.com/code.aspx?ID=43226), dont j'ai repris les fonctions importantes (hDCToPicture et CreateBitmapPicture). Je remercie évidemment PCPT !

Je suis novice dans l'utilisation de GDI, donc il peut manquer des optimisations et avoir des bugs ! N'hésitez pas à commenter et à noter ;)
@+

Source / Exemple :


'dans le zip

Conclusion :


Cela a bien évidemment pour but d'optimiser les dessins (je l'ai fait pour mes vkUserControls).
Cette source est issue du travail de PCPT (http://www.vbfrance.com/code.aspx?ID=43226), dont j'ai repris les fonctions importantes (hDCToPicture et CreateBitmapPicture).

Je suis novice dans l'utilisation de GDI, donc il peut manquer des optimisations et avoir des bugs ! N'hésitez pas à commenter ;)

Codes Sources

A voir également

Ajouter un commentaire

Commentaires

romagny13
Messages postés
710
Date d'inscription
lundi 10 janvier 2005
Statut
Membre
Dernière intervention
27 août 2014
2 -
Bon c'est quand qu'on voit une source de Violent_ken sur CShapfr.com en .net 2.0 :p ?
violent_ken
Messages postés
1822
Date d'inscription
mardi 31 mai 2005
Statut
Membre
Dernière intervention
26 octobre 2010
-
lol ;)

Faudrait que je quitte ce très cher VB6.... et çà c'est dur ;)
@+
Charles Racaud
Messages postés
3181
Date d'inscription
dimanche 15 février 2004
Statut
Membre
Dernière intervention
9 avril 2017
25 -
en DotNet, ha non pas ca. J'en suis d'ailleurs un peu déçu. Je te verrai beacoup mieux en C/C++.

Bonne métrise des api, beacoups de commentaires.
Très bien, comme d'habitude ^^
__
Kenji
cs_EBArtSoft
Messages postés
4531
Date d'inscription
dimanche 29 septembre 2002
Statut
Modérateur
Dernière intervention
22 avril 2019
5 -
Bien (ouai allez y passez tous a .net c'est trop bien :p )
BruNews
Messages postés
21042
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
13 -
ok EB, je vais dotnettifier aussi.
Enfin, dès que j'aurai le temps...

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.