Comment dessiner une ombre en C# [Résolu]

Signaler
Messages postés
4
Date d'inscription
vendredi 7 mai 2004
Statut
Membre
Dernière intervention
1 août 2005
-
Messages postés
4936
Date d'inscription
lundi 17 février 2003
Statut
Modérateur
Dernière intervention
14 février 2014
-
Bonjour,

Petit exercice apparemment tout bête, je voudrais dessiner derrière un
composant graphique en GDI+ une ombre transparente avec bord flou comme
celle des menus contextuels ou déroulants. Pour la transparence, pas de
pb, mais comment rendre l'effet de flou sur les bords

Merci d'avance.

6 réponses

Messages postés
4936
Date d'inscription
lundi 17 février 2003
Statut
Modérateur
Dernière intervention
14 février 2014
34
sinon pour rendre l'effet de flou en GDI+, et peut-être tout simple de dessiner 4 calques les uns au dessus des autres avec un décalage de 1px à chaque fois. Automatiquement, tu auras l'effet de flou.

Biensûr la couleur choisie aura une valeur Alpha permettant la transparence.


<HR>
Sébastien FERRAND

Blog : http://blogs.developpeur.org/sebmafate
Messages postés
805
Date d'inscription
jeudi 22 mai 2003
Statut
Membre
Dernière intervention
30 octobre 2010

Salut
Je pense que tu dois le dessiner toi même

YaoYao !!
1 + 1 = 10
Messages postés
4936
Date d'inscription
lundi 17 février 2003
Statut
Modérateur
Dernière intervention
14 février 2014
34
utilise la propriété CreateParams.
Il suffit d'ajouter (opérateur |) CS_DROPSHADOW au ClassName.

CS_DROPSHADOW vaut 0x20000.

Attention, ca ne fonctionne qu'avec Windows XP...


<HR>
Sébastien FERRAND

Blog : http://blogs.developpeur.org/sebmafate
Messages postés
4
Date d'inscription
vendredi 7 mai 2004
Statut
Membre
Dernière intervention
1 août 2005

Réponse à Fildomen:
C'est bien ce que je compte faire !!! Seulement j'aimerai savoir comment rendre l'effet de flou sur les bords.

Réponse à sebmafate:
Merci de ta réponse, mais le but est bien de dessiner l'ombre par programme en c#/GDI+, sans utiliser de spécificités de Windows XP : le résultat doit être le même sur n'importe quelle plateforme .NET : XP, 2000,...
Messages postés
4
Date d'inscription
vendredi 7 mai 2004
Statut
Membre
Dernière intervention
1 août 2005

J'espérais qu'il existe une solution plus "élégante", mais celle-ci a le mérite d'exister. Encore merci !
Messages postés
4936
Date d'inscription
lundi 17 février 2003
Statut
Modérateur
Dernière intervention
14 février 2014
34
de rien


<HR>
Sébastien FERRAND

Blog : http://blogs.developpeur.org/sebmafate