Comment dessiner une ombre en C#

Résolu
antoinebo Messages postés 4 Date d'inscription vendredi 7 mai 2004 Statut Membre Dernière intervention 1 août 2005 - 31 juil. 2005 à 16:26
sebmafate Messages postés 4936 Date d'inscription lundi 17 février 2003 Statut Membre Dernière intervention 14 février 2014 - 1 août 2005 à 15:34
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

sebmafate Messages postés 4936 Date d'inscription lundi 17 février 2003 Statut Membre Dernière intervention 14 février 2014 36
1 août 2005 à 14:20
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
3
Fildomen Messages postés 805 Date d'inscription jeudi 22 mai 2003 Statut Membre Dernière intervention 30 octobre 2010
31 juil. 2005 à 18:56
Salut
Je pense que tu dois le dessiner toi même

YaoYao !!
1 + 1 = 10
0
sebmafate Messages postés 4936 Date d'inscription lundi 17 février 2003 Statut Membre Dernière intervention 14 février 2014 36
1 août 2005 à 06:21
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
0
antoinebo Messages postés 4 Date d'inscription vendredi 7 mai 2004 Statut Membre Dernière intervention 1 août 2005
1 août 2005 à 11:41
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,...
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
antoinebo Messages postés 4 Date d'inscription vendredi 7 mai 2004 Statut Membre Dernière intervention 1 août 2005
1 août 2005 à 14:58
J'espérais qu'il existe une solution plus "élégante", mais celle-ci a le mérite d'exister. Encore merci !
0
sebmafate Messages postés 4936 Date d'inscription lundi 17 février 2003 Statut Membre Dernière intervention 14 février 2014 36
1 août 2005 à 15:34
de rien


<HR>
Sébastien FERRAND

Blog : http://blogs.developpeur.org/sebmafate
0
Rejoignez-nous