Winform transparente + image avec nuances d'alpha

Résolu
cyrare Messages postés 20 Date d'inscription jeudi 14 avril 2005 Statut Membre Dernière intervention 18 décembre 2008 - 19 août 2005 à 19:09
cyrare Messages postés 20 Date d'inscription jeudi 14 avril 2005 Statut Membre Dernière intervention 18 décembre 2008 - 24 août 2005 à 13:15
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

cyrare Messages postés 20 Date d'inscription jeudi 14 avril 2005 Statut Membre Dernière intervention 18 décembre 2008
24 août 2005 à 13:15
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));

}
3
sebmafate Messages postés 4936 Date d'inscription lundi 17 février 2003 Statut Membre Dernière intervention 14 février 2014 37
22 août 2005 à 08:43
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
0
cyrare Messages postés 20 Date d'inscription jeudi 14 avril 2005 Statut Membre Dernière intervention 18 décembre 2008
24 août 2005 à 12:02
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.
0
Rejoignez-nous