Winform transparente + image avec nuances d'alpha [Résolu]

Signaler
Messages postés
20
Date d'inscription
jeudi 14 avril 2005
Statut
Membre
Dernière intervention
18 décembre 2008
-
Messages postés
20
Date d'inscription
jeudi 14 avril 2005
Statut
Membre
Dernière intervention
18 décembre 2008
-
Bonjour !



Je cherche à faire une winform de chargement pour mon application.
J'aimerai mettre sur une fenetre transparente, une image format png qui
à du dégradé d'alpha. (ombrage)



J'ai essayé de mettre ma form d'une couleur (vert pur), et de mettre
cette même couleur en clé de transparence, mais malheureusement,
l'ombrage donne du dégradé de vert, et donc qui s'affiche et c'est donc
super moche.



Avez vous une solution pour n'afficher qu'une image à l'écran, avec du
dégradé d'alpha ? En soit, c'est pas super grave, mais c'est pour
savoir s'il y a une solution... En fait, ça pourrait être utile pour
faire n'importe quelle IHM personnalisée, dont les contours sont
lissés...



Merci par avance ! :)

3 réponses

Messages postés
20
Date d'inscription
jeudi 14 avril 2005
Statut
Membre
Dernière intervention
18 décembre 2008

Je viens de trouver un tuto tout con pour réussir à faire ce que je
voulais !! Bon par contre il est en VB, donc je vous laisse le lien, et
je vous traduis les 2 fonctions.



Il faut impérativement que l'image soit embarquée dans le module et
pour un meilleur rendu il faut que l'image et la form aient la même
taille.

http://www.codeproject.com/Purgatory/SplashScreen.asp



protected override void OnPaint(PaintEventArgs e)

{



}



protected override void OnPaintBackground(PaintEventArgs pevent)

{

System.Resources.ResourceManager resources = new System.Resources.ResourceManager(typeof(formLoader));

System.Drawing.Graphics gfx = pevent.Graphics;

gfx.DrawImage(
((System.Drawing.Image)(resources.GetObject("$this.BackgroundImage")))
, new System.Drawing.Rectangle(0, 0, this.Width, this.Height));

}
Messages postés
4936
Date d'inscription
lundi 17 février 2003
Statut
Modérateur
Dernière intervention
14 février 2014
36
je te conseille d'aller lire ceci : http://www.codeproject.com/cs/media/CsTranspTutorial3.asp


<HR>
Sébastien FERRAND

Blog : http://blogs.developpeur.org/sebmafate
Messages postés
20
Date d'inscription
jeudi 14 avril 2005
Statut
Membre
Dernière intervention
18 décembre 2008

Merci Sébastien,



J'avais déjà vu ce tutorial, malheureusement, il n'apporte pas de réponse à ce que je veux faire.



Je voudrais faire comme la figure 3, mais sans que le bord soit
pixellisé, d'où l'utilisation de dégradé d'alpha. L'auteur du tutorial,
utilise une image png au tutorial 4, et il a le même problème que moi :
on voit le bleu autour du texte et de la lune, parce que c'est sa
couleur clé de transparence, et mettre un pixel alpha semi transparent
par dessus fait qu'on voit ce clé de transparence.



Bref tant pis, je suppose que ce n'est pas possible en C#. Ou pas simplement en tout cas.