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

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

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.